changeset 212:fa1e0944d1a0

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 05 Dec 2020 12:57:44 +0900
parents 08166685ed2c
children f0ceffb6a7e9
files FLComm.agda
diffstat 1 files changed, 16 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/FLComm.agda	Sat Dec 05 11:49:12 2020 +0900
+++ b/FLComm.agda	Sat Dec 05 12:57:44 2020 +0900
@@ -111,19 +111,23 @@
 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) = record {
-     commList = cons (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm (cons p P pr) Q)) anyc00 ; commAny = anyc01 } where
-  anyc00 :  fresh (FL n) ⌊ _f<?_ ⌋ (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm (cons p P pr) Q))
+anyComm (cons p P pr) Q = anyc0n Q where
+  anyc00 : (Q : FList n) (q : FL n) → fresh (FL n) ⌊ _f<?_ ⌋ q Q → fresh (FL n) ⌊ _f<?_ ⌋ (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm (cons p P pr) Q))
   anyc00 = {!!}
-  anyc01 :  (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₁ ]) (cons (perm→FL [ FL→perm p , FL→perm q ])  (commList (anyComm (cons p P pr) Q)) anyc00)
-  anyc01 p q   (here refl)  (here refl)  = here refl
-  anyc01 p q₁  (here refl)  (there anyq) = there (commAny (anyComm (cons p P pr) Q) p q₁ (here refl) anyq ) 
-  anyc01 p₁ q  (there anyp) (here refl) = anyc02 (commAny (anyComm P (cons q Q qr)) p₁ q anyp (here refl)) where
-    anyc02 : Any (_≡ perm→FL [ FL→perm p₁ , FL→perm q ]) (commList (anyComm P (cons q Q qr)))
-           → Any (_≡ perm→FL [ FL→perm p₁ , FL→perm q ]) (cons (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm (cons p P pr) Q)) anyc00)
-    anyc02 t = ?
-  anyc01 p₁ q₁ (there anyp) (there anyq) = there (commAny (anyComm (cons p P pr) Q) p₁ q₁ (there anyp) anyq )
+  anyc01 :  (Q : FList n)  (q : FL n) → (qr : fresh (FL n) ⌊ _f<?_ ⌋ q Q ) → (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₁ ]) (cons (perm→FL [ FL→perm p , FL→perm q ])  (commList (anyComm (cons p P pr) Q)) (anyc00 Q q qr))
+  anyc01 Q q qr p q   (here refl)  (here refl)  = here refl
+  anyc01 Q q qr p q₁  (here refl)  (there anyq) = there (commAny (anyComm (cons p P pr) Q) p q₁ (here refl) anyq ) 
+  anyc01 Q q qr p₁ q  (there anyp) (here refl) = anyc02 Q q qr (commAny (anyComm P (cons q Q qr)) p₁ q anyp (here refl)) where
+    anyc02 :  (Q : FList n) (q : FL n) → (qr : fresh (FL n) ⌊ _f<?_ ⌋ q Q )
+           → Any (_≡ perm→FL [ FL→perm p₁ , FL→perm q ]) (commList (anyComm P (cons q Q qr)))
+           → Any (_≡ perm→FL [ FL→perm p₁ , FL→perm q ]) (cons (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm (cons p P pr) Q)) (anyc00 Q q qr))
+    anyc02 Q q qr t = {!!}
+  anyc01 Q q qr p₁ q₁ (there anyp) (there anyq) = there (commAny (anyComm (cons p P pr) Q) p₁ q₁ (there anyp) anyq )
+  anyc0n : (Q : FList n) → AnyComm (cons p P pr) Q
+  anyc0n [] = record { commList = [] ; commAny = λ _ _ _ () }
+  anyc0n (cons q Q qr ) = record { commList = cons (perm→FL [ FL→perm p , FL→perm q ]) (commList (anyComm (cons p P pr) Q)) (anyc00 Q q qr)
+                                 ; commAny = anyc01 Q q qr }
 
 -- {-# TERMINATING #-}
 CommStage→ : (i : ℕ) → (x : Permutation n n ) → deriving i x → Any (perm→FL x ≡_) ( CommFListN i )