51 lines
1.4 KiB
Plaintext
51 lines
1.4 KiB
Plaintext
{-# OPTIONS --cubical --allow-unsolved-metas #-}
|
||
|
||
module Experiments.Fin where
|
||
|
||
open import Cubical.Foundations.Everything
|
||
open import Cubical.Data.Sigma
|
||
open import Cubical.Data.Fin
|
||
open import Cubical.Data.Nat
|
||
open import Cubical.Data.Nat.Order
|
||
open import Cubical.Data.Sum as ⊎
|
||
import Cubical.Data.Empty as ⊥
|
||
|
||
open import Cubical.Structures.Set.Mon.Array
|
||
import Cubical.Structures.Set.Mon.Desc as M
|
||
import Cubical.Structures.Free as F
|
||
open import Cubical.Structures.Sig
|
||
open import Cubical.Structures.Str public
|
||
open import Cubical.Structures.Tree
|
||
open import Cubical.Structures.Eq
|
||
open import Cubical.Structures.Arity
|
||
import Cubical.Structures.Set.Mon.List as LM
|
||
|
||
open Iso
|
||
|
||
open import Agda.Builtin.Reflection hiding (Type)
|
||
open import Agda.Builtin.String
|
||
open import Cubical.Reflection.Base
|
||
open import Cubical.Tactics.FunctorSolver.Solver
|
||
open import Cubical.Tactics.Reflection
|
||
|
||
private
|
||
variable
|
||
ℓ : Level
|
||
A : Type ℓ
|
||
|
||
|
||
infixr 5 _∷_
|
||
|
||
data FMSet (A : Type ℓ) : Type ℓ where
|
||
[] : FMSet A
|
||
_∷_ : (x : A) → (xs : FMSet A) → FMSet A
|
||
comm : ∀ x y xs → x ∷ y ∷ xs ≡ y ∷ x ∷ xs
|
||
trunc : isSet (FMSet A)
|
||
|
||
_++_ : ∀ (xs ys : FMSet A) → FMSet A
|
||
[] ++ ys = ys
|
||
(x ∷ xs) ++ ys = x ∷ xs ++ ys
|
||
comm x y xs i ++ ys = comm x y (xs ++ ys) i
|
||
trunc xs zs p q i j ++ ys = {! trunc (xs ++ ys) (zs ++ ys) (cong (_++ ys) p) (cong (_++ ys) q) !}
|
||
trunc (xs ++ ys) (zs ++ ys) (cong (_++ ys) p) (cong (_++ ys) q) i j
|