prove that [n;k]Grp is an (n+1)-type
This commit is contained in:
parent
d5a0080355
commit
d7b8530718
2 changed files with 31 additions and 1 deletions
|
@ -6,7 +6,7 @@ Authors: Ulrik Buchholtz, Egbert Rijke, Floris van Doorn
|
|||
Formalization of the higher groups paper
|
||||
-/
|
||||
|
||||
import .move_to_lib
|
||||
import .pointed_pi
|
||||
open eq is_conn pointed is_trunc trunc equiv is_equiv trunc_index susp nat algebra
|
||||
prod.ops sigma sigma.ops
|
||||
namespace higher_group
|
||||
|
@ -240,4 +240,21 @@ definition ωStabilize (G : [n;k]Grp) : [n;ω]Grp :=
|
|||
|
||||
/- to do: adjunction (and ωStabilize ∘ ωForget =?= id) -/
|
||||
|
||||
definition is_trunc_Grp (n k : ℕ) : is_trunc (n + 1) [n;k]Grp :=
|
||||
begin
|
||||
apply @is_trunc_equiv_closed_rev _ _ (n + 1) (Grp_equiv n k),
|
||||
apply is_trunc_succ_intro, intros X Y,
|
||||
apply @is_trunc_equiv_closed_rev _ _ _ (ptruncconntype_eq_equiv X Y),
|
||||
apply @is_trunc_equiv_closed_rev _ _ _ (pequiv.sigma_char_equiv' X Y),
|
||||
apply @is_trunc_subtype (X →* Y) (λ f, trunctype.mk' -1 (is_equiv f)),
|
||||
apply is_trunc_pmap_of_is_conn X k.-2 (n + 1).-2 (n + k) Y,
|
||||
{ clear X Y, induction k with k IH,
|
||||
{ induction n with n IH,
|
||||
{ apply le.refl },
|
||||
{ exact trunc_index.succ_le_succ IH } },
|
||||
{ rewrite (trunc_index.succ_add_plus_two (nat.succ k).-2 (n + 1).-2),
|
||||
exact trunc_index.succ_le_succ IH } },
|
||||
{ exact _ }
|
||||
end
|
||||
|
||||
end higher_group
|
||||
|
|
|
@ -620,6 +620,19 @@ begin
|
|||
refine !idp_con ⬝ _, reflexivity },
|
||||
end
|
||||
|
||||
definition pequiv.sigma_char_equiv' [constructor] (X Y : Type*) :
|
||||
(X ≃* Y) ≃ Σ(f : X →* Y), is_equiv f :=
|
||||
begin
|
||||
fapply equiv.MK,
|
||||
{ intro e, exact ⟨ pequiv.to_pmap e , pequiv.to_is_equiv e ⟩ },
|
||||
{ intro w, exact pequiv_of_pmap w.1 w.2 },
|
||||
{ intro w, induction w with f p, fapply sigma_eq,
|
||||
{ reflexivity }, { apply is_prop.elimo } },
|
||||
{ intro e, apply pequiv_eq, fapply phomotopy.mk,
|
||||
{ intro x, reflexivity },
|
||||
{ refine !idp_con ⬝ _, reflexivity } }
|
||||
end
|
||||
|
||||
definition pType_eq_equiv (X Y : Type*) : (X = Y) ≃ (X ≃* Y) :=
|
||||
begin
|
||||
refine eq_equiv_fn_eq pType.sigma_char' X Y ⬝e !sigma_eq_equiv ⬝e _, esimp,
|
||||
|
|
Loading…
Reference in a new issue