aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Numbers/NatInt/NZOrder.v
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-01-17 13:31:24 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-01-17 13:31:24 +0000
commitcd4f47d6aa9654b163a2494e462aa43001b55fda (patch)
tree524cf2c4138b9c973379915ed7558005db8ecdab /theories/Numbers/NatInt/NZOrder.v
parent0768a9c968dfc205334dabdd3e86d2a91bb7a33a (diff)
BigN, BigZ, BigQ: presentation via unique module with both ops and props
We use the <+ operation to regroup all known facts about BigN (resp BigZ, ...) in a unique module. This uses also the new ! feature for controling inlining. By the way, we also make sure that these new BigN and BigZ modules implements OrderedTypeFull and TotalOrder, and also contains facts about min and max (cf. GenericMinMax). Side effects: - In NSig and ZSig, specification of compare and eq_bool is now done with respect to Zcompare and Zeq_bool, as for other ops. The order <= and < are also defined via Zle and Zlt, instead of using compare. Min and max are axiomatized instead of being macros. - Some proofs rework in QMake - QOrderedType and Qminmax were in fact not compiled by make world Still todo: OrderedType + MinMax for BigQ, etc etc git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12680 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Numbers/NatInt/NZOrder.v')
-rw-r--r--theories/Numbers/NatInt/NZOrder.v19
1 files changed, 10 insertions, 9 deletions
diff --git a/theories/Numbers/NatInt/NZOrder.v b/theories/Numbers/NatInt/NZOrder.v
index 734ebe95b..14fa0bfde 100644
--- a/theories/Numbers/NatInt/NZOrder.v
+++ b/theories/Numbers/NatInt/NZOrder.v
@@ -144,6 +144,10 @@ Qed.
(** We know enough now to benefit from the generic [order] tactic. *)
+Definition lt_compat := lt_wd.
+Definition lt_total := lt_trichotomy.
+Definition le_lteq := lt_eq_cases.
+
Module OrderElts <: TotalOrder.
Definition t := t.
Definition eq := eq.
@@ -151,9 +155,9 @@ Module OrderElts <: TotalOrder.
Definition le := le.
Definition eq_equiv := eq_equiv.
Definition lt_strorder := lt_strorder.
- Definition lt_compat := lt_wd.
- Definition lt_total := lt_trichotomy.
- Definition le_lteq := lt_eq_cases.
+ Definition lt_compat := lt_compat.
+ Definition lt_total := lt_total.
+ Definition le_lteq := le_lteq.
End OrderElts.
Module OrderTac := !MakeOrderTac OrderElts.
Ltac order := OrderTac.order.
@@ -635,9 +639,6 @@ Module NZOrderPropFunct (NZ : NZOrdSig) :=
an [OrderedType] structure. *)
Module NZOrderedTypeFunct (NZ : NZDecOrdSig')
- <: DecidableTypeFull <: OrderedTypeFull.
- Include NZ <+ NZOrderPropFunct.
- Definition lt_compat := lt_wd.
- Definition le_lteq := lt_eq_cases.
- Include Compare2EqBool <+ HasEqBool2Dec.
-End NZOrderedTypeFunct.
+ <: DecidableTypeFull <: OrderedTypeFull :=
+ NZ <+ NZOrderPropFunct <+ Compare2EqBool <+ HasEqBool2Dec.
+