changeset 248:38e56ea7d09f

remove anyFL0
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 11 Dec 2020 07:46:05 +0900
parents 80b9fb5f80ab
children 3b7be8bfc72e
files FLComm.agda
diffstat 1 files changed, 21 insertions(+), 64 deletions(-) [+]
line wrap: on
line diff
--- a/FLComm.agda	Fri Dec 11 07:38:09 2020 +0900
+++ b/FLComm.agda	Fri Dec 11 07:46:05 2020 +0900
@@ -58,65 +58,6 @@
 anyFL2 : (x : FL 1) → (y : FList 1) → y ≡ ((zero :: f0) ∷# []) → Any (_≡_ x) y
 anyFL2 (zero :: f0) .(cons (zero :: f0) [] (Level.lift tt)) refl = here refl
 
-anyFL0 :  (n : ℕ) → AnyFL (suc n) 
-anyFL0 zero = record { allFL = (zero :: f0) ∷# [] ; anyP = λ x → anyFL2 x ((zero :: f0) ∷# []) refl } 
-anyFL0 (suc n)  = record { allFL = allListF a<sa []; anyP = λ x → anyFL3 a<sa x (fin≤n (FLpos x)) [] } where 
-    allListFL : (x : Fin (suc (suc n))) → FList (suc n) → FList (suc (suc n)) → FList (suc (suc n))
-    allListFL _ [] y = y
-    allListFL x (cons y L yr) z = FLinsert (x :: y) (allListFL x L z) 
-    allListF : {i : ℕ} → (i<n : i < suc (suc n)) → FList (suc (suc n)) → FList (suc (suc n))
-    allListF (s≤s z≤n) z = allListFL zero (allFL (anyFL0 n)) z
-    allListF (s≤s (s≤s i<n)) z = allListFL (suc (fromℕ< (s≤s i<n ))) (allFL (anyFL0 n)) (allListF (<-trans (s≤s i<n) a<sa) z)
-    anyFL3 :  {i : ℕ} → (i<n : i < suc (suc n)) (x : FL (suc (suc n))) → (toℕ (FLpos x ) ≤ i) → (z : FList (suc (suc n))) → Any (_≡_ x) (allListF i<n z)
-    anyFL3 {zero} (s≤s z≤n) (x :: y) x<i z = anyFL6 (allFL (anyFL0 n)) (anyP (anyFL0 n) y) (anyFL5 x<i) where
-        anyFL5 : toℕ x ≤ zero → x ≡ zero
-        anyFL5 lt with <-fcmp x zero
-        ... | tri≈ ¬a b ¬c = b
-        ... | tri> ¬a ¬b c = ⊥-elim (nat-≤> x<i c)
-        anyFL6 : (L : FList (suc n)) → Any (_≡_ y) L → x ≡ zero → Any (_≡_ (x :: y)) (allListFL zero L z)
-        anyFL6 (cons _ xs _) (here refl) refl = x∈FLins (x :: y)  (allListFL zero xs z)
-        anyFL6 (cons _ xs  _) (there any) refl = insAny _ (anyFL6 xs any refl )
-    anyFL3 {suc i} (s≤s (s≤s i<n)) (x :: y) x<i z with <-cmp (toℕ x) (suc i)
-    ... | tri< a ¬b ¬c = anyFL1 (s≤s i<n) a where
-        anyFL1  : {i : ℕ} → (i<n : i < suc n) → (x<i : suc (toℕ x) ≤ suc i )  →  Any (_≡_ (x :: y)) (allListF (s≤s i<n) z)
-        anyFL10 : {i : ℕ} → (i<n : i < suc n ) → (x<i : suc (toℕ x) ≤ suc i) → (L : FList (suc n))  
-            → Any (_≡_ (x :: y))  (allListFL (suc (fromℕ< i<n)) L (allListF (<-trans i<n a<sa) z) )
-        anyFL10 {i} (s≤s j<n) (s≤s x<i) [] = anyFL3 (<-trans (s≤s j<n) a<sa) (x :: y) x<i z  
-        anyFL10 {i} i<n x<i (cons _ xs _)  = insAny _ (anyFL10 {i} i<n x<i xs )
-        anyFL1 {i} (s≤s i<n) x<i = anyFL10 (s≤s i<n ) x<i (allFL (anyFL0 n)) 
-    ... | tri≈ ¬a b ¬c = anyFL7 (allFL (anyFL0 n)) (anyP (anyFL0 n) y) where
-        anyFL9 : toℕ x ≡ suc i → x ≡ suc (fromℕ< (s≤s i<n))
-        anyFL9 x=si = toℕ-injective ( begin
-             toℕ x ≡⟨ x=si ⟩
-             suc i  ≡⟨ cong suc (≡-sym (toℕ-fromℕ< _) ) ⟩
-             suc (toℕ (fromℕ< (s≤s i<n)))  ≡⟨⟩
-             toℕ (suc (fromℕ< (s≤s i<n)))
-          ∎ ) where open ≡-Reasoning
-        anyFL8 : (L : FList (suc n)) → Any (_≡_ y) L → Any (_≡_ (x :: y)) (allListFL x L (allListF (<-trans (s≤s i<n) a<sa) z))
-        anyFL8 (cons _ xs _) (here refl) = x∈FLins (x :: y) (allListFL x xs (allListF (<-trans (s≤s i<n) a<sa) z))
-        anyFL8 (cons _ xs _) (there any) = insAny _ (anyFL8 xs any)
-        anyFL7 : (L : FList (suc n)) → Any (_≡_ y) L → Any (_≡_ (x :: y)) (allListF (s≤s (s≤s i<n)) z)
-        anyFL7 (cons _ xs _) (there any) = anyFL7 xs any
-        anyFL7 (cons _ xs _) (here refl) = subst (λ k →  Any (_≡_ (x :: y))
-            (allListFL k (allFL (anyFL0 n)) (allListF (<-trans (s≤s i<n) a<sa) z)) ) (anyFL9 b) (anyFL8 (allFL (anyFL0 n)) (anyP (anyFL0 n) y) )
-    ... | tri> ¬a ¬b c = ⊥-elim (nat-≤> x<i c)
-
-anyFL :  (n : ℕ) → AnyFL n 
-anyFL zero = record { allFL = f0 ∷# [] ; anyP = anyFL4 } where
-    anyFL4 : (x : FL zero) → Any (_≡_ x) ( f0 ∷# [] )
-    anyFL4 f0 = here refl
-anyFL (suc n) = anyFL0 n
-
-at1 = proj₁ (toList (allFL (anyFL 1)))
-at2 = proj₁ (toList (allFL (anyFL 2)))
-at3 = proj₁ (toList (allFL (anyFL 3)))
-at4 = proj₁ (toList (allFL (anyFL 4)))
-
--- open import Data.List.Fresh.Relation.Unary.All
--- at6 : All (_# allFL (anyFL 2)) (allFL (anyFL 2))
--- at6 = {!!}
--- at5 = append (allFL (anyFL 2)) (allFL (anyFL 2)) at6
-
 -- all cobmbination in P and Q
 record AnyComm {n m l : ℕ}  (P : FList n) (Q : FList m) (fpq : (p : FL n) (q : FL m) → FL l) : Set where
    field
@@ -176,7 +117,8 @@
      anyc04 [] = anyc05 P 
      anyc04 (cons a Q1 x) = insAny _ (anyc04 Q1)
 
---   anyComm ( #0 :: FL0 ... # n : FL0 ) (all n) (λ p q → FLpos p :: q ) = all (suc n)
+--   anyComm ( #0 :: FL0 ... # n :: FL0 ) (all n) (λ p q → FLpos p :: q ) = all (suc n)
+
 record AnyFin (n : ℕ)  : Set where
    field
      allFin : FList (suc n)
@@ -189,15 +131,15 @@
 anyFL01 (suc n) = record { allFL = commList anyC ;  anyP =  anyFL02 } where
      anyFL04 :  (n : ℕ) → AnyFin n
      anyFL04 n = record { allFin = anyFL05 a<sa ; anyF = λ x → anyFL06 a<sa x fin<n } where 
+         anyFL05 : {i : ℕ} → (i < suc n) → FList (suc n)
+         anyFL05 {0} (s≤s z≤n) = zero :: FL0 ∷# []
+         anyFL05 {suc i} (s≤s i<n) = FLinsert (fromℕ< (s≤s i<n) :: FL0) (anyFL05 {i} (<-trans i<n a<sa))
          anyFL08 : {n i : ℕ} {x : Fin (suc n)} {i<n : suc i < suc n}  → toℕ x ≡ suc i → x ≡ suc (fromℕ< (≤-pred i<n))
          anyFL08 {n} {i} {x} {i<n} eq = toℕ-injective ( begin
                 toℕ x                               ≡⟨ eq ⟩
                 suc i                               ≡⟨ cong suc (≡-sym (toℕ-fromℕ< _ )) ⟩
                 suc (toℕ (fromℕ< (≤-pred i<n)) )
           ∎ ) where open ≡-Reasoning
-         anyFL05 : {i : ℕ} → (i < suc n) → FList (suc n)
-         anyFL05 {0} (s≤s z≤n) = zero :: FL0 ∷# []
-         anyFL05 {suc i} (s≤s i<n) = FLinsert (fromℕ< (s≤s i<n) :: FL0) (anyFL05 {i} (<-trans i<n a<sa))
          anyFL06 : {i : ℕ} → (i<n : i < suc n) → (x : Fin (suc n)) → toℕ x < suc i → Any (_≡_ (x :: FL0)) (anyFL05 i<n)
          anyFL06 (s≤s z≤n) zero (s≤s lt) = here refl
          anyFL06 {suc i} (s≤s (s≤s i<n)) x (s≤s lt) with <-cmp (toℕ x) (suc i)
@@ -212,6 +154,22 @@
          x≤n : suc (toℕ x)  ≤ suc (suc n)
          x≤n = toℕ<n x
 
+anyFL :  (n : ℕ) → AnyFL n 
+anyFL zero = record { allFL = f0 ∷# [] ; anyP = anyFL4 } where
+    anyFL4 : (x : FL zero) → Any (_≡_ x) ( f0 ∷# [] )
+    anyFL4 f0 = here refl
+anyFL (suc n) = anyFL01 n
+
+at1 = proj₁ (toList (allFL (anyFL 1)))
+at2 = proj₁ (toList (allFL (anyFL 2)))
+at3 = proj₁ (toList (allFL (anyFL 3)))
+at4 = proj₁ (toList (allFL (anyFL 4)))
+
+-- open import Data.List.Fresh.Relation.Unary.All
+-- at6 : All (_# allFL (anyFL 2)) (allFL (anyFL 2))
+-- at6 = {!!}
+-- at5 = append (allFL (anyFL 2)) (allFL (anyFL 2)) at6
+
 CommFListN  : ℕ →  FList n
 CommFListN  zero = allFL (anyFL n)
 CommFListN (suc i ) = commList (anyComm ( CommFListN i ) ( CommFListN i ) (λ p q →  perm→FL [ FL→perm p , FL→perm q ] ))
@@ -230,7 +188,6 @@
   comm2 : Any (_≡_ (perm→FL [ g , h ])) (CommFListN (suc i))
   comm2 = subst (λ k → Any (_≡_ k) (CommFListN (suc i)) ) comm3
      ( commAny ( anyComm (CommFListN i) (CommFListN i) (λ p q →  perm→FL [ FL→perm p , FL→perm q ] )) G H (CommStage→ i g p) (CommStage→ i h q) )
-
 CommStage→ (suc i) x (ccong {f} {x} eq p) =
       subst (λ k → Any (k ≡_) (commList (anyComm ( CommFListN i ) ( CommFListN i ) (λ p q →  perm→FL [ FL→perm p , FL→perm q ] ))))
           (comm4 eq) (CommStage→ (suc i) f p ) where