diff options
author | Chloe Brown <chloe.brown.00@outlook.com> | 2021-03-29 15:56:46 +0100 |
---|---|---|
committer | Chloe Brown <chloe.brown.00@outlook.com> | 2021-03-29 15:56:46 +0100 |
commit | da35892c463cd6b9a492c6aee09726a41031ca93 (patch) | |
tree | 1e34fa6e8bbb0702ab3bdbb4f21a54839ad64b39 /src/Cfe/Derivation/Base.agda | |
parent | 3638caa4c6f363c1adc7c931f65dea3104cae796 (diff) |
Rename parse to derivation.
Diffstat (limited to 'src/Cfe/Derivation/Base.agda')
-rw-r--r-- | src/Cfe/Derivation/Base.agda | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/Cfe/Derivation/Base.agda b/src/Cfe/Derivation/Base.agda new file mode 100644 index 0000000..1f2bb63 --- /dev/null +++ b/src/Cfe/Derivation/Base.agda @@ -0,0 +1,25 @@ +{-# OPTIONS --without-K --safe #-} + +open import Relation.Binary using (Setoid) + +module Cfe.Derivation.Base + {c ℓ} (over : Setoid c ℓ) + where + +open Setoid over renaming (Carrier to C; _≈_ to _∼_) + +open import Cfe.Expression over hiding (_≋_) +open import Data.Fin +open import Data.List +open import Data.List.Relation.Binary.Equality.Setoid over +open import Level using (_⊔_) + +infix 4 _⤇_ + +data _⤇_ : Expression 0 → List C → Set (c ⊔ ℓ) where + Eps : ε ⤇ [] + Char : ∀ {c y} → c ∼ y → Char c ⤇ [ y ] + Cat : ∀ {e₁ e₂ l₁ l₂ l} → e₁ ⤇ l₁ → e₂ ⤇ l₂ → l₁ ++ l₂ ≋ l → e₁ ∙ e₂ ⤇ l + Veeˡ : ∀ {e₁ e₂ l} → e₁ ⤇ l → e₁ ∨ e₂ ⤇ l + Veeʳ : ∀ {e₁ e₂ l} → e₂ ⤇ l → e₁ ∨ e₂ ⤇ l + Fix : ∀ {e l} → e [ μ e / zero ] ⤇ l → μ e ⤇ l |