blob: 1f2bb63c080a2d015e95ec1adb593b6e1db8efad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
|