From adad5280af0d81a2f171df619e9c7169dcb43a02 Mon Sep 17 00:00:00 2001 From: Chloe Brown Date: Sat, 27 Mar 2021 20:32:03 +0000 Subject: Introduce non-terminating proof of derivation existence. --- src/Cfe/Parse/Base.agda | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/Cfe/Parse/Base.agda') diff --git a/src/Cfe/Parse/Base.agda b/src/Cfe/Parse/Base.agda index 50e085a..0f8ad21 100644 --- a/src/Cfe/Parse/Base.agda +++ b/src/Cfe/Parse/Base.agda @@ -6,18 +6,20 @@ module Cfe.Parse.Base {c ℓ} (over : Setoid c ℓ) where -open Setoid over renaming (Carrier to C) +open Setoid over renaming (Carrier to C; _≈_ to _∼_) -open import Cfe.Expression over +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 +data _⤇_ : Expression 0 → List C → Set (c ⊔ ℓ) where Eps : ε ⤇ [] - Char : ∀ {c} → Char c ⤇ [ c ] - Cat : ∀ {e₁ e₂ l₁ l₂} → e₁ ⤇ l₁ → e₂ ⤇ l₂ → e₁ ∙ e₂ ⤇ l₁ ++ l₂ + 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 -- cgit v1.2.3