changeset 308:76c80a6ad4e6

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 11 Sep 2023 16:08:09 +0900
parents 7ef312aa0235
children 4dd130b93b21
files src/Homomorphism.agda
diffstat 1 files changed, 33 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/Homomorphism.agda	Mon Sep 11 09:02:40 2023 +0900
+++ b/src/Homomorphism.agda	Mon Sep 11 16:08:09 2023 +0900
@@ -299,7 +299,6 @@
     open IsGroupHomomorphism f-homo
     open EqReasoning (Algebra.Group.setoid H)
 
-
     h : Group.Carrier (G / K ) → Group.Carrier H
     h r = f r
     h03 : (x y : Group.Carrier (G / K ) ) →  h ( (G / K) < x ∙ y > ) ≈ h x ∙ h y
@@ -353,12 +352,12 @@
              isGroupHomomorphism = record {
                  isMonoidHomomorphism = record {
                       isMagmaHomomorphism = record {
-                         isRelHomomorphism = record { cong = λ {x} {y} eq → ? }
-                       ; homo = ? }
-                    ; ε-homo = ? }
-                   ; ⁻¹-homo = ? }
-               ; injective = λ x → ? }
-       ;  surjective = λ nx → ? , ?
+                         isRelHomomorphism = record { cong = λ {x} {y} eq → h04 eq }
+                       ; homo = homo }
+                    ; ε-homo = ε-homo }
+                   ; ⁻¹-homo = ⁻¹-homo  }
+               ; injective = λ eq → AN.ab⁻¹∈N→a=b G (Ker G H f-homo) (h06 eq) }
+       ;  surjective = λ nx → (IsImage.gelm (Nelm.Pelm nx)) , h07 nx
    } where
     open GK G (Ker G H f-homo) 
     open Group H
@@ -366,6 +365,33 @@
     open IsGroupHomomorphism f-homo
     open EqReasoning (Algebra.Group.setoid H)
     open Nelm
+    GC = Group.Carrier G 
+    h07 : (nx : Nelm H (Im G f-homo)) → f (IsImage.gelm (Nelm.Pelm nx)) ≈ elm nx
+    h07 nx = gsym ( IsImage.x=fg (Nelm.Pelm nx) )
+    h06 : {x y : GC} → f x ≈ f y → f (G < x ∙ Group._⁻¹ G y >) ≈ ε 
+    h06 {x} {y} fx=fy = begin
+        f (G < x ∙ Group._⁻¹ G y >) ≈⟨ homo _ _  ⟩
+        f x ∙ f (Group._⁻¹ G y ) ≈⟨ cdr (⁻¹-homo _) ⟩
+        f x ∙ f y ⁻¹ ≈⟨ car fx=fy ⟩
+        f y ∙ f y ⁻¹ ≈⟨ proj₂ inverse _ ⟩
+        ε  ∎
+    h = f
+    h04 : {x y : Group.Carrier G} → aNeq (Ker G H f-homo) x y → f x ≈ f y 
+    h04 {x} {y} x=y = h20  where
+        kf :  h (G < x ∙ (G Group.⁻¹) y >) ≈ ε
+        kf = begin
+           h (G < x ∙ (G Group.⁻¹) y >)  ≈⟨ AN.a=b→ab⁻¹∈N G (Ker G H f-homo) x=y ⟩
+           ε ∎
+        h20 : f x ≈ f y
+        h20 = begin 
+           h x ≈⟨ gsym (proj₂ identity _) ⟩
+           h x ∙ ε ≈⟨ cdr (gsym (proj₁ inverse _)) ⟩
+           h x ∙ ((h y) ⁻¹ ∙ h y) ≈⟨ solve monoid ⟩
+           (h x ∙ (h y) ⁻¹ ) ∙ h y ≈⟨ gsym (car (cdr (⁻¹-homo _ ))) ⟩
+           (h x ∙ h (Group._⁻¹ G y ))  ∙ h y ≈⟨ gsym (car (homo _ _)) ⟩
+           h (G < x ∙ (Group._⁻¹ G y ) > ) ∙ h y  ≈⟨ car kf ⟩ 
+           ε ∙ h y  ≈⟨ proj₁ identity _ ⟩ 
+           h y   ∎