28 lines
563 B
Lean4
28 lines
563 B
Lean4
import BidirTT.Syntax
|
|
|
|
namespace BidirTT
|
|
|
|
mutual
|
|
inductive Val where
|
|
| var : Nat → Val
|
|
| app : Val → Val → Val
|
|
| fst : Val → Val
|
|
| snd : Val → Val
|
|
| lam : Closure → Val
|
|
| pi : Val → Closure → Val
|
|
| sig : Val → Closure → Val
|
|
| pair : Val → Val → Val
|
|
| univ : Nat → Val
|
|
|
|
inductive Closure where
|
|
| mk : List Val → Tm → Closure
|
|
end
|
|
|
|
abbrev Env := List Val
|
|
abbrev Lvl := Nat
|
|
|
|
instance : Inhabited Val := ⟨.univ 0⟩
|
|
instance : Inhabited Closure := ⟨.mk [] (.univ 0)⟩
|
|
|
|
end BidirTT
|