kernels
This commit is contained in:
parent
f4a8a679c6
commit
fa25173a38
2 changed files with 38 additions and 10 deletions
|
@ -54,9 +54,9 @@ namespace group
|
|||
theorem respect_inv (φ : G₁ →g G₂) (g : G₁) : φ g⁻¹ = (φ g)⁻¹ :=
|
||||
eq_inv_of_mul_eq_one (!respect_mul⁻¹ ⬝ ap φ !mul.left_inv ⬝ !respect_one)
|
||||
|
||||
local attribute Pointed_of_Group [coercion]
|
||||
definition pmap_of_homomorphism [constructor] (φ : G₁ →g G₂) : G₁ →* G₂ :=
|
||||
pmap.mk φ !respect_one
|
||||
--local attribute Pointed_of_Group [coercion]
|
||||
--definition pmap_of_homomorphism [constructor] (φ : G₁ →g G₂) : G₁ →* G₂ :=
|
||||
--pmap.mk φ !respect_one
|
||||
|
||||
definition homomorphism_eq (p : group_fun φ ~ group_fun φ') : φ = φ' :=
|
||||
begin
|
||||
|
@ -72,10 +72,4 @@ namespace group
|
|||
definition homomorphism_id [constructor] (G : Group) : G → G :=
|
||||
homomorphism.mk id (λg h, idp)
|
||||
|
||||
|
||||
|
||||
-- TODO: maybe define this in more generality for pointed types?
|
||||
definition kernel [constructor] (φ : G₁ →g G₂) (g : G₁) : hprop := trunctype.mk (φ g = 1) _
|
||||
|
||||
|
||||
end group
|
||||
|
|
|
@ -8,7 +8,7 @@ Constructions of groups
|
|||
|
||||
import .basic hit.set_quotient types.sigma types.list types.sum
|
||||
|
||||
open eq algebra is_trunc set_quotient relation sigma sigma.ops prod prod.ops sum list trunc function
|
||||
open eq algebra is_trunc pi pointed set_quotient relation sigma sigma.ops prod prod.ops sum list trunc function
|
||||
equiv
|
||||
set_option class.force_new true
|
||||
namespace group
|
||||
|
@ -597,5 +597,39 @@ namespace group
|
|||
exact !respect_inv⁻¹}}
|
||||
end
|
||||
|
||||
section kernels
|
||||
|
||||
variables {G₁ G₂ : Group}
|
||||
|
||||
-- TODO: maybe define this in more generality for pointed types?
|
||||
definition kernel [constructor] (φ : G₁ →g G₂) (g : G₁) : hprop := trunctype.mk (φ g = 1) _
|
||||
|
||||
definition kernel_mul (φ : G₁ →g G₂) (g h : G₁) (H₁ : kernel φ g) (H₂ : kernel φ h) : kernel φ (g *[G₁] h) :=
|
||||
begin
|
||||
esimp at *,
|
||||
exact calc
|
||||
φ (g * h) = (φ g) * (φ h) : respect_mul
|
||||
... = 1 * (φ h) : H₁
|
||||
... = 1 * 1 : H₂
|
||||
... = 1 : one_mul
|
||||
end
|
||||
|
||||
definition kernel_inv (φ : G₁ →g G₂) (g : G₁) (H : kernel φ g) : kernel φ (g⁻¹) :=
|
||||
begin
|
||||
esimp at *,
|
||||
exact calc
|
||||
φ g⁻¹ = (φ g)⁻¹ : respect_inv
|
||||
... = 1⁻¹ : H
|
||||
... = 1 : one_inv
|
||||
end
|
||||
|
||||
definition kernel_subgroup (φ : G₁ →g G₂) : subgroup_rel G₁ :=
|
||||
⦃ subgroup_rel,
|
||||
R := kernel φ,
|
||||
Rone := respect_one φ,
|
||||
Rmul := kernel_mul φ,
|
||||
Rinv := kernel_inv φ
|
||||
⦄
|
||||
|
||||
end kernels
|
||||
end group
|
||||
|
|
Loading…
Reference in a new issue