aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories/Reals/DiscrR.v
diff options
context:
space:
mode:
authorGravatar desmettr <desmettr@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-01-16 16:15:49 +0000
committerGravatar desmettr <desmettr@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-01-16 16:15:49 +0000
commit896264fe823e4367fea48bd98e4228a366753bc4 (patch)
tree144fbdbfb937f0323eff656ea7d418e903e9870c /theories/Reals/DiscrR.v
parent5338007b1e0b0184c0f4b38e185f4847766ddd7f (diff)
Ajout de la tactique Sup
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3513 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Reals/DiscrR.v')
-rw-r--r--theories/Reals/DiscrR.v15
1 files changed, 14 insertions, 1 deletions
diff --git a/theories/Reals/DiscrR.v b/theories/Reals/DiscrR.v
index b3982dab1..f7e3e0b1f 100644
--- a/theories/Reals/DiscrR.v
+++ b/theories/Reals/DiscrR.v
@@ -9,6 +9,7 @@
(*i $Id$ i*)
Require RIneq.
+Require Omega.
Recursive Tactic Definition Isrealint trm:=
Match trm With
@@ -56,4 +57,16 @@ Recursive Tactic Definition Sup0 :=
Match Context With
| [ |- ``0<1`` ] -> Apply Rlt_R0_R1
| [ |- ``0<?1`` ] -> Repeat (Apply Rmult_lt_pos Orelse Apply Rplus_lt_pos; Try Apply Rlt_R0_R1 Orelse Apply Rlt_R0_R2)
- | [ |- ``?1>0`` ] -> Change ``0<?1``; Sup0. \ No newline at end of file
+ | [ |- ``?1>0`` ] -> Change ``0<?1``; Sup0.
+
+Tactic Definition SupOmega := Replace R1 with (IZR `1`); [Repeat Rewrite <- plus_IZR Orelse Rewrite <- mult_IZR; Apply IZR_lt; Omega | Reflexivity].
+
+Recursive Tactic Definition Sup :=
+ Match Context With
+ | [ |- (Rgt ?1 ?2) ] -> Change ``?2<?1``; Sup
+ | [ |- ``0<?1`` ] -> Sup0
+ | [ |- (Rlt (Ropp ?1) R0) ] -> Rewrite <- Ropp_O; Sup
+ | [ |- (Rlt (Ropp ?1) (Ropp ?2)) ] -> Apply Rlt_Ropp; Sup
+ | [ |- (Rlt (Ropp ?1) ?2) ] -> Apply Rlt_trans with ``0``; Sup
+ | [ |- (Rlt ?1 ?2) ] -> SupOmega
+ | _ -> Idtac. \ No newline at end of file