small additions to group theory

This commit is contained in:
Floris van Doorn 2018-09-14 17:56:16 +02:00
parent c534985d3f
commit 609da93df0
3 changed files with 15 additions and 8 deletions

View file

@ -433,7 +433,7 @@ namespace group
by rewrite [↑group_equiv_mul, ↑group_equiv_one, ↑group_equiv_inv,
+left_inv f, mul.left_inv]
definition group_equiv_closed : group B :=
definition group_equiv_closed [constructor] : group B :=
⦃group,
mul := group_equiv_mul,
mul_assoc := group_equiv_mul_assoc,
@ -451,7 +451,7 @@ namespace group
definition group_equiv_mul_comm (b b' : B) : group_equiv_mul f b b' = group_equiv_mul f b' b :=
by rewrite [↑group_equiv_mul, mul.comm]
definition ab_group_equiv_closed : ab_group B :=
definition ab_group_equiv_closed [constructor] : ab_group B :=
⦃ab_group, group_equiv_closed f,
mul_comm := group_equiv_mul_comm f⦄
end

View file

@ -203,7 +203,7 @@ namespace eq
/- todo: use is_succ -/
definition homotopy_group_isomorphism_of_pequiv [constructor] (n : ) {A B : Type*} (f : A ≃* B)
: πg[n+1] A ≃g πg[n+1] B :=
gtrunc_isomorphism_gtrunc (gloopn_isomorphism (n+1) f)
gtrunc_isomorphism_gtrunc (gloopn_isomorphism_gloopn (n+1) f)
definition homotopy_group_add (A : Type*) (n m : ) :
πg[n+m+1] A ≃g πg[n+1] (Ω[m] A) :=

View file

@ -171,7 +171,7 @@ namespace group
by rewrite [↑inf_group_equiv_mul, ↑inf_group_equiv_one, ↑inf_group_equiv_inv,
+left_inv f, mul.left_inv]
definition inf_group_equiv_closed : inf_group B :=
definition inf_group_equiv_closed [constructor] : inf_group B :=
⦃inf_group,
mul := inf_group_equiv_mul,
mul_assoc := inf_group_equiv_mul_assoc,
@ -183,6 +183,13 @@ namespace group
end
definition InfGroup_equiv_closed [constructor] (A : InfGroup) {B : Type} (f : A ≃ B) : InfGroup :=
InfGroup.mk B (inf_group_equiv_closed f _)
definition InfGroup_equiv_closed_isomorphism [constructor] (A : InfGroup) {B : Type} (f : A ≃ B) :
A ≃∞g InfGroup_equiv_closed A f :=
inf_isomorphism_of_equiv f (λa a', ap f (ap011 mul (to_left_inv f a) (to_left_inv f a'))⁻¹)
section
variables {A B : Type} (f : A ≃ B) (H : ab_inf_group A)
include H
@ -370,15 +377,15 @@ namespace group
notation `Ωg→` := gap1
notation `Ωg→[`:95 n:0 `]`:0 := gapn n
definition gloop_isomorphism {A B : Type*} (f : A ≃* B) : Ωg A ≃∞g Ωg B :=
definition gloop_isomorphism_gloop {A B : Type*} (f : A ≃* B) : Ωg A ≃∞g Ωg B :=
inf_isomorphism.mk (Ωg→ f) (to_is_equiv (loop_pequiv_loop f))
definition gloopn_isomorphism (n : ) [H : is_succ n] {A B : Type*} (f : A ≃* B) :
definition gloopn_isomorphism_gloopn (n : ) [H : is_succ n] {A B : Type*} (f : A ≃* B) :
Ωg[n] A ≃∞g Ωg[n] B :=
inf_isomorphism.mk (Ωg→[n] f) (to_is_equiv (loopn_pequiv_loopn n f))
notation `Ωg≃` := gloop_isomorphism
notation `Ωg≃[`:95 n:0 `]`:0 := gloopn_isomorphism
notation `Ωg≃` := gloop_isomorphism_gloop
notation `Ωg≃[`:95 n:0 `]`:0 := gloopn_isomorphism_gloopn
definition gloopn_succ_in (n : ) [H : is_succ n] (A : Type*) : Ωg[succ n] A ≃∞g Ωg[n] (Ω A) :=
inf_isomorphism_of_equiv (loopn_succ_in n A) (by induction H with n; exact loopn_succ_in_con)