changeset 122:61310d395c1b

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 04 Sep 2020 17:05:15 +0900
parents 54035eed6b9b
children 465c42c9a99e
files Solvable.agda sym3.agda
diffstat 2 files changed, 33 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/Solvable.agda	Fri Sep 04 12:37:54 2020 +0900
+++ b/Solvable.agda	Fri Sep 04 17:05:15 2020 +0900
@@ -43,6 +43,8 @@
 
 import Relation.Binary.Reasoning.Setoid as EqReasoning
 
+open EqReasoning (Algebra.Group.setoid G)
+
 lemma4 : (g h : Carrier ) → [ h , g ] ≈ [ g , h ] ⁻¹
 lemma4 g h = begin
        [ h , g ]                               ≈⟨ grefl ⟩
@@ -54,7 +56,7 @@
        h ⁻¹ ∙ (g ⁻¹ ∙   h ⁻¹ ∙ g) ⁻¹           ≈⟨ lemma5 (g ⁻¹ ∙ h ⁻¹ ∙ g) h ⟩
        (g ⁻¹ ∙ h ⁻¹ ∙   g ∙ h) ⁻¹              ≈⟨ grefl ⟩
        [ g , h ]  ⁻¹                  
-     ∎ where open EqReasoning (Algebra.Group.setoid G)
+     ∎ 
 
 deriving-mul : { i : ℕ } → { x y : Carrier } → deriving i x → deriving i y  → deriving i ( x ∙ y )
 deriving-mul {zero} {x} {y} _ _ = lift tt
@@ -74,7 +76,7 @@
        (g ⁻¹   ∙   g ∙ ε     )                ≈⟨ ∙-cong (proj₁ inverse _ )   grefl ⟩
        (  ε  ∙ ε     )                        ≈⟨  proj₂ identity _  ⟩
        ε
-     ∎ where open EqReasoning (Algebra.Group.setoid G)
+     ∎ 
 
 idcomtl : (g  : Carrier ) → [ ε ,  g ] ≈ ε 
 idcomtl g  = begin
@@ -83,10 +85,23 @@
        (ε  ∙ g  ⁻¹ ∙    g )                  ≈⟨ ∙-cong (proj₁ identity _) grefl ⟩
        (g ⁻¹   ∙    g     )                ≈⟨  proj₁ inverse _ ⟩
        ε
-     ∎ where open EqReasoning (Algebra.Group.setoid G)
+     ∎ 
 
-comm-cong-l : {g h h1 : Carrier } → h ≈ h1   → [ h , g ] ≈ [ h1 , g ] 
-comm-cong-l {g} {h} {h1} h=h1 =  ∙-cong (∙-cong (∙-cong (⁻¹-cong h=h1 ) grefl ) h=h1 ) grefl
+comm-refl : {f g : Carrier } → f ≈ g  → [ f ,  g ] ≈ ε 
+comm-refl {f} {g} f=g = begin
+       f ⁻¹ ∙ g ⁻¹ ∙   f ∙ g
+     ≈⟨ ∙-cong (∙-cong (∙-cong (⁻¹-cong f=g ) grefl ) f=g ) grefl ⟩
+       g ⁻¹ ∙ g ⁻¹ ∙   g ∙ g
+     ≈⟨ ∙-cong (assoc _ _ _ ) grefl  ⟩
+       g ⁻¹ ∙ (g ⁻¹ ∙   g ) ∙ g
+     ≈⟨ ∙-cong (∙-cong grefl (proj₁ inverse _) ) grefl ⟩
+       g ⁻¹ ∙ ε  ∙ g 
+     ≈⟨ ∙-cong (proj₂ identity _) grefl  ⟩
+       g ⁻¹ ∙  g 
+     ≈⟨  proj₁ inverse _  ⟩
+       ε
+     ∎ 
 
-comm-cong-r : {g h g1 : Carrier } → g ≈ g1 → [ h , g ] ≈ [ h , g1 ] 
-comm-cong-r {g} {h} {g1} g=g1 = ∙-cong (∙-cong (∙-cong grefl (⁻¹-cong g=g1) ) grefl ) g=g1
+comm-resp : {g h g1 h1  : Carrier } → g ≈ g1  → h ≈ h1 → [ g , h ] ≈ [ g1 , h1 ] 
+comm-resp {g} {h} {g1} {h1} g=g1 h=h1 =  ∙-cong (∙-cong (∙-cong (⁻¹-cong g=g1 ) (⁻¹-cong h=h1 )) g=g1 ) h=h1
+
--- a/sym3.agda	Fri Sep 04 12:37:54 2020 +0900
+++ b/sym3.agda	Fri Sep 04 17:05:15 2020 +0900
@@ -69,6 +69,9 @@
    p43=0 : ( p4  ∘ₚ p3 ) =p= pid
    p43=0 = pleq _ _ refl
 
+   pFL : ( g : Permutation 3 3) → { x : FL 3 } →  perm→FL g ≡ x → g =p=  FL→perm x
+   pFL g {x} refl = ptrans (psym (FL←iso g)) ( FL-inject refl ) 
+
    open ≡-Reasoning
 
    st01 : ( x y : Permutation 3 3) →   x =p= p3 →  y =p= p3 → x ∘ₚ  y =p= p4 
@@ -82,15 +85,14 @@
 
    st02 :  ( g h : Permutation 3 3) →  ([ g , h ] =p= pid) ∨ ([ g , h ] =p= p3) ∨ ([ g , h ] =p= p4)
    st02 g h with perm→FL g | perm→FL h | inspect perm→FL g | inspect perm→FL h
-   ... | (zero :: (zero :: (zero :: f0))) | t | record { eq = ge } | te = case1 (record { peq = λ q → begin (
-          [ g , h ] ⟨$⟩ʳ q
-       ≡⟨ ( peq (comm-cong-l {h} {g} {pid} (FL-inject ge )) ) q ⟩
-          [ pid , h ] ⟨$⟩ʳ q
-       ≡⟨ peq (idcomtl h) q  ⟩
-          q
-       ∎ ) } )
-   ... | s | (zero :: (zero :: (zero :: f0))) | se |  record { eq = he } =
-          case1 (record { peq = λ q → trans (( peq (comm-cong-r {h} {g} {pid} (FL-inject he )) ) q) (peq (idcomtr g) q) } )
+   ... | (zero :: (zero :: (zero :: f0))) | t | record { eq = ge } | te = case1 (ptrans (comm-resp {g} {h} {pid} (FL-inject ge ) prefl ) (idcomtl h) )
+   ... | s | (zero :: (zero :: (zero :: f0))) | se |  record { eq = he } = case1 (ptrans (comm-resp {g} {h} {_} {pid} prefl (FL-inject he ))(idcomtr g) )
+   ... | (zero :: (suc zero) :: (zero :: f0 )) |  (zero :: (suc zero) :: (zero :: f0 )) |  record { eq = ge } |  record { eq = he } =
+         case1 (ptrans (comm-resp (pFL g  ge) (pFL h he) ) (comm-refl {FL→perm (zero :: (suc zero) :: (zero :: f0 ))} prefl ))
+   ... | (suc zero) :: (zero :: (zero :: f0 )) | (suc zero) :: (zero :: (zero :: f0 )) |  record { eq = ge } |  record { eq = he } =
+         case1 (ptrans (comm-resp (pFL g  ge) (pFL h he) ) (comm-refl {FL→perm ((suc zero) :: (zero :: (zero :: f0 )))} prefl ))
+   ... | (suc zero) :: (suc zero :: (zero :: f0 )) |  (suc zero) :: (suc zero :: (zero :: f0 )) |  record { eq = ge } |  record { eq = he } =
+         case1 (ptrans (comm-resp (pFL g  ge) (pFL h he) ) (comm-refl {FL→perm ((suc zero) :: (suc zero :: (zero :: f0 )))} prefl ))
    ... | (zero :: (suc zero) :: (zero :: f0 )) | t | se | te = {!!}
    ... | (suc zero) :: (zero :: (zero :: f0 )) | t | se | te = {!!}
    ... | (suc zero) :: (suc zero :: (zero :: f0 )) | t | se | te = {!!}