Skip to content

Commit 8f80466

Browse files
committed
SetoidRewrite: more clarifications
1 parent 8ae5ffa commit 8f80466

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

contrib/SetoidRewrite.v

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ From HoTT Require Import WildCat.Core
2727
GpdHom ==>
2828
CRelationClasses.flip CRelationClasses.arrow) GpdHom.
2929
Proof.
30+
(* Add the next line to the start of any proof to see what it means: *)
31+
unfold "==>", CMorphisms.Proper, CRelationClasses.arrow, CRelationClasses.flip in *.
3032
intros x y eq_xy a b eq_ab eq_yb.
3133
exact (transitivity eq_xy (transitivity eq_yb
3234
(symmetry _ _ eq_ab))).
@@ -48,7 +50,7 @@ Proof.
4850
exact (symmetry _ _ eq_xy).
4951
Defined.
5052

51-
(** forall a : A, x $== y -> a $== x -> a $== y *)
53+
(** forall a x y : A, x $== y -> a $== x -> a $== y *)
5254
#[export] Instance IsProper_GpdHom_to_a {A : Type} `{Is0Gpd A}
5355
{a : A}
5456
: CMorphisms.Proper
@@ -59,7 +61,7 @@ Proof.
5961
by transitivity x.
6062
Defined.
6163

62-
(** forall a : A, x $== y -> a $== y -> a $== x *)
64+
(** forall a x y : A, x $== y -> a $== y -> a $== x *)
6365
#[export] Instance IsProper_GpdHom_from_a {A : Type} `{Is0Gpd A}
6466
{a : A}
6567
: CMorphisms.Proper
@@ -72,6 +74,7 @@ Defined.
7274

7375
Open Scope signatureT_scope.
7476

77+
(** If [R] is symmetric and [R x y -> R' (f x) (f y)], then [R y x -> R' (f x) (f y)]. *)
7578
#[export] Instance symmetry_flip {A B : Type} {f : A -> B}
7679
{R : Relation A} {R' : Relation B} `{Symmetric _ R}
7780
(H0 : CMorphisms.Proper (R ++> R') f)
@@ -81,6 +84,7 @@ Proof.
8184
apply H0. symmetry. exact Rba.
8285
Defined.
8386

87+
(** If [R'] is symmetric and [R x y -> R' x' y' -> R'' (f x x') (f y y')], then [R x y -> R' y' x' -> R'' (f x x') (f y y')]. *)
8488
#[export] Instance symmetric_flip_snd {A B C : Type} {R : Relation A}
8589
{R' : Relation B} {R'' : Relation C} `{Symmetric _ R'}
8690
(f : A -> B -> C) (H1 : CMorphisms.Proper (R ++> R' ++> R'') f)
@@ -116,7 +120,7 @@ Proof.
116120
intros a b eq_ab; apply H2; exact eq_ab.
117121
Defined.
118122

119-
#[export] Instance gpd_hom_is_proper1 {A : Type} `{Is0Gpd A}
123+
#[export] Instance IsProper_Hom {A : Type} `{Is0Gpd A}
120124
: CMorphisms.Proper
121125
(Hom ==> Hom ==> CRelationClasses.arrow) Hom.
122126
Proof.

0 commit comments

Comments
 (0)