coq: type equiv: add subfun/submorph

This commit is contained in:
Michael Sippel 2024-09-19 01:41:51 +02:00
parent 6e5c832db7
commit d23ad61ba3
Signed by: senvas
GPG key ID: F96CF119C34B64A6

View file

@ -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.