changeset 223:9da456c2bfe3

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 07 Dec 2020 20:29:13 +0900
parents 9f86424a09b1
children 71e08656273b
files FLComm.agda
diffstat 1 files changed, 18 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/FLComm.agda	Mon Dec 07 06:59:38 2020 +0900
+++ b/FLComm.agda	Mon Dec 07 20:29:13 2020 +0900
@@ -111,38 +111,25 @@
 anyComm [] [] = record { commList = [] ; commAny = λ _ _ () }
 anyComm [] (cons q Q qr) = record { commList = [] ; commAny = λ _ _ () }
 anyComm (cons p P pr) [] = record { commList = [] ; commAny = λ _ _ _ () }
-anyComm (cons p P pr) (cons q Q qr) = anyc0n Q where
-  insAnyComm : {p₁ q₁ h : FL n } → (xs : FList n)  → Any (perm→FL [ FL→perm p₁ , FL→perm q₁ ] ≡_) xs
-        → Any (perm→FL [ FL→perm p₁ , FL→perm q₁ ] ≡_) (FLinsert h xs)
-  insAnyComm xs any = insAny _ any
-  anyc04 : (x b : FL n) → (L : FList n) → Any (x ≡_)  L → Any (x ≡_)  (FLinsert b L)
-  anyc04 a b L any = insAny L any
-
+anyComm (cons p P pr) (cons q Q qr) = anyc0n (cons q Q qr) where
   anyc0n : (Q1 : FList n) → AnyComm (cons p P pr) (cons q Q qr)
-  anyc01 :  (Q1 : FList n)  (q₁ : FL n) → (qr₁ : fresh (FL n) ⌊ _f<?_ ⌋ q₁ Q1 ) → (p₁ q₂ : FL n) → Any (p₁ ≡_) (cons p P pr) → Any (q₂ ≡_) (cons q Q qr) →
-    Any (perm→FL [ FL→perm p₁ , FL→perm q₂ ] ≡_) (FLinsert (perm→FL [ FL→perm p , FL→perm q₁ ])  (commList (anyc0n Q1)) ) 
-  anyc01 [] q₁ qr₁ p₁ q₂ (here refl) (here refl) = {!!}
-  anyc01 [] q₁ qr₁ p₁ q₂ (here refl) (there anyq) with anyc04 (perm→FL [ FL→perm p , FL→perm q₁ ]) (perm→FL [ FL→perm p , FL→perm q₁ ]) (commList (anyc0n [])) {!!}
-  ... | t = {!!}
-  anyc01 [] q₁ qr₁ p₁ q₂ (there anyp) (here refl) =  {!!} 
-  anyc01 [] q₁ qr₁ p₁ q₂ (there anyp) (there anyq) = {!!} --  insAny (commList (anyc0n [])) {!!}  -- (commAny (anyc0n [])  p₁  q₂ (here refl) (there anyq) )
-  anyc01 (cons q₃ Q1 qr₃) q₁ qr₁ p₁ q₂ anyp anyq = {!!}
-  anyc0n [] = record { commList = FLinsert (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm P (cons q Q qr))) ; commAny = {!!} } where
-    anyc03 :  (P Q : FList n) → (p₁ q₁ : FL n) 
-        → Any (p₁ ≡_) P → Any (q₁ ≡_) Q
-        → Any (perm→FL [ FL→perm p₁ , FL→perm q₁ ] ≡_) (FLinsert (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm P Q))) 
-    anyc03 = {!!} where
-       anyc05 :  (P Q : FList n) → (p₁ q₁ : FL n) 
-           → Any (p₁ ≡_) P → Any (q₁ ≡_) Q → (x y : FL n) → ( z : FList n )
-           → Any (x ≡_) z 
-           → Any (x ≡_) (FLinsert y z) 
-       anyc05 P Q p₁ q₁ anyp anyq x y z anyz = {!!}
-       anyc07 : (x b : FL n) → (L : FList n) → Any (x ≡_)  L → Any (x ≡_)  (FLinsert b L)
-       anyc07 a b L any = insAny L any
-       anyc06 : (x y : FL n) → ( z : FList n ) → Any (x ≡_) z → Any (x ≡_) (FLinsert y z) 
-       anyc06 x y z anyz = insAny  z anyz
-  anyc0n (cons q₁ Q1 qr₁ ) = record { commList = FLinsert (perm→FL [ FL→perm p , FL→perm q₁ ]) (commList (anyc0n Q1)) 
-                                 ; commAny = {!!}  }
+  anyc0n [] = record { commList = FLinsert (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm P (cons q Q qr))) ; commAny = anyc03 } where
+    anyc03 :  (p₁ q₁ : FL n) →
+        Any ( p₁ ≡_) (cons p P pr) → Any (q₁ ≡_) (cons q Q qr)
+        → Any ((perm→FL [ FL→perm p₁ , FL→perm q₁ ]) ≡_) (FLinsert (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm P (cons q Q qr))))
+    anyc03 p₁ q₁ (there anyp) (here x)     = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ anyp (here x))
+    anyc03 p₁ q₁ (there anyp) (there anyq) = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ anyp (there anyq))
+    anyc03 p₁ q₁ (here refl)  (there anyq) = insAny _ (commAny (anyComm P (cons q Q qr)) p₁ q₁ (here refl) (there anyq))
+    anyc03 p₁ q₁ (here refl)  (here x) = {!!}
+  anyc0n (cons q₂ Q1 qr₂ ) = record { commList = FLinsert (perm→FL [ FL→perm p , FL→perm q₂ ]) (commList (anyc0n Q1)) 
+                                 ; commAny = anyc01 Q1 q₂ qr₂ } where
+    anyc01 :  (Q1 : FList n)  (q₂ : FL n) → (qr₂ : fresh (FL n) ⌊ _f<?_ ⌋ q₂ Q1 ) → (p₁ q₁ : FL n) → Any (p₁ ≡_) (cons p P pr) → Any (q₁ ≡_) (cons q Q qr) →
+      Any (perm→FL [ FL→perm p₁ , FL→perm q₁ ] ≡_) (FLinsert (perm→FL [ FL→perm p , FL→perm q₂ ])  (commList (anyc0n Q1)) ) 
+    anyc01 Q1 q₂ qr₂ p₁ q₁ (here refl) (there anyq)  = insAny _ (commAny (anyc0n Q1)  p₁ q₁ (here refl)  (there anyq))
+    anyc01 Q1 q₂ qr₂ p₁ q₁ (there anyp) (here refl)  = insAny _ (commAny (anyc0n Q1)  p₁ q₁ (there anyp) (here refl))
+    anyc01 Q1 q₂ qr₂ p₁ q₁ (there anyp) (there anyq) = insAny _ (commAny (anyc0n Q1)  p₁ q₁ (there anyp) (there anyq) )
+    anyc01 Q1 q₂ qr₂ p₁ q₁ (here refl) (here refl) with  x∈FLins (perm→FL [ FL→perm p , FL→perm q₂ ])  (commList (anyc0n Q1)) 
+    ... | t = {!!}    -- t : p₁ q₂ → p₁ q₁  
 
 -- {-# TERMINATING #-}
 CommStage→ : (i : ℕ) → (x : Permutation n n ) → deriving i x → Any (perm→FL x ≡_) ( CommFListN i )