From 9aeac0df74777ea90f7024326492f8c8570214e0 Mon Sep 17 00:00:00 2001 From: herbelin Date: Wed, 22 Oct 2003 13:44:29 +0000 Subject: Ajout NArithRing git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4703 85f007b7-540e-0410-9357-904b9bb8a0f7 --- Makefile | 1 + contrib/ring/NArithRing.v | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 contrib/ring/NArithRing.v diff --git a/Makefile b/Makefile index be973fe596..69dbf1c107 100644 --- a/Makefile +++ b/Makefile @@ -704,6 +704,7 @@ ROMEGAVO=\ RINGVO=\ contrib/ring/ArithRing.vo contrib/ring/Ring_normalize.vo \ contrib/ring/Ring_theory.vo contrib/ring/Ring.vo \ + contrib/ring/NArithRing.vo \ contrib/ring/ZArithRing.vo contrib/ring/Ring_abstract.vo \ contrib/ring/Quote.vo contrib/ring/Setoid_ring_normalize.vo \ contrib/ring/Setoid_ring.vo contrib/ring/Setoid_ring_theory.vo diff --git a/contrib/ring/NArithRing.v b/contrib/ring/NArithRing.v new file mode 100644 index 0000000000..27fd0f9938 --- /dev/null +++ b/contrib/ring/NArithRing.v @@ -0,0 +1,43 @@ +(***********************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* true + | _ => false + end. + +Lemma Neq_prop : (n,m:entier)(Is_true (Neq n m)) -> n=m. + Intros n m H; Unfold Neq in H. + Apply Ncompare_Eq_eq. + NewDestruct (Ncompare n m); [Reflexivity | Contradiction | Contradiction ]. +Save. + +Definition NTheory : (Semi_Ring_Theory Nplus Nmult (Pos xH) Nul Neq). + Split. + Apply Nplus_comm. + Symmetry; Apply Nplus_assoc_l. + Apply Nmult_comm. + Symmetry; Apply Nmult_assoc_l. + Apply Nplus_0_l. + Apply Nmult_1_l. + Apply Nmult_0_l. + Apply Nmult_Nplus_distr_l. + Apply Nplus_reg_l. + Apply Neq_prop. +Save. + +Add Semi Ring entier Nplus Nmult (Pos xH) Nul Neq NTheory [Pos Nul xO xI xH]. -- cgit v1.2.3