changeset 286:f257ab4afa51

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 29 Jan 2023 16:08:09 +0900
parents 515de7624a0c
children 1874c573682f
files src/FundamentalHomorphism.agda
diffstat 1 files changed, 46 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/FundamentalHomorphism.agda	Sun Jan 29 13:09:54 2023 +0900
+++ b/src/FundamentalHomorphism.agda	Sun Jan 29 16:08:09 2023 +0900
@@ -55,6 +55,8 @@
 -- import Axiom.Extensionality.Propositional
 -- postulate f-extensionality : { n m : Level}  → Axiom.Extensionality.Propositional.Extensionality n m
 
+open import Data.Empty
+open import Relation.Nullary
 
 record NormalSubGroup (A : Group c c )  : Set c  where
    open Group A
@@ -62,7 +64,7 @@
        ⟦_⟧ : Group.Carrier A → Group.Carrier A
        normal :  IsGroupHomomorphism (GR A) (GR A)  ⟦_⟧
        comm : {a b :  Carrier } → b ∙ ⟦ a ⟧  ≈ ⟦ a ⟧  ∙ b
-       --
+       -- because of ¬ ¬ Factor
        factor : (a b : Carrier) → Carrier
        is-factor : (a b : Carrier) →  b ∙ ⟦ factor a b ⟧ ≈ a
 
@@ -81,6 +83,49 @@
         n : Carrier 
         is-an : (x : Carrier) → an N n x
 
+record Factor (A : Group c c ) (N : NormalSubGroup A) (a b : Group.Carrier A )  : Set c  where
+   open Group A
+   open NormalSubGroup N
+   open IsGroupHomomorphism normal
+   field
+       factor : Carrier
+       is-factor : b ∙ ⟦ factor ⟧ ≈ a
+
+¬¬Factor : (A : Group c c ) (N : NormalSubGroup A) → ¬ ¬ ( (a b : Group.Carrier A )  →  Factor A N a b )
+¬¬Factor A N neg = ⊥-elim ( fa ( λ y → record { n = y ; is-an = λ x → record { a = x ∙ ⟦ y ⟧ ⁻¹ ; aN=x = f03 } }  ))  where
+   open Group A
+   open NormalSubGroup N
+   open IsGroupHomomorphism normal
+   open EqReasoning (Algebra.Group.setoid A)
+   open Gutil A
+   open aN
+   f03 : {x y : Carrier } → x ∙ ⟦ y ⟧ ⁻¹ ∙ ⟦ y ⟧ ≈ x
+   f03 {x} {y} = begin
+      x ∙ ⟦ y ⟧ ⁻¹ ∙ ⟦ y ⟧ ≈⟨ ? ⟩ 
+      x ∙ ( ⟦ y ⟧ ⁻¹ ∙ ⟦ y ⟧)  ≈⟨ ? ⟩ 
+      x ∎
+   fa : ¬ ( (x : Carrier) →  aN N ) 
+   fa f = neg ( λ a b →  record { factor = n (f ( a ∙ b ⁻¹)) ; is-factor = fa01 a b }  ) where
+        fa01 : (a b : Carrier ) →  b ∙  ⟦ n (f ( a ∙ b ⁻¹)) ⟧ ≈ a 
+        fa01 a b = begin
+           b ∙ ⟦ n  (f ( a ∙ b ⁻¹)) ⟧  ≈⟨ ? ⟩ 
+           b ∙ (ε ∙ ⟦ n  (f ( a ∙ b ⁻¹)) ⟧ ) ≈⟨ ? ⟩ 
+           b ∙ (( f02  ⁻¹ ∙  f02 ) ∙ ⟦ n  (f ( a ∙ b ⁻¹)) ⟧ ) ≈⟨ ? ⟩ 
+           b ∙ ( f02  ⁻¹ ∙ ( f02  ∙  ⟦ n  (f ( a ∙ b ⁻¹)) ⟧ ))  ≈⟨ cdr ( cdr ( an.aN=x (is-an  (f ( a ∙ b ⁻¹)) (f05 ∙ a)  )))  ⟩ 
+           b ∙ (f02 ⁻¹ ∙ ( f05  ∙ a))  ≈⟨ ? ⟩ 
+           b ∙ ( (f02 ⁻¹ ∙ f02 ) ∙ b ⁻¹)  ∙ a  ≈⟨ ? ⟩ 
+           b ∙ ( ε ∙ b ⁻¹)  ∙ a  ≈⟨ ? ⟩ 
+           b ∙ ( b ⁻¹ ∙ a )   ≈⟨ ? ⟩ 
+           (b ∙  b ⁻¹ ) ∙ a    ≈⟨ ? ⟩ 
+           ε ∙ a    ≈⟨ ? ⟩ 
+           a  ∎  where
+               f05 : Carrier
+               f05 = a ∙ b ⁻¹
+               f02 : Carrier
+               f02 = an.a (is-an (f (a ∙ b ⁻¹)) (f05 ∙ a))
+               f04 : f02 ∙ b ⁻¹ ≈ f05
+               f04 = ?
+
 _/_ : (A : Group c c ) (N  : NormalSubGroup A ) → Group c c
 _/_ A N  = record {
     Carrier  = aN N