coq: type equiv: add subfun/submorph
This commit is contained in:
parent
6e5c832db7
commit
d23ad61ba3
1 changed files with 15 additions and 1 deletions
16
coq/equiv.v
16
coq/equiv.v
|
@ -220,6 +220,16 @@ Inductive type_eq : type_term -> type_term -> Prop :=
|
|||
y === z ->
|
||||
x === z
|
||||
|
||||
| TEq_SubFun : forall x x' y y',
|
||||
x === x' ->
|
||||
y === y' ->
|
||||
[< x -> y >] === [< x' -> y' >]
|
||||
|
||||
| TEq_SubMorph : forall x x' y y',
|
||||
x === x' ->
|
||||
y === y' ->
|
||||
[< x ->morph y >] === [< x' ->morph y' >]
|
||||
|
||||
| TEq_LadderAssocLR : forall x y z,
|
||||
[< (x~y)~z >]
|
||||
===
|
||||
|
@ -259,7 +269,11 @@ Proof.
|
|||
apply TEq_Trans with (y:=y).
|
||||
apply IHtype_eq2.
|
||||
apply IHtype_eq1.
|
||||
|
||||
|
||||
apply TEq_SubFun.
|
||||
auto. auto.
|
||||
apply TEq_SubMorph.
|
||||
auto. auto.
|
||||
apply TEq_LadderAssocRL.
|
||||
apply TEq_LadderAssocLR.
|
||||
|
||||
|
|
Loading…
Reference in a new issue