Add new syntax for booleans
This commit is contained in:
parent
d9d96d2c8b
commit
1f7460fd11
3 changed files with 95 additions and 2 deletions
theories
|
@ -15,11 +15,14 @@ Module Compile.
|
|||
| Pair a b => Pair (F a) (F b)
|
||||
| Proj t a => Proj t (F a)
|
||||
| Bot => Bot
|
||||
| If a b c => App (App (F a) (F b)) (F c)
|
||||
| BVal b => if b then (Abs (Abs (VarTm (shift var_zero)))) else (Abs (Abs (VarTm var_zero)))
|
||||
| Bool => Bool
|
||||
end.
|
||||
|
||||
Lemma renaming n m (a : Tm n) (ξ : fin n -> fin m) :
|
||||
F (ren_Tm ξ a)= ren_Tm ξ (F a).
|
||||
Proof. move : m ξ. elim : n / a => //=; scongruence. Qed.
|
||||
Proof. move : m ξ. elim : n / a => //=; hauto lq:on. Qed.
|
||||
|
||||
#[local]Hint Rewrite Compile.renaming : compile.
|
||||
|
||||
|
@ -33,6 +36,8 @@ Module Compile.
|
|||
- hauto lq:on rew:off.
|
||||
- hauto lq:on.
|
||||
- hauto lq:on inv:option rew:db:compile unfold:funcomp.
|
||||
- hauto lq:on rew:off.
|
||||
- hauto lq:on rew:off.
|
||||
Qed.
|
||||
|
||||
Lemma substing n b (a : Tm (S n)) :
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue