\begin{code}
module Scheme.Abstract-Syntax where
open import Scheme.Domain-Notation using (_⋆′)
postulate Con : Set
postulate Ide : Set
data Exp : Set
Com = Exp
data Exp where
con : Con → Exp
ide : Ide → Exp
⦅_␣_⦆ : Exp → Exp ⋆′ → Exp
⦅lambda␣⦅_⦆_␣_⦆ : Ide ⋆′ → Com ⋆′ → Exp → Exp
⦅lambda␣⦅_·_⦆_␣_⦆ : Ide ⋆′ → Ide → Com ⋆′ → Exp → Exp
⦅lambda_␣_␣_⦆ : Ide → Com ⋆′ → Exp → Exp
⦅if_␣_␣_⦆ : Exp → Exp → Exp → Exp
⦅if_␣_⦆ : Exp → Exp → Exp
⦅set!_␣_⦆ : Ide → Exp → Exp
variable
K : Con
I : Ide
I⋆ : Ide ⋆′
E : Exp
E⋆ : Exp ⋆′
Γ : Com
Γ⋆ : Com ⋆′
\end{code}