changeset 97:f4ff8e352aa7

p=0
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 31 Aug 2020 07:18:54 +0900
parents b43c4a7c57d9
children 3a37a8f8cb39
files Putil.agda sym2.agda
diffstat 2 files changed, 70 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/Putil.agda	Sun Aug 30 08:40:31 2020 +0900
+++ b/Putil.agda	Mon Aug 31 07:18:54 2020 +0900
@@ -254,6 +254,52 @@
 t7 =  plist (pins {3} (n≤ 3)) ∷ plist (flip ( pins {3} (n≤ 3) )) ∷  plist ( pins {3} (n≤ 3)  ∘ₚ  flip ( pins {3} (n≤ 3))) ∷ []
 -- t8 =  {!!}
 
+open import logic 
+
+open _∧_
+
+perm1 :  {perm : Permutation 1 1 } {q : Fin 1}  → (perm ⟨$⟩ʳ q ≡ # 0)  ∧ ((perm ⟨$⟩ˡ q ≡ # 0))
+perm1 {p} {q} = ⟪ perm01 _ _ , perm00 _ _ ⟫ where
+   perm01 : (x y : Fin 1) → (p ⟨$⟩ʳ x) ≡  y
+   perm01 x y with p ⟨$⟩ʳ x
+   perm01 zero zero | zero = refl
+   perm00 : (x y : Fin 1) → (p ⟨$⟩ˡ x) ≡  y
+   perm00 x y with p ⟨$⟩ˡ x
+   perm00 zero zero | zero = refl
+
+
+p=0 : {n : ℕ }  → (perm : Permutation (suc n) (suc n) ) → ((perm ∘ₚ flip (pins (toℕ≤pred[n] (perm ⟨$⟩ʳ (# 0))))) ⟨$⟩ˡ (# 0)) ≡ # 0
+p=0 {zero} perm with ((perm ∘ₚ flip (pins (toℕ≤pred[n] (perm ⟨$⟩ʳ (# 0))))) ⟨$⟩ˡ (# 0)) 
+... | zero = refl
+p=0 {suc n} perm with perm ⟨$⟩ʳ (# 0) | inspect (_⟨$⟩ʳ_ perm ) (# 0)| toℕ≤pred[n] (perm ⟨$⟩ʳ (# 0)) | inspect toℕ≤pred[n] (perm ⟨$⟩ʳ (# 0))
+... | zero |  record { eq = e} |  m<n | _ = p001 where
+   p001 : perm ⟨$⟩ˡ ( pins m<n ⟨$⟩ʳ zero) ≡ zero
+   p001 = subst (λ k → perm ⟨$⟩ˡ k ≡ zero ) e (inverseˡ perm)
+... | suc t |  record { eq = e } | m<n | record { eq = e1 }  = p002 where   -- m<n  : suc (toℕ t) ≤ suc n
+   p002 : perm ⟨$⟩ˡ ( pins m<n ⟨$⟩ʳ zero) ≡ zero
+   p002 = p005 zero (toℕ t)  refl m<n refl where   -- suc (toℕ t) ≤ suc n
+      p003 : (s : Fin (suc (suc n))) → s ≡ (perm ⟨$⟩ʳ (# 0)) → perm ⟨$⟩ˡ s  ≡ # 0
+      p003 s eq = subst (λ k → perm ⟨$⟩ˡ k ≡ zero ) (sym eq) (inverseˡ perm)
+      p005 : (x :  Fin (suc (suc n))) → (m : ℕ ) → x ≡ zero → (m≤n : suc m ≤ suc n ) → m ≡ toℕ t → perm ⟨$⟩ˡ ( pins m≤n ⟨$⟩ʳ zero) ≡ zero
+      p005 zero m eq (s≤s m≤n) meq = p004 where
+          p006 : toℕ (suc t) < suc (suc n)
+          p006 = subst (λ k →  suc k < suc (suc n)) meq (s≤s (s≤s m≤n)) 
+          p004 :  perm ⟨$⟩ˡ (fromℕ< (s≤s (s≤s m≤n))) ≡ zero
+          p004 = p003  (fromℕ< (s≤s (s≤s m≤n))) (
+             begin
+                fromℕ< (s≤s (s≤s m≤n))
+             ≡⟨  fromℕ<-irrelevant _ _ (cong suc meq) (s≤s (s≤s m≤n)) (subst (λ k →  suc k < suc (suc n)) meq (s≤s (s≤s m≤n)) ) ⟩
+                fromℕ< (subst (λ k →  suc k < suc (suc n)) meq (s≤s (s≤s m≤n)) )
+             ≡⟨ fromℕ<-toℕ {suc (suc n)} (suc t) (subst (λ k →  suc k < suc (suc n)) meq (s≤s (s≤s m≤n)) ) ⟩
+                suc t
+             ≡⟨ sym e ⟩
+                (perm ⟨$⟩ʳ (# 0))
+             ∎ )
+
+
+-- pp : {n : ℕ }  → (perm : Permutation (suc n) (suc n) ) →  Fin (suc n)
+-- pp  perm → (( perm ∘ₚ flip (pins (toℕ≤pred[n] (perm ⟨$⟩ʳ (# 0))))) ⟨$⟩ˡ (# 0))
+
 
 plist2 : {n  : ℕ} → Permutation (suc n) (suc n) → (i : ℕ ) → i < suc n → List ℕ
 plist2  {n} perm zero _           = toℕ ( perm ⟨$⟩ʳ (fromℕ< {zero} (s≤s z≤n))) ∷ []
@@ -373,8 +419,6 @@
    f0 :  FL 0 
    _::_ :  { n : ℕ } → Fin (suc n ) → FL n → FL (suc n)
 
-open import logic 
-
 shlem→ : {n  : ℕ} → (perm : Permutation (suc n) (suc n) ) → (p0=0 : perm ⟨$⟩ˡ (# 0) ≡ # 0 ) → (x : Fin (suc n) ) →  perm ⟨$⟩ˡ x ≡ zero → x ≡ zero
 shlem→ perm p0=0 x px=0 = begin
           x                                  ≡⟨ sym ( inverseʳ perm ) ⟩
@@ -507,15 +551,14 @@
  
 t6 = perm→FL t4
 
-postulate
-   FL→iso : {n : ℕ }  → (fl : FL n )  → perm→FL ( FL→perm fl ) ≡ fl
+-- postulate
+--    FL→iso : {n : ℕ }  → (fl : FL n )  → perm→FL ( FL→perm fl ) ≡ fl
 -- FL→iso f0 = refl
 -- FL→iso (x :: fl) = {!!} -- with FL→iso fl
 -- ... | t = {!!}
 
 open _=p=_
-postulate
-   FL←iso : {n : ℕ }  → (perm : Permutation n n )  → FL→perm ( perm→FL perm  ) =p= perm
+--    FL←iso : {n : ℕ }  → (perm : Permutation n n )  → FL→perm ( perm→FL perm  ) =p= perm
 -- FL←iso {0} perm = record { peq = λ () }
 -- FL←iso {suc n} perm = {!!}
 
@@ -534,6 +577,9 @@
    fls6 zero = (zero :: f0) ∷ []
    fls6 (suc n) =  fls5 (suc n) (fls6 n) []   
 
+tf1 = ∀-FL 4
+tf2 = Data.List.map (λ k → ⟪ plist (FL→perm k ) , k ⟫ ) tf1
+
 all-perm : (n : ℕ ) → List (Permutation (suc n) (suc n) )
 all-perm n = pls6 n where
    lem1 : {i n : ℕ } → i ≤ n → i < suc n
--- a/sym2.agda	Sun Aug 30 08:40:31 2020 +0900
+++ b/sym2.agda	Mon Aug 31 07:18:54 2020 +0900
@@ -28,16 +28,32 @@
    open Solvable (Symmetric 2)
    -- open Group (Symmetric 2) using (_⁻¹)
 
+
    p0 :  FL→perm ((# 0) :: ((# 0 ) :: f0)) =p= pid
    p0 = pleq _ _ refl
 
-   p0r :  (p : Permutation 2 2 ) → perm→FL p ≡ ((# 0) :: ((# 0 ) :: f0)) → p =p= pid
-   p0r p eq = {!!}
+   p0r :  perm→FL pid ≡  ((# 0) :: ((# 0 ) :: f0)) 
+   p0r = refl
 
    p1 :  FL→perm ((# 1) :: ((# 0 ) :: f0)) =p= pswap pid
    p1 = pleq _ _ refl
 
+   p1r :  perm→FL (pswap pid) ≡  ((# 1) :: ((# 0 ) :: f0)) 
+   p1r = refl
+
    open _=p=_
+   open import logic
+   p01 :  (p : Permutation 2 2  ) → ( p =p= pid ) ∨ ( p =p= pswap pid )   --- p =p= FL→perm ((# 0) :: ((# 0) :: f0))
+   p01 p with perm→FL p | inspect perm→FL p
+   p01 p |  (zero :: (zero :: f0))  | record { eq = e } = case1 (ptrans {!!} p0   )        -- e : perm→FL p = zero :: (zero :: f0)
+   p01 p  |((suc zero) :: (zero :: f0))  | record { eq = e } = case2 (ptrans {!!} p1 )
+
+   FL→iso : (fl : FL 2 )  → perm→FL ( FL→perm fl ) ≡ fl
+   FL→iso  (zero :: (zero :: f0)) = refl
+   FL→iso ((suc zero) :: (zero :: f0)) = refl
+
+   FL←iso : (perm : Permutation 2 2 )  → FL→perm ( perm→FL perm  ) =p= perm
+   FL←iso p = {!!}
    
    sym2lem0 :  ( g h : Permutation 2 2 ) → (q : Fin 2)  → ([ g , h ]  ⟨$⟩ʳ q) ≡ (pid ⟨$⟩ʳ q)
    sym2lem0 g h q with perm→FL g | perm→FL h | inspect perm→FL g