# HG changeset patch # User Shinji KONO # Date 1699520695 -32400 # Node ID c7ad8d2dc1575fe2d715fbc8ed5a8cc7adc80bc3 # Parent a60132983557f39f3d1d9eee068cf90bb4e5188e safe halt.agda diff -r a60132983557 -r c7ad8d2dc157 automaton-in-agda/src/finiteFunc.agda --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/automaton-in-agda/src/finiteFunc.agda Thu Nov 09 18:04:55 2023 +0900 @@ -0,0 +1,75 @@ +{-# OPTIONS #-} + +module finiteFunc where + +open import Data.Nat hiding ( _≟_ ) +open import Data.Fin renaming ( _<_ to _<<_ ; _>_ to _f>_ ; _≟_ to _f≟_ ) hiding (_≤_ ; pred ) +open import Data.Fin.Properties hiding ( <-trans ; ≤-trans ; ≤-refl ; <-irrelevant ) renaming ( <-cmp to <-fcmp ) +open import Data.Empty +open import Relation.Nullary +open import Relation.Binary.Definitions +open import Relation.Binary.PropositionalEquality +open import logic +open import nat +open import finiteSet +open import finiteSetUtil +open import fin +open import Data.Nat.Properties as NP hiding ( _≟_ ) + +open import Axiom.Extensionality.Propositional +open import Level hiding (suc ; zero) + +open import Level renaming ( suc to Suc ; zero to Zero) +postulate f-extensionality : { n : Level} → Axiom.Extensionality.Propositional.Extensionality n n -- (Level.suc n) +open import Data.Vec hiding ( map ; length ) +import Data.Product + + +-- we cannot simply use f ≡ g for f : Q → A in Bijection of List Bool and (finite → Bool ) +-- what we can say is theres a fuction which elementwise equal + +F2L-iso : { Q : Set } → (fin : FiniteSet Q ) → (x : Vec Bool (FiniteSet.finite fin) ) → F2L fin a