prove that [n;k]Grp is an (n+1)-type

This commit is contained in:
Ulrik Buchholtz 2018-01-21 12:28:43 +01:00
parent d5a0080355
commit d7b8530718
2 changed files with 31 additions and 1 deletions

View file

@ -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

View file

@ -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,