33 lines
790 B
Text
33 lines
790 B
Text
|
import algebra.group data.set
|
||
|
namespace group_hom
|
||
|
open algebra
|
||
|
-- ⁻¹ in eq.ops conflicts with group ⁻¹
|
||
|
-- open eq.ops
|
||
|
open set
|
||
|
open function
|
||
|
local attribute set [reducible]
|
||
|
structure is_subgroup [class] {A : Type} (H : set A) : Type
|
||
|
|
||
|
section
|
||
|
variables {A B : Type}
|
||
|
variable [s1 : group A]
|
||
|
variable [s2 : group B]
|
||
|
include s1
|
||
|
include s2
|
||
|
definition is_hom (f : A → B) := ∀ a b, f (a*b) = (f a)*(f b)
|
||
|
|
||
|
variable f : A → B
|
||
|
variable Hom : is_hom f
|
||
|
definition ker : set A := λ a, (f a) = 1
|
||
|
|
||
|
lemma ker.has_one (Hom : is_hom f) : 1 ∈ ker f := sorry
|
||
|
theorem hom_map_one : f 1 = 1 := sorry
|
||
|
theorem hom_map_mul_closed (Hom : is_hom f) (H : set A) : unit :=
|
||
|
sorry
|
||
|
|
||
|
variable {H : set A}
|
||
|
variable [is_subgH : is_subgroup H]
|
||
|
include is_subgH
|
||
|
end
|
||
|
end group_hom
|