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 ->
|
y === z ->
|
||||||
x === 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,
|
| TEq_LadderAssocLR : forall x y z,
|
||||||
[< (x~y)~z >]
|
[< (x~y)~z >]
|
||||||
===
|
===
|
||||||
|
@ -259,7 +269,11 @@ Proof.
|
||||||
apply TEq_Trans with (y:=y).
|
apply TEq_Trans with (y:=y).
|
||||||
apply IHtype_eq2.
|
apply IHtype_eq2.
|
||||||
apply IHtype_eq1.
|
apply IHtype_eq1.
|
||||||
|
|
||||||
|
apply TEq_SubFun.
|
||||||
|
auto. auto.
|
||||||
|
apply TEq_SubMorph.
|
||||||
|
auto. auto.
|
||||||
apply TEq_LadderAssocRL.
|
apply TEq_LadderAssocRL.
|
||||||
apply TEq_LadderAssocLR.
|
apply TEq_LadderAssocLR.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue