Skip to content
Snippets Groups Projects
Commit b284adfa authored by Claude Marché's avatar Claude Marché
Browse files

Support for PolyPaver prover

parent 99d922cd
No related branches found
No related tags found
No related merge requests found
...@@ -4,15 +4,11 @@ ...@@ -4,15 +4,11 @@
printer "metitarski" printer "metitarski"
filename "%f-%t-%g.tptp" filename "%f-%t-%g.tptp"
valid "^SZS status Theorem" valid 0
valid "^SZS status Unsatisfiable" invalid 111
unknown "^SZS status CounterSatisfiable" "" timeout "Gave up on deciding conjecture: TIMED OUT"
unknown "^SZS status Satisfiable" ""
timeout "^SZS status Timeout"
unknown "^SZS status GaveUp" ""
fail "^SZS status Error" ""
time "why3cpulimit time : %s s" time "why3cpulimit time : %s s"
unknown 1 "toto"
(* to be improved *) (* to be improved *)
......
module TestFloat
use import floating_point.Double
function Sqrt (X : in Float) return Float
pre 1.0 <= X and X <= 2.0;
--# return R =>
--# R <= (1.0+4.0*PolyPaver.Floats.Eps_Rel)*PolyPaver.Exact.Sqrt(X);
is
R,S : Float;
begin
S := X;
R := PolyPaver.Floats.Add(PolyPaver.Floats.Multiply(0.5,X),0.5);
while R /= s loop
--# assert R in -0.25*X**2+X .. 0.25*X**2+1.0 ;
S := r;
R := PolyPaver.Floats.Multiply(0.5,
PolyPaver.Floats.Add(S,PolyPaver.Floats.Divide(X,S)));
end loop;
return R;
end Sqrt;
theory Test theory TestReal
(* (*
...@@ -8,11 +8,22 @@ theory Test ...@@ -8,11 +8,22 @@ theory Test
*) *)
use import real.Real use import real.Real
goal add1 : 1.0 + 2.0 = 3.0
goal add2 : 1.2 + 3.4 = 5.6
use import real.Square
use import real.ExpLog use import real.ExpLog
goal exp_hyp:
forall x:real. 0.01 < X < 5.1785 ->
(3.0 + sqr x / 11.0) * ((exp x - exp (-x))/2.0) <
x * (2.0 + (exp x + exp (-x))/2.0 + sqr x / 11.0)
goal g1: goal g1:
forall a b:real. forall a b:real.
-10.0 <= a <= 10.0 /\ -10.0 <= b <= 10.0 /\ b > a + 0.1 -> -10.0 <= a <= 10.0 /\ -10.0 <= b <= 10.0 /\ b > a + 0.1 ->
exp a - exp b > (b-a) * exp ((a + b) / 2.0) exp b - exp a > (b-a) * exp ((a + b) / 2.0)
end end
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="PolyPaver" version="0.3" timelimit="3600" memlimit="1000"/>
<file name="../polypaver.why" expanded="true">
<theory name="Test" sum="2676ef260e99a1019e7c4dfb35399b4f" expanded="true">
<goal name="add1" expanded="true">
<proof prover="0" edited="polypaver-Test-add1_1.tptp"><result status="unknown" time="0.01"/></proof>
</goal>
<goal name="add2" expanded="true">
<proof prover="0" timelimit="5"><result status="unknown" time="0.01"/></proof>
</goal>
<goal name="g1" expanded="true">
<proof prover="0"><result status="valid" time="626.99"/></proof>
</goal>
</theory>
</file>
</why3session>
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment