Commit 4c763af2 authored by MARCHE Claude's avatar MARCHE Claude
Browse files

Added a lemma on real.PowerInt.power + updated Coq realizations

parent 69dc560d
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session SYSTEM "/home/marche/why3/share/why3session.dtd">
<why3session
name="examples/check-builtin/real/why3session.xml" shape_version="2">
name="check-builtin/real/why3session.xml" shape_version="2">
<prover
id="0"
name="Alt-Ergo"
......@@ -40,13 +40,13 @@
expanded="true">
<theory
name="Test"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="1" loccnumb="7" loccnume="11"
verified="true"
expanded="false">
<goal
name="G1"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="3" loccnumb="7" loccnume="9"
sum="f207e29e9079f1be6781c87d4c160c81"
proved="true"
......@@ -74,7 +74,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.01"/>
</proof>
<proof
prover="3"
......@@ -106,12 +106,12 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
<goal
name="G2"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="4" loccnumb="7" loccnume="9"
sum="9e04fefcbd74163191244b6b8d7562ea"
proved="true"
......@@ -139,7 +139,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.01"/>
</proof>
<proof
prover="3"
......@@ -168,7 +168,7 @@
</goal>
<goal
name="G3"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="5" loccnumb="7" loccnume="9"
sum="1a2d5acb41bac2a5d5a5ae9a44802cf2"
proved="true"
......@@ -218,13 +218,13 @@
</theory>
<theory
name="TestInfix"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="8" loccnumb="7" loccnume="16"
verified="true"
expanded="false">
<goal
name="Add"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="10" loccnumb="7" loccnume="10"
sum="0e9baf7fe8694089437161de221049eb"
proved="true"
......@@ -252,7 +252,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.00"/>
</proof>
<proof
prover="3"
......@@ -281,7 +281,7 @@
</goal>
<goal
name="Sub"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="11" loccnumb="7" loccnume="10"
sum="b96ec09f1f28908a2a176b392f18f9d1"
proved="true"
......@@ -309,7 +309,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.00"/>
</proof>
<proof
prover="3"
......@@ -338,7 +338,7 @@
</goal>
<goal
name="Neg"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="12" loccnumb="7" loccnume="10"
sum="d23a894b757b84a44b8fff0618108d37"
proved="true"
......@@ -395,7 +395,7 @@
</goal>
<goal
name="Mul"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="13" loccnumb="7" loccnume="10"
sum="e29404325109ec3f401b46eee6e14b98"
proved="true"
......@@ -452,7 +452,7 @@
</goal>
<goal
name="Div"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="14" loccnumb="7" loccnume="10"
sum="c06e2f7b6439bb0fb78135acce05d589"
proved="true"
......@@ -509,7 +509,7 @@
</goal>
<goal
name="Inv"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="15" loccnumb="7" loccnume="10"
sum="7a5279ca7f27da7d779586f6eb3b0123"
proved="true"
......@@ -537,7 +537,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.01"/>
</proof>
<proof
prover="3"
......@@ -559,13 +559,13 @@
</theory>
<theory
name="SquareTest"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="19" loccnumb="7" loccnume="17"
verified="true"
expanded="false">
<goal
name="Sqrt_zero"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="23" loccnumb="8" loccnume="17"
sum="b353ced9b0f041c36c827f26d50b3acd"
proved="true"
......@@ -601,7 +601,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.01"/>
</proof>
<proof
prover="4"
......@@ -617,12 +617,12 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.02"/>
</proof>
</goal>
<goal
name="Sqrt_one"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="24" loccnumb="8" loccnume="16"
sum="e8ec282b918f9ea65664f75b3f6ba8f4"
proved="true"
......@@ -650,7 +650,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.01"/>
</proof>
<proof
prover="3"
......@@ -679,7 +679,7 @@
</goal>
<goal
name="Sqrt_four"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="25" loccnumb="8" loccnume="17"
sum="84ef0743ccce40f492768328498afce8"
proved="true"
......@@ -707,7 +707,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.00"/>
</proof>
<proof
prover="3"
......@@ -727,23 +727,23 @@
</proof>
<proof
prover="7"
timelimit="66"
timelimit="67"
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="33.10"/>
<result status="valid" time="32.60"/>
</proof>
</goal>
</theory>
<theory
name="ExpLogTest"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="29" loccnumb="7" loccnume="17"
verified="true"
expanded="true">
<goal
name="Log_e"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="33" loccnumb="8" loccnume="13"
sum="da0b025851b39560876d3ece835be34c"
proved="true"
......@@ -787,21 +787,21 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="valid" time="0.01"/>
</proof>
</goal>
</theory>
<theory
name="PowerIntTest"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="38" loccnumb="7" loccnume="19"
verified="true"
expanded="true">
<goal
name="Pow_2_2"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="42" loccnumb="8" loccnume="15"
sum="fef17c8a45382b4eb8b4a61320e3c724"
sum="0c57c43ad51efde644bc54caf05b6e35"
proved="true"
expanded="true"
shape="ainfix =apowerc2.0c2c4.0">
......@@ -811,7 +811,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
<proof
prover="2"
......@@ -851,7 +851,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.02"/>
<result status="valid" time="0.01"/>
</proof>
<proof
prover="1"
......@@ -865,13 +865,13 @@
</theory>
<theory
name="PowerRealTest"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="47" loccnumb="7" loccnume="20"
verified="true"
expanded="true">
<goal
name="Pow_2_2"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="51" loccnumb="8" loccnume="15"
sum="38a4f95c27069a2dc6dcd4d7442ce8f7"
proved="true"
......@@ -905,13 +905,13 @@
</theory>
<theory
name="TrigonometryTest"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="56" loccnumb="7" loccnume="23"
verified="false"
expanded="true">
<goal
name="Cos_2_pi"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="62" loccnumb="8" loccnume="16"
sum="fed2556e175a5a894d0c067466ee4ba5"
proved="true"
......@@ -923,7 +923,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.10"/>
<result status="valid" time="0.11"/>
</proof>
<proof
prover="0"
......@@ -955,12 +955,12 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.08"/>
<result status="valid" time="0.09"/>
</proof>
</goal>
<goal
name="Sin_2_pi"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="63" loccnumb="8" loccnume="16"
sum="f3bd7f5c25e900c5b9192d125cd94d8d"
proved="true"
......@@ -972,7 +972,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.15"/>
<result status="valid" time="0.16"/>
</proof>
<proof
prover="0"
......@@ -980,7 +980,7 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="3.94"/>
<result status="valid" time="3.93"/>
</proof>
<proof
prover="2"
......@@ -1004,7 +1004,7 @@
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.11"/>
<result status="valid" time="0.12"/>
</proof>
<proof
prover="1"
......@@ -1012,12 +1012,12 @@
memlimit="1000"
obsolete="false"
archived="false">
<result status="valid" time="3.34"/>
<result status="valid" time="3.36"/>
</proof>
</goal>
<goal
name="Tan_pi_3"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="64" loccnumb="8" loccnume="16"
sum="71dffba24c326a5ef2b7a294be8367b5"
proved="false"
......@@ -1058,7 +1058,7 @@
</goal>
<goal
name="Atan_1"
locfile="examples/check-builtin/real/../real.why"
locfile="check-builtin/real/../real.why"
loclnum="65" loccnumb="8" loccnume="14"
sum="706631d649ed857b77c6d151ceb04080"
proved="false"
......
......@@ -20,7 +20,7 @@
name="pow_eps2_max_int"
locfile="tests-provers/coq-interval/../coq-interval.why"
loclnum="6" loccnumb="7" loccnume="23"
sum="b5f712d3c2d0add5ba666a70b3ff7137"
sum="a75e748716f4cb7390dac252de8caf94"
proved="true"
expanded="true"
shape="ainfix &lt;=apowerainfix +c1.0ainfix +c0x7.p-50c0x3.p-53c2147483647c2.0">
......@@ -31,7 +31,7 @@
edited="coqmninterval_P_pow_eps2_max_int_1.v"
obsolete="false"
archived="false">
<result status="valid" time="2.36"/>
<result status="valid" time="2.32"/>
</proof>
</goal>
</theory>
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import Rbasic_fun.
Require BuiltIn.
Require int.Int.
Require real.Real.
Require real.Abs.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.
Require Import floating_point.GenFloat.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.
(* Why3 assumption *)
Inductive mode :=
......@@ -10,5 +10,7 @@ Inductive mode :=
| Up : mode
| Down : mode
| NearestTiesToAway : mode .
Axiom mode_WhyType : WhyType mode.
Existing Instance mode_WhyType.
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import Rbasic_fun.
Require BuiltIn.
Require int.Int.
Require real.Real.
Require real.Abs.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.
Require Import floating_point.GenFloat.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.
Require int.Int.
(* Why3 goal *)
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import ZOdiv.
Require BuiltIn.
Require int.Int.
Require int.Abs.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.
Require int.Int.
Require int.Abs.
......
......@@ -52,6 +52,14 @@ fold (Zsucc n).
now rewrite Zabs_nat_Zsucc.
Qed.
(* Why3 goal *)
Lemma Power_s_alt : forall (x:t) (n:Z), (0%Z < n)%Z -> ((power x
n) = (infix_as x (power x (n - 1%Z)%Z))).
intros x n h1.
rewrite <- Power_s; auto with zarith.
f_equal; omega.
Qed.
(* Why3 goal *)
Lemma Power_1 : forall (x:t), ((power x 1%Z) = x).
Proof.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.
Require int.Int.
(* Why3 goal *)
......
......@@ -38,6 +38,15 @@ now apply Zle_ge.
easy.
Qed.
(* Why3 goal *)
Lemma Power_s_alt : forall (x:Z) (n:Z), (0%Z < n)%Z -> ((power x
n) = (x * (power x (n - 1%Z)%Z))%Z).
intros x n h1.
rewrite <- Power_s.
f_equal; auto with zarith.
omega.
Qed.
(* Why3 goal *)
Lemma Power_1 : forall (x:Z), ((power x 1%Z) = x).
Proof.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import ZOdiv.
Require BuiltIn.
Require int.Int.
Require int.Abs.
Require int.EuclideanDivision.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import ZOdiv.
Require BuiltIn.
Require int.Int.
Require int.Abs.
Require int.EuclideanDivision.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.
Require int.Int.
(* Why3 assumption *)
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import ZOdiv.
Require BuiltIn.
Require int.Int.
Require int.Abs.
Require int.EuclideanDivision.
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import Rbasic_fun.
Require BuiltIn.
Require real.Real.
(* Why3 goal *)
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require Import Rtrigo_def.
Require Import Rpower.
Require BuiltIn.
Require real.Real.
(* Why3 goal *)
......
(* This file is generated by Why3's Coq driver *)
(* Beware! Only edit allowed sections below *)
Require Import ZArith.
Require Import Rbase.
Require Import BuiltIn.
Require BuiltIn.