diff options
author | pottier <pottier@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-08-04 15:22:08 +0000 |
---|---|---|
committer | pottier <pottier@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2011-08-04 15:22:08 +0000 |
commit | ca6b6bfde9a0c5b91a53e9c139140403369ff658 (patch) | |
tree | fcfcc2284fc11e3f96867cd606f8f5ac25726351 /plugins/setoid_ring/Rings_R.v | |
parent | 726130d3d847e59d3556f6b302de155dc052d6a4 (diff) |
moins de reification inutile, noatations standards
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14385 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins/setoid_ring/Rings_R.v')
-rw-r--r-- | plugins/setoid_ring/Rings_R.v | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/plugins/setoid_ring/Rings_R.v b/plugins/setoid_ring/Rings_R.v new file mode 100644 index 000000000..fd219c235 --- /dev/null +++ b/plugins/setoid_ring/Rings_R.v @@ -0,0 +1,34 @@ +Require Export Cring. +Require Export Integral_domain. + +(* Real numbers *) +Require Import Reals. +Require Import RealField. + +Lemma Rsth : Setoid_Theory R (@eq R). +constructor;red;intros;subst;trivial. +Qed. + +Instance Rops: (@Ring_ops R 0%R 1%R Rplus Rmult Rminus Ropp (@eq R)). + +Instance Rri : (Ring (Ro:=Rops)). +constructor; +try (try apply Rsth; + try (unfold respectful, Proper; unfold equality; unfold eq_notation in *; + intros; try rewrite H; try rewrite H0; reflexivity)). + exact Rplus_0_l. exact Rplus_comm. symmetry. apply Rplus_assoc. + exact Rmult_1_l. exact Rmult_1_r. symmetry. apply Rmult_assoc. + exact Rmult_plus_distr_r. intros; apply Rmult_plus_distr_l. +exact Rplus_opp_r. +Defined. + +Instance Rcri: (Cring (Rr:=Rri)). +red. exact Rmult_comm. Defined. + +Lemma R_one_zero: 1%R <> 0%R. +discrR. +Qed. + +Instance Rdi : (Integral_domain (Rcr:=Rcri)). +constructor. +exact Rmult_integral. exact R_one_zero. Defined. |