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