changeset 233:ff1e5a6e42da

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 09 Dec 2020 07:03:11 +0900
parents 8f7c09ff96bd
children 3c3619b196dc
files FLComm.agda
diffstat 1 files changed, 22 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/FLComm.agda	Tue Dec 08 21:21:08 2020 +0900
+++ b/FLComm.agda	Wed Dec 09 07:03:11 2020 +0900
@@ -47,39 +47,35 @@
 -- Flist {suc n} (x :: y)  = Flist n a<sa (∀Flist y) (∀Flist y)   
 
 -------------
---    (suc n :: (fromℕ< a<sa  :: p))   (n ::  ) ....           (zero :: (fromℕ< a<sa :: p))
---    (suc n :: (n :: p)
---           :                     anyFL
---    (suc n :: (zero :: p)
+--    # 0 : # 0 : .... # 0 : # 0 :: f0
+--    # 0 : # 0 : .... # 1 : # 0 :: f0
+--   
+--    # sn: # 0 : .... # 0 : # 0 :: f0
+--   
+--    # sn: # n : .... # 1 : # 0 :: f0
+--  
 
 -- all FL
-record AnyFL {i : ℕ} (i<n : i < suc n) (y : FL n) : Set where
+record AnyFL (n : ℕ) {i : ℕ} (i<n : i < suc n) (y : FL n) : Set where
    field
-     anyList : FList (suc (suc n))
-     anyP : {x : FL (suc n)} → {j : ℕ}  → x f≤ (fromℕ< a<sa :: y) → (j≤i : j ≤ i)  → Any (fromℕ< (<-trans (s≤s j≤i) (s≤s i<n)) :: x ≡_ ) anyList 
+     anyList : FList (suc n)
+     anyP : (x : FL (suc n)) → Any (x ≡_ ) anyList 
 
 open import fin
 open AnyFL
 
-{-# TERMINATING #-}
-anyFL :  AnyFL a<sa fmax
-anyFL  = record { anyList = allListF a<sa ; anyP = {!!} } where 
-    allListFL : (x : FL (suc n)) → FList (suc (suc n))
-    allListFL (zero :: y) = {!!}
-    allListFL (suc x :: y) = FLinsert {!!} (allListFL (fin+1 x :: y))
-    allListF : {i : ℕ} → (i<n : i < suc n) → FList (suc (suc n))
-    allListF (s≤s z≤n) = allListFL fmax
-    allListF (s≤s (s≤s i<n)) = FLinsert {!!} (allListF  (<-trans (s≤s i<n) a<sa)) 
---  allListFL : (P1 : FL n) → FList (suc n)
---  allListFL f0 = []
---  allListFL (zero :: y) = cons (fromℕ< a<sa :: zero :: y) [] (Level.lift tt)
---  allListFL (suc x :: y) = FLinsert (fromℕ< a<sa :: suc x :: y) (allListFL (fin+1 x :: y)) 
---  allListF : {i : ℕ} → (Q1 : i < suc n) → FList (suc n)
---  allListF (s≤s z≤n) = allListFL fmax
---  allListF (s≤s (s≤s i<n)) = FLinsert (fin+1 (fromℕ< (s≤s i<n)) :: fmax) (allListF  (<-trans (s≤s i<n) a<sa)) 
---  anyFLP :  {i : ℕ } → (i<n : i < suc n) → (x : FL n) → Any (_≡_ (fromℕ< a<sa :: x)) (FLinsert (fromℕ< i<n :: fmax) (allListF i<n))
---  anyFLP (s≤s z≤n) x = {!!}
---  anyFLP (s≤s (s≤s i<n)) x = {!!}
+-- {-# TERMINATING #-}
+anyFL :  (n : ℕ) → AnyFL n a<sa fmax
+anyFL zero = record { anyList = (zero :: f0) ∷# [] ; anyP = anyFL0 } where 
+    anyFL0 : (x : FL 1) → Any (_≡_ x) (cons (zero :: f0) [] (Level.lift tt))
+    anyFL0 (zero :: f0) = here refl
+anyFL (suc n)  = record { anyList = allListF a<sa []; anyP = {!!} } 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 = cons (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 = z
+    allListF (s≤s (s≤s i<n)) z = allListFL (fromℕ< {!!}) (anyList (anyFL n)) (allListF {!!} z)
 
 tl3 : (FL n) → ( z : FList n) → FList n → FList n
 tl3 h [] w = w