Write Nat/Unit/Empty/Id Eliminators Through NbE and Bidir Elaboration

This commit is contained in:
2026-04-19 13:55:05 +00:00
parent a154e2b98c
commit 85be37b1d6
8 changed files with 374 additions and 2 deletions
+24
View File
@@ -11,6 +11,18 @@ inductive Raw where
| 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 : Nat Raw
| letE : Name Raw Raw Raw Raw
| ann : Raw Raw Raw
@@ -25,6 +37,18 @@ inductive Tm where
| 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 : Nat Tm
| letE : Tm Tm Tm Tm
deriving Repr, Inhabited, BEq, DecidableEq