changeset 123:465c42c9a99e

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 04 Sep 2020 18:33:25 +0900
parents 61310d395c1b
children 803a45b280ef
files sym3.agda
diffstat 1 files changed, 89 insertions(+), 46 deletions(-) [+]
line wrap: on
line diff
--- a/sym3.agda	Fri Sep 04 17:05:15 2020 +0900
+++ b/sym3.agda	Fri Sep 04 18:33:25 2020 +0900
@@ -42,13 +42,13 @@
    p5 =  FL→perm ((# 2) :: ((# 1) :: ((# 0 ) :: f0))) 
    t0  =  plist p0 ∷ plist p1 ∷  plist p2 ∷ plist p3 ∷ plist p4 ∷  plist p5 ∷ [] 
 
-   t1  =  plist [ p0 , p0 ] ∷ plist [ p1 , p0 ] ∷  plist [ p2 , p0 ] ∷ plist [ p3 , p0 ] ∷ plist [ p4 , p0 ] ∷  plist [ p5 , p1 ] ∷ 
-          plist [ p0 , p1 ] ∷ plist [ p1 , p1 ] ∷  plist [ p2 , p1 ] ∷ plist [ p3 , p1 ] ∷ plist [ p4 , p1 ] ∷  plist [ p5 , p1 ] ∷ 
-          plist [ p0 , p2 ] ∷ plist [ p1 , p2 ] ∷  plist [ p2 , p2 ] ∷ plist [ p3 , p2 ] ∷ plist [ p4 , p2 ] ∷  plist [ p5 , p2 ] ∷ 
-          plist [ p0 , p3 ] ∷ plist [ p1 , p3 ] ∷  plist [ p3 , p3 ] ∷ plist [ p3 , p3 ] ∷ plist [ p4 , p3 ] ∷  plist [ p5 , p3 ] ∷ 
-          plist [ p0 , p4 ] ∷ plist [ p1 , p4 ] ∷  plist [ p3 , p4 ] ∷ plist [ p3 , p4 ] ∷ plist [ p4 , p4 ] ∷  plist [ p5 , p4 ] ∷ 
-          plist [ p0 , p5 ] ∷ plist [ p1 , p5 ] ∷  plist [ p3 , p5 ] ∷ plist [ p3 , p5 ] ∷ plist [ p4 , p4 ] ∷  plist [ p5 , p5 ] ∷ 
-          []
+--   t1  =  plist [ p0 , p0 ] ∷ plist [ p1 , p0 ] ∷  plist [ p2 , p0 ] ∷ plist [ p3 , p0 ] ∷ plist [ p4 , p0 ] ∷  plist [ p5 , p1 ] ∷ 
+--          plist [ p0 , p1 ] ∷ plist [ p1 , p1 ] ∷  plist [ p2 , p1 ] ∷ plist [ p3 , p1 ] ∷ plist [ p4 , p1 ] ∷  plist [ p5 , p1 ] ∷ 
+--          plist [ p0 , p2 ] ∷ plist [ p1 , p2 ] ∷  plist [ p2 , p2 ] ∷ plist [ p3 , p2 ] ∷ plist [ p4 , p2 ] ∷  plist [ p5 , p2 ] ∷ 
+--          plist [ p0 , p3 ] ∷ plist [ p1 , p3 ] ∷  plist [ p3 , p3 ] ∷ plist [ p3 , p3 ] ∷ plist [ p4 , p3 ] ∷  plist [ p5 , p3 ] ∷ 
+--          plist [ p0 , p4 ] ∷ plist [ p1 , p4 ] ∷  plist [ p3 , p4 ] ∷ plist [ p3 , p4 ] ∷ plist [ p4 , p4 ] ∷  plist [ p5 , p4 ] ∷ 
+--          plist [ p0 , p5 ] ∷ plist [ p1 , p5 ] ∷  plist [ p3 , p5 ] ∷ plist [ p3 , p5 ] ∷ plist [ p4 , p4 ] ∷  plist [ p5 , p5 ] ∷ 
+--          []
 
    open _=p=_
    
@@ -69,53 +69,96 @@
    p43=0 : ( p4  ∘ₚ p3 ) =p= pid
    p43=0 = pleq _ _ refl
 
+   com33 : [ p3 , p3 ] =p= pid
+   com33 = pleq _ _ refl
+
+   com44 : [ p4 , p4 ] =p= pid
+   com44 = pleq _ _ refl
+
+   com34 : [ p3 , p4 ] =p= pid
+   com34 = pleq _ _ refl
+
+   com43 : [ p4 , p3 ] =p= pid
+   com43 = 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 
-   st01 x y s t = record { peq = λ q → ( begin
-         (x ∘ₚ y) ⟨$⟩ʳ q
-       ≡⟨ peq ( presp s t ) q ⟩
-          ( p3  ∘ₚ p3 ) ⟨$⟩ʳ q
-       ≡⟨ peq  p33=4 q  ⟩
-         p4 ⟨$⟩ʳ q
-       ∎ ) }
+--   st01 : ( x y : Permutation 3 3) →   x =p= p3 →  y =p= p3 → x ∘ₚ  y =p= p4 
+--   st01 x y s t = record { peq = λ q → ( begin
+--         (x ∘ₚ y) ⟨$⟩ʳ q
+--       ≡⟨ peq ( presp s t ) q ⟩
+--          ( p3  ∘ₚ p3 ) ⟨$⟩ʳ q
+--       ≡⟨ peq  p33=4 q  ⟩
+--         p4 ⟨$⟩ʳ q
+--       ∎ ) }
 
    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 (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 = {!!}
-   ... | (suc (suc zero)) :: (zero :: (zero :: f0 )) | t | se | te = {!!}
-   ... | (suc (suc zero)) :: (suc zero) :: (zero :: f0) | t | se | te = {!!}
+   st02 = {!!}
+--   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 (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 } = {!!}
+--   ... | (suc zero) :: (zero :: (zero :: f0 )) | (suc zero) :: (zero :: (zero :: f0 )) |  record { eq = ge } |  record { eq = he } = {!!}
+--   ... | (suc zero) :: (suc zero :: (zero :: f0 )) |  (suc zero) :: (suc zero :: (zero :: f0 )) |  record { eq = ge } |  record { eq = he } = {!!}
+--   ... | (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 = {!!}
+--   ... | (suc (suc zero)) :: (zero :: (zero :: f0 )) | t | se | te = {!!}
+--   ... | (suc (suc zero)) :: (suc zero) :: (zero :: f0) | t | se | te = {!!}
    
    stage12  :  (x : Permutation 3 3) → stage1 x →  ( x =p= pid ) ∨ ( x =p= p3 ) ∨ ( x =p= p4 )
-   stage12 x uni = case1 prefl
-   stage12 x (comm {g} {h} x1 y1 ) = st02 g h
-   stage12 _ (gen {x} {y} sx sy) with stage12 x sx | stage12 y sy 
-   ... | case1 t | case1 s = case1 ( record { peq = λ q → peq (presp t s) q} )
-   ... | case1 t | case2 (case1 s) = case2 (case1 ( record { peq = λ q → peq (presp t s ) q } )) 
-   ... | case1 t | case2 (case2 s) = case2 (case2 ( record { peq = λ q → peq (presp t s ) q } )) 
-   ... | case2 (case1 t) | case1 s = case2 (case1 ( record { peq = λ q → peq (presp t s ) q } )) 
-   ... | case2 (case2 t) | case1 s = case2 (case2 ( record { peq = λ q → peq (presp t s ) q } )) 
-   ... | case2 (case1 s) | case2 (case1 t) = case2 (case2 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p33=4 q) } ) 
-   ... | case2 (case1 s) | case2 (case2 t) = case1 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p34=0 q) }  
-   ... | case2 (case2 s) | case2 (case1 t) = case1 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p43=0 q) } 
-   ... | case2 (case2 s) | case2 (case2 t) = case2 (case1 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p44=3 q) } ) 
-   stage12 _ (ccong {y} x=y sx) with stage12 y sx
-   ... | case1 id = case1 ( ptrans (psym x=y ) id )
-   ... | case2 (case1 x₁) = case2 (case1 ( ptrans (psym x=y ) x₁ ))
-   ... | case2 (case2 x₁) = case2 (case2 ( ptrans (psym x=y ) x₁ ))
+   stage12 = {!!}
+--   stage12 x uni = case1 prefl
+--   stage12 x (comm {g} {h} x1 y1 ) = st02 g h
+--   stage12 _ (gen {x} {y} sx sy) with stage12 x sx | stage12 y sy 
+--   ... | case1 t | case1 s = case1 ( record { peq = λ q → peq (presp t s) q} )
+--   ... | case1 t | case2 (case1 s) = case2 (case1 ( record { peq = λ q → peq (presp t s ) q } )) 
+--   ... | case1 t | case2 (case2 s) = case2 (case2 ( record { peq = λ q → peq (presp t s ) q } )) 
+--   ... | case2 (case1 t) | case1 s = case2 (case1 ( record { peq = λ q → peq (presp t s ) q } )) 
+--   ... | case2 (case2 t) | case1 s = case2 (case2 ( record { peq = λ q → peq (presp t s ) q } )) 
+--   ... | case2 (case1 s) | case2 (case1 t) = case2 (case2 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p33=4 q) } ) 
+--   ... | case2 (case1 s) | case2 (case2 t) = case1 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p34=0 q) }  
+--   ... | case2 (case2 s) | case2 (case1 t) = case1 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p43=0 q) } 
+--   ... | case2 (case2 s) | case2 (case2 t) = case2 (case1 record { peq = λ q → trans (peq ( presp s t ) q) ( peq  p44=3 q) } ) 
+--   stage12 _ (ccong {y} x=y sx) with stage12 y sx
+--   ... | case1 id = case1 ( ptrans (psym x=y ) id )
+--   ... | case2 (case1 x₁) = case2 (case1 ( ptrans (psym x=y ) x₁ ))
+--   ... | case2 (case2 x₁) = case2 (case2 ( ptrans (psym x=y ) x₁ ))
+
 
    solved1 :  (x : Permutation 3 3) →  Commutator (λ x₁ → Commutator (λ x₂ → Lift (Level.suc Level.zero) ⊤) x₁) x → x =p= pid
-   solved1 = {!!}
+   solved1 _ uni = prefl
+   solved1 x (gen {f} {g} d d₁) with solved1 f d | solved1 g d₁
+   ... | record { peq = f=e } | record { peq = g=e } = record { peq = λ q → genlem q } where
+      genlem : ( q : Fin 3 ) → g ⟨$⟩ʳ ( f ⟨$⟩ʳ q ) ≡ q
+      genlem q = begin
+             g ⟨$⟩ʳ ( f ⟨$⟩ʳ q )
+          ≡⟨ g=e ( f ⟨$⟩ʳ q ) ⟩
+             f ⟨$⟩ʳ q 
+          ≡⟨ f=e q ⟩
+             q
+          ∎ 
+   solved1 x (ccong {f} {g} (record {peq = f=g}) d) with solved1 f d
+   ... | record { peq = f=e }  =  record  { peq = λ q → cc q } where
+      cc : ( q : Fin 3 ) → x ⟨$⟩ʳ q ≡ q
+      cc q = begin
+             x ⟨$⟩ʳ q
+          ≡⟨ sym (f=g q) ⟩
+             f ⟨$⟩ʳ q
+          ≡⟨ f=e q ⟩
+             q
+          ∎ 
+   solved1 _ (comm {g} {h} x y) with stage12 g x | stage12 h y
+   ... | case1 t | case1 s = ptrans (comm-resp t s) (comm-refl {pid} prefl)
+   ... | case1 t | case2 s = ptrans (comm-resp {g} {h} {pid} t prefl) (idcomtl h)
+   ... | case2 t | case1 s = ptrans (comm-resp {g} {h} {_} {pid} prefl s) (idcomtr g)
+   ... | case2 (case1 t) | case2 (case1 s) = record { peq = λ q → trans ( peq ( comm-resp {g} {h}  t s ) q ) (peq com33 q) }
+   ... | case2 (case2 t) | case2 (case2 s) = record { peq = λ q → trans ( peq ( comm-resp {g} {h}  t s ) q ) (peq com44 q) }
+   ... | case2 (case1 t) | case2 (case2 s) = record { peq = λ q → trans ( peq ( comm-resp {g} {h}  t s ) q ) (peq com34 q) }
+   ... | case2 (case2 t) | case2 (case1 s) = record { peq = λ q → trans ( peq ( comm-resp {g} {h}  t s ) q ) (peq com43 q) }
+
+   -- = ptrans ( comm-resp {g} {h}  t s ) ( comm-refl ? )