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
|