Files
iris/BidirTT/Syntax.lean
T

59 lines
1.5 KiB
Lean4

import BidirTT.Level
namespace BidirTT
abbrev Name := String
inductive Raw where
| var : Name Raw
| lam : Name Raw Raw
| app : Raw Raw Raw
| pi : Name Raw Raw Raw
| sig : Name Raw Raw Raw
| pair : Raw Raw Raw
| fst : Raw Raw
| snd : Raw Raw
| nat : Raw
| zero : Raw
| succ : Raw Raw
| natElim : Name Raw Raw Name Name Raw Raw Raw
| unit : Raw
| triv : Raw
| unitElim : Name Raw Raw Raw Raw
| empty : Raw
| emptyElim : Name Raw Raw Raw
| id : Raw Raw Raw Raw
| refl : Raw
| idElim : Name Name Raw Raw Raw Raw Raw
| univ : Level Raw
| letE : Name Raw Raw Raw Raw
| ann : Raw Raw Raw
deriving Repr, Inhabited, BEq, DecidableEq
inductive Tm where
| var : Nat Tm
| lam : Tm Tm
| app : Tm Tm Tm
| pi : Tm Tm Tm
| sig : Tm Tm Tm
| pair : Tm Tm Tm
| fst : Tm Tm
| snd : Tm Tm
| nat : Tm
| zero : Tm
| succ : Tm Tm
| natElim : Tm Tm Tm Tm Tm
| unit : Tm
| triv : Tm
| unitElim : Tm Tm Tm Tm
| empty : Tm
| emptyElim : Tm Tm Tm
| id : Tm Tm Tm Tm
| refl : Tm
| idElim : Tm Tm Tm Tm Tm
| univ : Level Tm
| letE : Tm Tm Tm Tm
deriving Repr, Inhabited, BEq, DecidableEq
end BidirTT