feat(hott/homotopy): prove missing helper lemmas up to cube massaging

This commit is contained in:
Jakob von Raumer 2015-11-25 18:16:02 +00:00 committed by Leonardo de Moura
parent 811f3067ff
commit bd064ef9c8
2 changed files with 15 additions and 10 deletions

View file

@ -46,6 +46,12 @@ namespace eq
definition vdeg_square [unfold 6] {p q : a = a'} (r : p = q) : square p q idp idp :=
by induction r;apply vrefl
definition hdeg_square_idp (p : a = a') : hdeg_square (refl p) = hrfl :=
by cases p; reflexivity
definition vdeg_square_idp (p : a = a') : vdeg_square (refl p) = vrfl :=
by cases p; reflexivity
definition hconcat [unfold 16] (s₁₁ : square p₁₀ p₁₂ p₀₁ p₂₁) (s₃₁ : square p₃₀ p₃₂ p₂₁ p₄₁)
: square (p₁₀ ⬝ p₃₀) (p₁₂ ⬝ p₃₂) p₀₁ p₄₁ :=
by induction s₃₁; exact s₁₁

View file

@ -128,7 +128,7 @@ namespace join
(c : cube s₀₁₁ s₂₁₁ s₁₀₁ s₁₂₁ s₁₁₀ s₁₁₂) :
cube s₁₁₂⁻¹ᵛ vrfl (massage_sq s₁₀₁) (massage_sq s₁₂₁) s₁₁₀⁻¹ᵛ s₀₁₁⁻¹ᵛ :=
begin
unfold massage_sq, exact sorry
exact sorry,
end
private definition massage_massage {A : Type} {a₀₀ a₀₂ a₂₀ : A}
@ -226,11 +226,12 @@ namespace join
(g : Π a, f a = b) {x y : A} (p : x = y) {sq : square (g x) (g y) (ap f p) idp}
(q : apdo g p = eq_pathover (sq ⬝hp !ap_constant⁻¹)) : square_Flr_ap_idp _ _ = sq :=
begin
cases p, esimp at *, exact sorry
cases p, esimp at *, apply concat, apply inverse, apply vdeg_square_idp,
apply concat, apply ap vdeg_square, exact ap eq_of_pathover_idp q,
krewrite (is_equiv.right_inv (equiv.to_fun !pathover_idp)),
exact is_equiv.left_inv (equiv.to_fun (vdeg_square_equiv _ _)) sq,
end
--set_option pp.implicit true
private definition switch_inv_cube (a : A) (b : B) (c : C) :
cube (switch_inv_left_square a b) ids (square_Flr_ap_idp _ _)
(square_Flr_ap_idp _ _) (switch_inv_coh_left c a) (switch_inv_coh_right c b) :=
@ -282,12 +283,10 @@ namespace join
(e : apdo p q = eq_pathover sq) :
natural_square_tr p q = sq :=
begin
cases q, esimp at *,
apply concat, apply inverse, apply vdeg_square_idp,
assert H : refl (p y) = eq_of_vdeg_square sq,
{ exact sorry },
apply concat, apply ap vdeg_square, exact H,
apply is_equiv.left_inv (equiv.to_fun !vdeg_square_equiv),
cases q, esimp at *, apply concat, apply inverse, apply vdeg_square_idp,
apply concat, apply ap vdeg_square, apply ap eq_of_pathover_idp e,
krewrite (is_equiv.right_inv (equiv.to_fun !pathover_idp)),
exact is_equiv.left_inv (equiv.to_fun (vdeg_square_equiv _ _)) sq,
end
private definition switch_inv_coh (c : C) (k : join A B) :