diff options
author | emakarov <emakarov@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2007-11-07 18:39:28 +0000 |
---|---|---|
committer | emakarov <emakarov@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2007-11-07 18:39:28 +0000 |
commit | 1e57f0c3312713ac6137da0c3612605501f65d58 (patch) | |
tree | f2ee90ae17e86dd69fc9d07aa98d60b261b9ce42 /theories/Numbers/NatInt/NZAxioms.v | |
parent | 817cc54cff3d40adb15481fddba7448b7b024f26 (diff) |
Replaced BinNat with a new version that is based on theories/Numbers/Natural/Binary/NBinDefs. Most of the entities in the new BinNat are notations for the development in Numbers. Also added min and max to the new natural numbers and integers.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10298 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Numbers/NatInt/NZAxioms.v')
-rw-r--r-- | theories/Numbers/NatInt/NZAxioms.v | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/theories/Numbers/NatInt/NZAxioms.v b/theories/Numbers/NatInt/NZAxioms.v index 89f44fcd4..9c9161e2b 100644 --- a/theories/Numbers/NatInt/NZAxioms.v +++ b/theories/Numbers/NatInt/NZAxioms.v @@ -1,3 +1,15 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *) +(* \VV/ **************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(************************************************************************) +(* Evgeny Makarov, INRIA, 2007 *) +(************************************************************************) + +(*i i*) + Require Export NumPrelude. Module Type NZAxiomsSig. @@ -11,12 +23,12 @@ Parameter Inline NZplus : NZ -> NZ -> NZ. Parameter Inline NZminus : NZ -> NZ -> NZ. Parameter Inline NZtimes : NZ -> NZ -> NZ. -Axiom NZE_equiv : equiv NZ NZeq. +Axiom NZeq_equiv : equiv NZ NZeq. Add Relation NZ NZeq - reflexivity proved by (proj1 NZE_equiv) - symmetry proved by (proj2 (proj2 NZE_equiv)) - transitivity proved by (proj1 (proj2 NZE_equiv)) -as NZE_rel. + reflexivity proved by (proj1 NZeq_equiv) + symmetry proved by (proj2 (proj2 NZeq_equiv)) + transitivity proved by (proj1 (proj2 NZeq_equiv)) +as NZeq_rel. Add Morphism NZsucc with signature NZeq ==> NZeq as NZsucc_wd. Add Morphism NZpred with signature NZeq ==> NZeq as NZpred_wd. @@ -59,9 +71,13 @@ Open Local Scope NatIntScope. Parameter Inline NZlt : NZ -> NZ -> Prop. Parameter Inline NZle : NZ -> NZ -> Prop. +Parameter Inline NZmin : NZ -> NZ -> NZ. +Parameter Inline NZmax : NZ -> NZ -> NZ. Add Morphism NZlt with signature NZeq ==> NZeq ==> iff as NZlt_wd. Add Morphism NZle with signature NZeq ==> NZeq ==> iff as NZle_wd. +Add Morphism NZmin with signature NZeq ==> NZeq ==> NZeq as NZmin_wd. +Add Morphism NZmax with signature NZeq ==> NZeq ==> NZeq as NZmax_wd. Notation "x < y" := (NZlt x y) : NatIntScope. Notation "x <= y" := (NZle x y) : NatIntScope. @@ -71,4 +87,10 @@ Notation "x >= y" := (NZle y x) (only parsing) : NatIntScope. Axiom NZle_lt_or_eq : forall n m : NZ, n <= m <-> n < m \/ n == m. Axiom NZlt_irrefl : forall n : NZ, ~ (n < n). Axiom NZlt_succ_le : forall n m : NZ, n < S m <-> n <= m. + +Axiom NZmin_l : forall n m : NZ, n <= m -> NZmin n m == n. +Axiom NZmin_r : forall n m : NZ, m <= n -> NZmin n m == m. +Axiom NZmax_l : forall n m : NZ, m <= n -> NZmax n m == n. +Axiom NZmax_r : forall n m : NZ, n <= m -> NZmax n m == m. + End NZOrdAxiomsSig. |