aboutsummaryrefslogtreecommitdiff
path: root/theories
diff options
context:
space:
mode:
Diffstat (limited to 'theories')
-rw-r--r--theories/Classes/Morphisms.v6
-rw-r--r--theories/Classes/RelationClasses.v12
2 files changed, 11 insertions, 7 deletions
diff --git a/theories/Classes/Morphisms.v b/theories/Classes/Morphisms.v
index 4765bf0eea..c7e199b62b 100644
--- a/theories/Classes/Morphisms.v
+++ b/theories/Classes/Morphisms.v
@@ -20,6 +20,8 @@ Require Import Coq.Program.Tactics.
Require Import Coq.Relations.Relation_Definitions.
Require Export Coq.Classes.RelationClasses.
+Open Local Scope relation_scope.
+
Set Implicit Arguments.
Unset Strict Implicit.
@@ -445,7 +447,7 @@ Proof.
Qed.
Lemma inverse_respectful : forall (A : Type) (R : relation A) (B : Type) (R' : relation B),
- inverse (R ==> R') <->rel (inverse R ==> inverse R').
+ inverse (R ==> R') <R> (inverse R ==> inverse R').
Proof.
intros.
unfold flip, respectful.
@@ -591,5 +593,5 @@ Program Instance {A : Type} => all_inverse_impl_morphism :
Qed.
Lemma inverse_pointwise_relation A (R : relation A) :
- pointwise_relation (inverse R) <->rel inverse (pointwise_relation (A:=A) R).
+ pointwise_relation (inverse R) <R> inverse (pointwise_relation (A:=A) R).
Proof. reflexivity. Qed.
diff --git a/theories/Classes/RelationClasses.v b/theories/Classes/RelationClasses.v
index 3d5c6a7ee4..cb32b846d7 100644
--- a/theories/Classes/RelationClasses.v
+++ b/theories/Classes/RelationClasses.v
@@ -219,24 +219,26 @@ Program Instance [ sa : Equivalence a R, sb : Equivalence b R' ] => equiv_setoid
Definition relation_equivalence {A : Type} : relation (relation A) :=
fun (R R' : relation A) => forall x y, R x y <-> R' x y.
-Infix "<->rel" := relation_equivalence (at level 70).
+Infix "<R>" := relation_equivalence (at level 70) : relation_scope.
Class subrelation {A:Type} (R R' : relation A) :=
is_subrelation : forall x y, R x y -> R' x y.
Implicit Arguments subrelation [[A]].
-Infix "->rel" := subrelation (at level 70).
+Infix "-R>" := subrelation (at level 70) : relation_scope.
Definition relation_conjunction {A} (R : relation A) (R' : relation A) : relation A :=
fun x y => R x y /\ R' x y.
-Infix "//\\" := relation_conjunction (at level 55).
+Infix "/R\" := relation_conjunction (at level 55) : relation_scope.
Definition relation_disjunction {A} (R : relation A) (R' : relation A) : relation A :=
fun x y => R x y \/ R' x y.
-Infix "\\//" := relation_disjunction (at level 55).
+Infix "\R/" := relation_disjunction (at level 55) : relation_scope.
+
+Open Local Scope relation_scope.
(** Relation equivalence is an equivalence, and subrelation defines a partial order. *)
@@ -258,7 +260,7 @@ Program Instance subrelation_preorder :
on the carrier. *)
Class [ equ : Equivalence A eqA, PreOrder A R ] => PartialOrder :=
- partial_order_equivalence : relation_equivalence eqA (R //\\ flip R).
+ partial_order_equivalence : relation_equivalence eqA (R /R\ flip R).
(** The equivalence proof is sufficient for proving that [R] must be a morphism