changeset 152:be888cb9fe1b

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 13 Sep 2020 10:54:42 +0900
parents c00eac825964
children d880595eae30
files FLutil.agda
diffstat 1 files changed, 29 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/FLutil.agda	Sun Sep 13 09:48:33 2020 +0900
+++ b/FLutil.agda	Sun Sep 13 10:54:42 2020 +0900
@@ -146,7 +146,7 @@
 
 open import Data.Product
 open import Relation.Nullary.Decidable hiding (⌊_⌋)
-open import Data.Bool -- hiding (T)
+open import Data.Bool hiding (_<_)
 open import Data.Unit.Base using (⊤ ; tt)
 
 --  fresh a []        = ⊤
@@ -195,3 +195,31 @@
 
 fr6 = FLinsert ((# 1) :: ((# 1) :: ((# 0 ) :: f0))) fr1 
 
+-- open import Data.List.Fresh.Relation.Unary.All
+-- fr7 = append ( ((# 1) :: ((# 1) :: ((# 0 ) :: f0))) ∷# [] ) fr1 ( ({!!} , {!!} ) ∷ [] )
+
+Flist1 :  {n : ℕ } (i : ℕ) → i < suc n → FList {n} → FList {n} → FList {suc n} 
+Flist1 zero i<n [] _ = []
+Flist1 zero i<n (a ∷# x ) z  = FLinsert ( zero :: a ) (Flist1 zero i<n x z )
+Flist1 (suc i) (s≤s i<n) [] z  = Flist1 i (Data.Nat.Properties.<-trans i<n a<sa) z z 
+Flist1 (suc i) i<n (a ∷# x ) z  = FLinsert ((fromℕ< i<n ) :: a ) (Flist1 (suc i) i<n x z )
+
+Flist : {n : ℕ } → FL n → FList {n}
+Flist {zero} f0 = f0 ∷# [] 
+Flist {suc n} (x :: y)  = Flist1 n a<sa (Flist y) (Flist y)   
+
+fr8 : FList {4}
+fr8 = Flist (fmax {4}) 
+
+-- FLinsert membership
+
+module FLMB { n : ℕ } where
+
+  FL-Setoid : Setoid Level.zero Level.zero
+  FL-Setoid  = record { Carrier = FL n ; _≈_ = _≡_ ; isEquivalence = record { sym = sym ; refl = refl ; trans = trans }}
+
+  open import Data.List.Fresh.Membership.Setoid FL-Setoid
+  open import Data.List.Fresh.Relation.Unary.Any 
+
+  FLinsert-mb :  (x : FL n ) → (xs : FList {n})  → x ∈ FLinsert x xs
+  FLinsert-mb x xs = {!!}