aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Structures/OrderTac.v
diff options
context:
space:
mode:
Diffstat (limited to 'theories/Structures/OrderTac.v')
-rw-r--r--theories/Structures/OrderTac.v37
1 files changed, 19 insertions, 18 deletions
diff --git a/theories/Structures/OrderTac.v b/theories/Structures/OrderTac.v
index c2990f283..31c9324f8 100644
--- a/theories/Structures/OrderTac.v
+++ b/theories/Structures/OrderTac.v
@@ -44,16 +44,17 @@ End OrderTacSig.
(** An abstract vision of the predicates. This allows a one-line
statement for interesting transitivity properties: for instance
- [trans_ord LE LE = LE] will imply later [le x y -> le y z -> le x z].
- *)
+ [trans_ord OLE OLE = OLE] will imply later
+ [le x y -> le y z -> le x z].
+*)
-Inductive ord := EQ | LT | LE.
+Inductive ord := OEQ | OLT | OLE.
Definition trans_ord o o' :=
match o, o' with
- | EQ, _ => o'
- | _, EQ => o
- | LE, LE => LE
- | _, _ => LT
+ | OEQ, _ => o'
+ | _, OEQ => o
+ | OLE, OLE => OLE
+ | _, _ => OLT
end.
Infix "+" := trans_ord : order.
@@ -103,7 +104,7 @@ Ltac subst_eqns :=
end.
Definition interp_ord o :=
- match o with EQ => eq | LT => lt | LE => le end.
+ match o with OEQ => eq | OLT => lt | OLE => le end.
Notation "#" := interp_ord : order.
Lemma trans : forall o o' x y z, #o x y -> #o' y z -> #(o+o') x z.
@@ -112,15 +113,15 @@ destruct o, o'; simpl; intros x y z; rewrite ?le_lteq; intuition;
subst_eqns; eauto using (StrictOrder_Transitive x y z) with *.
Qed.
-Definition eq_trans x y z : x==y -> y==z -> x==z := trans EQ EQ x y z.
-Definition le_trans x y z : x<=y -> y<=z -> x<=z := trans LE LE x y z.
-Definition lt_trans x y z : x<y -> y<z -> x<z := trans LT LT x y z.
-Definition le_lt_trans x y z : x<=y -> y<z -> x<z := trans LE LT x y z.
-Definition lt_le_trans x y z : x<y -> y<=z -> x<z := trans LT LE x y z.
-Definition eq_lt x y z : x==y -> y<z -> x<z := trans EQ LT x y z.
-Definition lt_eq x y z : x<y -> y==z -> x<z := trans LT EQ x y z.
-Definition eq_le x y z : x==y -> y<=z -> x<=z := trans EQ LE x y z.
-Definition le_eq x y z : x<=y -> y==z -> x<=z := trans LE EQ x y z.
+Definition eq_trans x y z : x==y -> y==z -> x==z := trans OEQ OEQ x y z.
+Definition le_trans x y z : x<=y -> y<=z -> x<=z := trans OLE OLE x y z.
+Definition lt_trans x y z : x<y -> y<z -> x<z := trans OLT OLT x y z.
+Definition le_lt_trans x y z : x<=y -> y<z -> x<z := trans OLE OLT x y z.
+Definition lt_le_trans x y z : x<y -> y<=z -> x<z := trans OLT OLE x y z.
+Definition eq_lt x y z : x==y -> y<z -> x<z := trans OEQ OLT x y z.
+Definition lt_eq x y z : x<y -> y==z -> x<z := trans OLT OEQ x y z.
+Definition eq_le x y z : x==y -> y<=z -> x<=z := trans OEQ OLE x y z.
+Definition le_eq x y z : x<=y -> y==z -> x<=z := trans OLE OEQ x y z.
Lemma eq_neq : forall x y z, x==y -> ~y==z -> ~x==z.
Proof. eauto using eq_trans, eq_sym. Qed.
@@ -176,7 +177,7 @@ end.
Ltac order_eq x y eqn :=
match x with
| y => clear eqn
- | _ => change (#EQ x y) in eqn; order_rewr x eqn
+ | _ => change (#OEQ x y) in eqn; order_rewr x eqn
end.
(** Goal preparation : We turn all negative hyps into positive ones