working with Ulrik on basic group theory
This commit is contained in:
parent
f826a7a711
commit
392590bec8
1 changed files with 46 additions and 10 deletions
|
@ -155,7 +155,7 @@ namespace group
|
||||||
CommGroup.mk _ (comm_group_qg (normal_subgroup_rel_comm N))
|
CommGroup.mk _ (comm_group_qg (normal_subgroup_rel_comm N))
|
||||||
|
|
||||||
definition gq_map : G →g quotient_group N :=
|
definition gq_map : G →g quotient_group N :=
|
||||||
sorry
|
homomorphism.mk class_of (λ g h, idp)
|
||||||
|
|
||||||
namespace quotient
|
namespace quotient
|
||||||
notation `⟦`:max a `⟧`:0 := gq_map a _
|
notation `⟦`:max a `⟧`:0 := gq_map a _
|
||||||
|
@ -165,20 +165,56 @@ namespace group
|
||||||
variable {N}
|
variable {N}
|
||||||
|
|
||||||
definition gq_map_eq_one (g : G) (H : N g) : gq_map N g = 1 :=
|
definition gq_map_eq_one (g : G) (H : N g) : gq_map N g = 1 :=
|
||||||
sorry
|
begin
|
||||||
|
apply eq_of_rel,
|
||||||
|
have e : (g * 1⁻¹ = g),
|
||||||
|
from calc
|
||||||
|
g * 1⁻¹ = g * 1 : one_inv
|
||||||
|
... = g : mul_one,
|
||||||
|
unfold quotient_rel, rewrite e, exact H
|
||||||
|
end
|
||||||
|
|
||||||
definition rel_of_gq_map_eq_one (g : G) (H : gq_map N g = 1) : N g :=
|
definition rel_of_gq_map_eq_one (g : G) (H : gq_map N g = 1) : N g :=
|
||||||
sorry
|
begin
|
||||||
|
have e : (g * 1⁻¹ = g),
|
||||||
|
from calc
|
||||||
|
g * 1⁻¹ = g * 1 : one_inv
|
||||||
|
... = g : mul_one,
|
||||||
|
rewrite (inverse e),
|
||||||
|
apply rel_of_eq _ H
|
||||||
|
end
|
||||||
|
|
||||||
definition glift (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) : quotient_group N →g G' :=
|
definition quotient_group_elim (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) : quotient_group N →g G' :=
|
||||||
sorry
|
begin
|
||||||
|
fapply homomorphism.mk,
|
||||||
|
-- define function
|
||||||
|
{ apply set_quotient.elim f,
|
||||||
|
intro g h K,
|
||||||
|
apply eq_of_mul_inv_eq_one,
|
||||||
|
have e : f (g * h⁻¹) = f g * (f h)⁻¹,
|
||||||
|
from calc
|
||||||
|
f (g * h⁻¹) = f g * (f h⁻¹) : to_respect_mul
|
||||||
|
... = f g * (f h)⁻¹ : to_respect_inv,
|
||||||
|
rewrite (inverse e),
|
||||||
|
apply H, exact K},
|
||||||
|
{ intro g h, induction g using set_quotient.rec_prop with g,
|
||||||
|
induction h using set_quotient.rec_prop with h,
|
||||||
|
krewrite (inverse (to_respect_mul (gq_map N) g h)),
|
||||||
|
unfold gq_map, esimp, exact to_respect_mul f g h }
|
||||||
|
end
|
||||||
|
|
||||||
definition glift_gq_map (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) : glift f H ∘g gq_map N ~ f :=
|
definition quotient_group_compute (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) : quotient_group_elim f H ∘g gq_map N ~ f :=
|
||||||
sorry
|
begin
|
||||||
|
intro g, reflexivity
|
||||||
|
end
|
||||||
|
|
||||||
definition glift_unique (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) (g : quotient_group N →g G') :
|
definition glift_unique (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) (k : quotient_group N →g G')
|
||||||
g ~ glift f H :=
|
: ( k ∘g gq_map N ~ f ) → k ~ quotient_group_elim f H :=
|
||||||
sorry
|
begin
|
||||||
|
intro K cg, induction cg using set_quotient.rec_prop with g,
|
||||||
|
krewrite (quotient_group_compute f),
|
||||||
|
exact K g
|
||||||
|
end
|
||||||
|
|
||||||
definition gq_universal_property (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) :
|
definition gq_universal_property (f : G →g G') (H : Π⦃g⦄, N g → f g = 1) :
|
||||||
is_contr (Σ(g : quotient_group N →g G'), g ∘g gq_map N = f) :=
|
is_contr (Σ(g : quotient_group N →g G'), g ∘g gq_map N = f) :=
|
||||||
|
|
Loading…
Reference in a new issue