Add Coquand's algorithm
This commit is contained in:
parent
8105b5c410
commit
bccf6eb860
4 changed files with 169 additions and 35 deletions
|
@ -45,3 +45,48 @@ Proof.
|
|||
sauto.
|
||||
congruence.
|
||||
Qed.
|
||||
|
||||
Definition ishf {n} (a : PTm n) :=
|
||||
match a with
|
||||
| PPair _ _ => true
|
||||
| PAbs _ => true
|
||||
| PUniv _ => true
|
||||
| PBind _ _ _ => true
|
||||
| _ => false
|
||||
end.
|
||||
|
||||
Fixpoint ishne {n} (a : PTm n) :=
|
||||
match a with
|
||||
| VarPTm _ => true
|
||||
| PApp a _ => ishne a
|
||||
| PProj _ a => ishne a
|
||||
| _ => false
|
||||
end.
|
||||
|
||||
Definition isbind {n} (a : PTm n) := if a is PBind _ _ _ then true else false.
|
||||
|
||||
Definition isuniv {n} (a : PTm n) := if a is PUniv _ then true else false.
|
||||
|
||||
Definition ispair {n} (a : PTm n) :=
|
||||
match a with
|
||||
| PPair _ _ => true
|
||||
| _ => false
|
||||
end.
|
||||
|
||||
Definition isabs {n} (a : PTm n) :=
|
||||
match a with
|
||||
| PAbs _ => true
|
||||
| _ => false
|
||||
end.
|
||||
|
||||
Definition ishf_ren n m (a : PTm n) (ξ : fin n -> fin m) :
|
||||
ishf (ren_PTm ξ a) = ishf a.
|
||||
Proof. case : a => //=. Qed.
|
||||
|
||||
Definition isabs_ren n m (a : PTm n) (ξ : fin n -> fin m) :
|
||||
isabs (ren_PTm ξ a) = isabs a.
|
||||
Proof. case : a => //=. Qed.
|
||||
|
||||
Definition ispair_ren n m (a : PTm n) (ξ : fin n -> fin m) :
|
||||
ispair (ren_PTm ξ a) = ispair a.
|
||||
Proof. case : a => //=. Qed.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue