123 lines
2.1 KiB
Text
123 lines
2.1 KiB
Text
|
|
import .smash_adjoint
|
|
|
|
open bool pointed eq equiv is_equiv sum bool prod unit circle cofiber prod.ops wedge is_trunc
|
|
function red_susp unit smash
|
|
|
|
variables {A A' B B' C C' D E F X X' : Type*}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- definition concat2o {A B : Type} {f g h : A → B} {a₁ a₂ : A} {p₁ : f a₁ = g a₁} {p₂ : f a₂ = g a₂}
|
|
-- {q₁ : g a₁ = h a₁} {q₂ : g a₂ = h a₂} {r : a₁ = a₂} (s₁ : p₁ =[r] p₂) (s₂ : q₁ =[r] q₂) :
|
|
-- p₁ ⬝ q₁ =[r] p₂ ⬝ q₂ :=
|
|
-- apo011 (λx, concat) s₁ s₂
|
|
|
|
-- infixl ` ◾o' `:75 := concat2o
|
|
|
|
-- definition apd_con_fn {A B : Type} {f g h : A → B} {a₁ a₂ : A} (p : f ~ g) (q : g ~ h) (r : a₁ = a₂)
|
|
-- : apd (λa, p a ⬝ q a) r = apd p r ◾o' apd q r :=
|
|
-- begin
|
|
-- induction r, reflexivity
|
|
-- end
|
|
|
|
-- definition ap02o {A : Type} {B C : A → Type} {g h : Πa, B a} (f : Πa, B a → C a) {a₁ a₂ : A} {p₁ : g a₁ = h a₁}
|
|
-- {p₂ : g a₂ = h a₂} {q : a₁ = a₂} (r : p₁ =[q] p₂) : ap (f a₁) p₁ =[q] ap (f a₂) p₂ :=
|
|
-- apo (λx, ap (f x)) r
|
|
|
|
-- definition apo_eq_pathover {A A' B B' : Type} {a a' : A} {f g : A → B} {i : A → A'} {f' g' : A' → B'}
|
|
-- {p : a = a'} {q : f a = g a} (h : Πa, f a = g a → f' (i a) = g' (i a))
|
|
-- {r : f a' = g a'} (s : square q r (ap f p) (ap g p)) :
|
|
-- apo h (eq_pathover s) = eq_pathover _ :=
|
|
-- sorry
|
|
|
|
-- definition ap02o_eq_pathover {A A' B B' : Type} {a a' : A} {f g : A → B} {i : A → A'} {f' g' : A' → B'}
|
|
-- {p : a = a'} {q : f a = g a} (h : Πa, f a = g a → f' (i a) = g' (i a))
|
|
-- {r : f a' = g a'} (s : square q r (ap f p) (ap g p)) :
|
|
-- apo h (eq_pathover s) = eq_pathover _ :=
|
|
-- sorry
|
|
|
|
-- definition apd_ap_fn {A : Type} {B C : A → Type} {g h : Πa, B a} (f : Πa, B a → C a) (p : g ~ h)
|
|
-- {a₁ a₂ : A} (r : a₁ = a₂) : apd (λa, ap (f a) (p a)) r = ap02o f (apd p r) :=
|
|
-- begin
|
|
-- induction r; reflexivity
|
|
-- end
|
|
|
|
-- definition apd_ap_fn {A : Type} {B C : A → Type} {g h : Πa, B a} (f : Πa, B a → C a) (p : g ~ h)
|
|
-- {a₁ a₂ : A} (r : a₁ = a₂) : apd (λa, ap (f a) (p a)) r = ap02o f (apd p r) :=
|