Commit 32c8a24c authored by MARCHE Claude's avatar MARCHE Claude

Yet another attempt to fix unstability of prover answers

- Call_provers.parse_prover_run does not attempt fixing answer anymore,
  except in the case where the answer is HighFailure and time is close
  to time limit (which is considered as Timeout)

- Session_scheduler.fuzzy_proof_time is now more liberal, accepts
  that two answers Unknown or Timeout of OutOfMemory with less than
  10% difference in time are equivalent, and thus should not be
  reported as a significant change
parent cb9c4303
......@@ -2,35 +2,35 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="CVC3" version="2.4.1" timelimit="3" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="3.2" timelimit="3" steplimit="0" memlimit="1000"/>
<prover id="5" name="Alt-Ergo" version="0.99.1" timelimit="3" steplimit="0" memlimit="1000"/>
<prover id="6" name="CVC4" version="1.4" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="7" name="Z3" version="4.3.2" timelimit="3" steplimit="0" memlimit="1000"/>
<prover id="0" name="CVC3" version="2.4.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="3.2" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="5" name="Alt-Ergo" version="0.99.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="6" name="CVC4" version="1.4" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="7" name="Z3" version="4.3.2" timelimit="1" steplimit="0" memlimit="1000"/>
<file name="../fsetint.why" expanded="true">
<theory name="Th1" sum="178010da29c32755768dd2cabaa41efd" expanded="true">
<goal name="l_false" expanded="true">
<proof prover="0"><result status="timeout" time="3.01"/></proof>
<proof prover="4"><result status="timeout" time="3.01"/></proof>
<proof prover="5" timelimit="5"><result status="unknown" time="0.01"/></proof>
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="5"><result status="unknown" time="0.01"/></proof>
<proof prover="6"><result status="unknown" time="0.01"/></proof>
<proof prover="7"><result status="timeout" time="3.01"/></proof>
<proof prover="7"><result status="timeout" time="1.00"/></proof>
</goal>
</theory>
<theory name="Th2" sum="76c066c8522aa7f70876d2be74b3ce00" expanded="true">
<goal name="mem_integer" expanded="true">
<proof prover="0"><result status="timeout" time="3.11"/></proof>
<proof prover="4"><result status="timeout" time="3.02"/></proof>
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="5"><result status="unknown" time="0.00"/></proof>
<proof prover="6"><result status="timeout" time="5.01"/></proof>
<proof prover="7"><result status="timeout" time="3.01"/></proof>
<proof prover="6"><result status="unknown" time="2.36"/></proof>
<proof prover="7"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="foo" expanded="true">
<proof prover="0"><result status="timeout" time="3.11"/></proof>
<proof prover="4"><result status="timeout" time="3.01"/></proof>
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="5"><result status="unknown" time="0.00"/></proof>
<proof prover="6"><result status="unknown" time="0.02"/></proof>
<proof prover="7"><result status="timeout" time="3.01"/></proof>
<proof prover="7"><result status="timeout" time="1.00"/></proof>
</goal>
</theory>
<theory name="Th3" sum="c5eb4cceefd63310665345c786f874f4" expanded="true">
......
......@@ -3,30 +3,30 @@
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="1" name="CVC3" version="2.4.1" timelimit="3" steplimit="0" memlimit="0"/>
<prover id="4" name="Spass" version="3.7" timelimit="10" steplimit="0" memlimit="0"/>
<prover id="4" name="Spass" version="3.7" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="5" name="Z3" version="3.2" timelimit="3" steplimit="0" memlimit="0"/>
<prover id="6" name="Vampire" version="0.6" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="6" name="Vampire" version="0.6" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="7" name="Alt-Ergo" version="0.99.1" timelimit="10" steplimit="0" memlimit="0"/>
<prover id="8" name="Eprover" version="1.8-001" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="8" name="Eprover" version="1.8-001" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="9" name="Z3" version="4.3.2" timelimit="10" steplimit="0" memlimit="0"/>
<file name="../int.why" expanded="true">
<theory name="Test" sum="fc4f5a5b6868cb7535da7ff9ae921fff" expanded="true">
<goal name="G1" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="10.06"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="timeout" time="5.10"/></proof>
<proof prover="6"><result status="unknown" time="1.09"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="0"/></proof>
<proof prover="8"><result status="timeout" time="4.99"/></proof>
<proof prover="8"><result status="timeout" time="1.00"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="G2" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="10.04"/></proof>
<proof prover="4"><result status="timeout" time="0.98"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="timeout" time="5.01"/></proof>
<proof prover="6"><result status="unknown" time="1.06"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="0"/></proof>
<proof prover="8"><result status="timeout" time="4.98"/></proof>
<proof prover="8"><result status="timeout" time="1.00"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="CompatOrderAdd" expanded="true">
......@@ -49,7 +49,7 @@
</goal>
<goal name="InvMult" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4" timelimit="5" memlimit="1000"><result status="valid" time="0.86"/></proof>
<proof prover="4"><result status="valid" time="0.86"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.03"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="0"/></proof>
......@@ -58,7 +58,7 @@
</goal>
<goal name="InvSquare" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4" timelimit="5" memlimit="1000"><result status="valid" time="0.78"/></proof>
<proof prover="4"><result status="valid" time="0.78"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.04"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="0"/></proof>
......@@ -67,7 +67,7 @@
</goal>
<goal name="ZeroMult" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4" timelimit="5" memlimit="1000"><result status="valid" time="0.05"/></proof>
<proof prover="4"><result status="valid" time="0.05"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="valid" time="0.02"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="0"/></proof>
......@@ -76,18 +76,18 @@
</goal>
<goal name="SquareNonNeg1" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="10.04"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="timeout" time="5.05"/></proof>
<proof prover="6"><result status="unknown" time="1.08"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="1"/></proof>
<proof prover="8"><result status="valid" time="0.04"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="SquareNonNeg" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="10.74"/></proof>
<proof prover="4"><result status="timeout" time="0.99"/></proof>
<proof prover="5"><result status="valid" time="0.00"/></proof>
<proof prover="6"><result status="timeout" time="5.09"/></proof>
<proof prover="6"><result status="unknown" time="1.07"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="0"/></proof>
<proof prover="8"><result status="valid" time="0.09"/></proof>
<proof prover="9"><result status="valid" time="0.00"/></proof>
......@@ -105,11 +105,11 @@
<theory name="MinMax" sum="5a65a1cfb37258d4746169718f12d1d3" expanded="true">
<goal name="G" expanded="true">
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="10.06"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="5"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="timeout" time="5.10"/></proof>
<proof prover="6"><result status="unknown" time="1.08"/></proof>
<proof prover="7"><result status="valid" time="0.00" steps="5"/></proof>
<proof prover="8"><result status="timeout" time="4.96"/></proof>
<proof prover="8"><result status="timeout" time="1.00"/></proof>
<proof prover="9"><result status="valid" time="0.01"/></proof>
</goal>
</theory>
......
......@@ -2,7 +2,7 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="Alt-Ergo" version="0.99.1" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="0" name="Alt-Ergo" version="0.99.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="CVC4" version="1.4" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="4.4.0" timelimit="5" steplimit="0" memlimit="1000"/>
<file name="../bitvectors.why" expanded="true">
......@@ -11,19 +11,19 @@
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="f1" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="f1">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.01"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g2">
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="f2" expanded="true">
<proof prover="0"><result status="timeout" time="5.00"/></proof>
<goal name="f2">
<proof prover="0"><result status="timeout" time="0.99"/></proof>
<proof prover="2"><result status="unknown" time="0.01"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g3">
<proof prover="2"><result status="valid" time="0.02"/></proof>
......@@ -41,45 +41,45 @@
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="f3c" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="f3c">
<proof prover="0"><result status="timeout" time="0.99"/></proof>
<proof prover="2"><result status="unknown" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="5.00"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g3aa" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="g3aa">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.02"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g3bb" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="g3bb">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.03"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="f3cc" expanded="true">
<proof prover="0"><result status="timeout" time="5.00"/></proof>
<goal name="f3cc">
<proof prover="0"><result status="timeout" time="1.01"/></proof>
<proof prover="2"><result status="unknown" time="0.02"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g4a">
<proof prover="0"><result status="valid" time="0.14" steps="84"/></proof>
<proof prover="0" timelimit="5"><result status="valid" time="0.14" steps="84"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g4b">
<proof prover="0"><result status="valid" time="0.06" steps="84"/></proof>
<proof prover="0" timelimit="5"><result status="valid" time="0.06" steps="84"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g4aa" expanded="true">
<proof prover="0"><result status="timeout" time="5.00"/></proof>
<goal name="g4aa">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g4bb" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="g4bb">
<proof prover="0"><result status="timeout" time="1.01"/></proof>
<proof prover="2"><result status="unknown" time="0.00"/></proof>
<proof prover="4"><result status="timeout" time="5.00"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g5a">
<proof prover="2"><result status="valid" time="0.02"/></proof>
......@@ -89,35 +89,35 @@
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g5aa" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="g5aa">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.02"/></proof>
<proof prover="4"><result status="timeout" time="5.00"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g5bb" expanded="true">
<proof prover="0"><result status="timeout" time="5.00"/></proof>
<goal name="g5bb">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.01"/></proof>
<proof prover="4"><result status="timeout" time="5.00"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g6a">
<proof prover="0"><result status="valid" time="0.03" steps="71"/></proof>
<proof prover="0" timelimit="5"><result status="valid" time="0.03" steps="71"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g6b">
<proof prover="0"><result status="valid" time="0.02" steps="71"/></proof>
<proof prover="0" timelimit="5"><result status="valid" time="0.02" steps="71"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g7a" expanded="true">
<proof prover="0"><result status="timeout" time="5.00"/></proof>
<goal name="g7a">
<proof prover="0"><result status="timeout" time="1.01"/></proof>
<proof prover="2"><result status="unknown" time="0.01"/></proof>
<proof prover="4"><result status="timeout" time="5.00"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g7b" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="g7b">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.01"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g8a">
<proof prover="2"><result status="valid" time="0.00"/></proof>
......@@ -127,23 +127,23 @@
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="g8aa" expanded="true">
<proof prover="0"><result status="timeout" time="5.00"/></proof>
<proof prover="2"><result status="timeout" time="5.02"/></proof>
<proof prover="4"><result status="timeout" time="4.99"/></proof>
<goal name="g8aa">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2" timelimit="1"><result status="unknown" time="1.01"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="g8bb" expanded="true">
<goal name="g8bb">
<proof prover="2"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="gtt">
<proof prover="0"><result status="valid" time="0.13" steps="79"/></proof>
<proof prover="0" timelimit="5"><result status="valid" time="0.13" steps="79"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="4"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="gttt" expanded="true">
<proof prover="0"><result status="timeout" time="5.01"/></proof>
<goal name="gttt">
<proof prover="0"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.02"/></proof>
<proof prover="4"><result status="timeout" time="5.00"/></proof>
<proof prover="4" timelimit="1"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="not_not">
<proof prover="2"><result status="valid" time="0.02"/></proof>
......
......@@ -2,80 +2,85 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="Alt-Ergo" version="0.99.1" timelimit="30" steplimit="0" memlimit="1000"/>
<prover id="1" name="Eprover" version="1.6" timelimit="30" steplimit="0" memlimit="1000"/>
<prover id="2" name="CVC3" version="2.4.1" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="3" name="CVC4" version="1.4" timelimit="3" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="2.19" timelimit="10" steplimit="0" memlimit="0"/>
<prover id="5" name="Spass" version="3.7" timelimit="30" steplimit="0" memlimit="1000"/>
<prover id="6" name="Z3" version="4.3.1" timelimit="30" steplimit="0" memlimit="1000"/>
<prover id="7" name="Yices" version="1.0.38" timelimit="7" steplimit="0" memlimit="0"/>
<prover id="8" name="Metis" version="2.3" timelimit="5" steplimit="0" memlimit="4000"/>
<prover id="9" name="Z3" version="3.2" timelimit="30" steplimit="0" memlimit="1000"/>
<prover id="10" name="Eprover" version="1.8-001" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="11" name="Alt-Ergo" version="0.95.2" timelimit="30" steplimit="0" memlimit="1000"/>
<prover id="13" name="CVC4" version="1.3" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="14" name="Vampire" version="0.6" timelimit="20" steplimit="0" memlimit="1000"/>
<prover id="15" name="Alt-Ergo" version="1.00.prv" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="16" name="veriT" version="201410" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="0" name="Alt-Ergo" version="0.99.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="1" name="Eprover" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="CVC3" version="2.4.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="3" name="CVC4" version="1.4" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="2.19" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="5" name="Spass" version="3.7" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="6" name="Z3" version="4.3.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="7" name="Yices" version="1.0.38" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="8" name="Metis" version="2.3" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="9" name="Z3" version="3.2" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="10" name="Eprover" version="1.8-001" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="11" name="Alt-Ergo" version="0.95.2" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="12" name="Alt-Ergo" version="1.20.prv" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="13" name="CVC4" version="1.3" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="14" name="Vampire" version="0.6" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="15" name="Alt-Ergo" version="1.00.prv" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="16" name="veriT" version="201410" timelimit="1" steplimit="0" memlimit="1000"/>
<file name="../einstein.why" expanded="true">
<theory name="Bijection" sum="d41d8cd98f00b204e9800998ecf8427e" expanded="true">
</theory>
<theory name="Einstein" sum="d41d8cd98f00b204e9800998ecf8427e" expanded="true">
</theory>
<theory name="Goals" sum="9fe1211e777a560b454f17977bc1a636" expanded="true">
<goal name="G1" expanded="true">
<proof prover="0"><result status="valid" time="13.44" steps="1560"/></proof>
<goal name="G1">
<proof prover="0"><result status="timeout" time="2.00"/></proof>
<proof prover="1"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.17"/></proof>
<proof prover="3" timelimit="5"><result status="unknown" time="0.04"/></proof>
<proof prover="3"><result status="unknown" time="0.04"/></proof>
<proof prover="4"><result status="valid" time="0.88"/></proof>
<proof prover="5"><result status="valid" time="4.35"/></proof>
<proof prover="6"><result status="valid" time="3.56"/></proof>
<proof prover="5"><result status="timeout" time="0.99"/></proof>
<proof prover="6"><result status="timeout" time="1.00"/></proof>
<proof prover="7"><result status="unknown" time="0.00"/></proof>
<proof prover="8" memlimit="1000"><result status="timeout" time="4.68"/></proof>
<proof prover="8"><result status="unknown" time="0.89"/></proof>
<proof prover="9"><result status="valid" time="0.26"/></proof>
<proof prover="10"><result status="valid" time="2.88"/></proof>
<proof prover="11"><result status="valid" time="13.87" steps="969"/></proof>
<proof prover="10"><result status="timeout" time="2.00"/></proof>
<proof prover="11"><result status="timeout" time="2.00"/></proof>
<proof prover="12"><result status="timeout" time="1.00"/></proof>
<proof prover="13"><result status="unknown" time="0.06"/></proof>
<proof prover="14"><result status="valid" time="1.50"/></proof>
<proof prover="15"><result status="valid" time="2.86" steps="642"/></proof>
<proof prover="16"><result status="timeout" time="4.99"/></proof>
<proof prover="15"><result status="timeout" time="2.00"/></proof>
<proof prover="16"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="Wrong" expanded="true">
<proof prover="0"><result status="unknown" time="15.98"/></proof>
<proof prover="1" timelimit="5"><result status="timeout" time="4.96"/></proof>
<goal name="Wrong">
<proof prover="0"><result status="timeout" time="2.00"/></proof>
<proof prover="1"><result status="timeout" time="1.00"/></proof>
<proof prover="2"><result status="unknown" time="0.06"/></proof>
<proof prover="3"><result status="unknown" time="0.04"/></proof>
<proof prover="4" timelimit="5"><result status="timeout" time="4.95"/></proof>
<proof prover="5" timelimit="5"><result status="timeout" time="4.99"/></proof>
<proof prover="6" timelimit="5"><result status="timeout" time="4.97"/></proof>
<proof prover="7" timelimit="5"><result status="unknown" time="0.00"/></proof>
<proof prover="8"><result status="timeout" time="4.66"/></proof>
<proof prover="9" timelimit="5"><result status="timeout" time="4.96"/></proof>
<proof prover="10"><result status="timeout" time="5.00"/></proof>
<proof prover="11"><result status="unknown" time="9.98"/></proof>
<proof prover="4"><result status="timeout" time="1.00"/></proof>
<proof prover="5"><result status="timeout" time="0.99"/></proof>
<proof prover="6"><result status="timeout" time="1.00"/></proof>
<proof prover="7"><result status="unknown" time="0.00"/></proof>
<proof prover="8"><result status="unknown" time="0.93"/></proof>
<proof prover="9"><result status="timeout" time="1.00"/></proof>
<proof prover="10"><result status="timeout" time="1.00"/></proof>
<proof prover="11"><result status="timeout" time="2.00"/></proof>
<proof prover="12"><result status="timeout" time="1.01"/></proof>
<proof prover="13"><result status="unknown" time="0.06"/></proof>
<proof prover="14" timelimit="5"><result status="timeout" time="5.09"/></proof>
<proof prover="14"><result status="unknown" time="1.00"/></proof>
<proof prover="15"><result status="unknown" time="1.33"/></proof>
<proof prover="16"><result status="timeout" time="4.98"/></proof>
<proof prover="16"><result status="timeout" time="1.00"/></proof>
</goal>
<goal name="G2" expanded="true">
<proof prover="0"><result status="valid" time="12.12" steps="1747"/></proof>
<proof prover="1"><result status="valid" time="17.81"/></proof>
<proof prover="2" timelimit="30"><result status="unknown" time="0.06"/></proof>
<goal name="G2">
<proof prover="0"><result status="timeout" time="1.99"/></proof>
<proof prover="1"><result status="timeout" time="2.00"/></proof>
<proof prover="2"><result status="unknown" time="0.06"/></proof>
<proof prover="3"><result status="unknown" time="0.04"/></proof>
<proof prover="4"><result status="valid" time="1.99"/></proof>
<proof prover="5"><result status="valid" time="4.18"/></proof>
<proof prover="6"><result status="valid" time="3.46"/></proof>
<proof prover="4"><result status="timeout" time="2.00"/></proof>
<proof prover="5"><result status="timeout" time="0.99"/></proof>
<proof prover="6"><result status="timeout" time="1.00"/></proof>
<proof prover="7"><result status="unknown" time="0.00"/></proof>
<proof prover="8"><result status="valid" time="3.74"/></proof>
<proof prover="8"><result status="unknown" time="1.85"/></proof>
<proof prover="9"><result status="valid" time="0.62"/></proof>
<proof prover="10"><result status="valid" time="0.79"/></proof>
<proof prover="11"><result status="valid" time="7.55" steps="1007"/></proof>
<proof prover="13" timelimit="3"><result status="unknown" time="0.06"/></proof>
<proof prover="11"><result status="timeout" time="2.00"/></proof>
<proof prover="12"><result status="timeout" time="1.00"/></proof>
<proof prover="13"><result status="unknown" time="0.06"/></proof>
<proof prover="14"><result status="valid" time="1.27"/></proof>
<proof prover="15"><result status="valid" time="1.82" steps="523"/></proof>
<proof prover="16"><result status="timeout" time="4.99"/></proof>
<proof prover="16"><result status="timeout" time="1.00"/></proof>
</goal>
</theory>
</file>
......
This diff is collapsed.
......@@ -5,7 +5,7 @@
<prover id="0" name="CVC3" version="2.4.1" timelimit="2" steplimit="0" memlimit="1000"/>
<prover id="1" name="Gappa" version="1.3.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="2" name="CVC4" version="1.4" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="8" name="Vampire" version="0.6" timelimit="2" steplimit="0" memlimit="1000"/>
<prover id="8" name="Vampire" version="0.6" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="9" name="Alt-Ergo" version="0.99.1" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="10" name="Z3" version="4.3.2" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="11" name="MetiTarski" version="2.4" timelimit="5" steplimit="0" memlimit="1000"/>
......@@ -16,6 +16,7 @@
<proof prover="0"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="8"><result status="unknown" time="1.05"/></proof>
<proof prover="9"><result status="valid" time="0.01" steps="0"/></proof>
<proof prover="10"><result status="valid" time="0.01"/></proof>
<proof prover="11"><result status="valid" time="0.01"/></proof>
......@@ -24,6 +25,7 @@
<proof prover="0"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="unknown" time="1.03"/></proof>
<proof prover="9"><result status="valid" time="0.01" steps="0"/></proof>
<proof prover="10"><result status="valid" time="0.01"/></proof>
<proof prover="11"><result status="valid" time="0.01"/></proof>
......@@ -32,6 +34,7 @@
<proof prover="0"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.00"/></proof>
<proof prover="2"><result status="valid" time="0.00"/></proof>
<proof prover="8"><result status="unknown" time="1.04"/></proof>
<proof prover="9"><result status="valid" time="0.01" steps="0"/></proof>
<proof prover="10"><result status="valid" time="0.01"/></proof>
<proof prover="11"><result status="valid" time="0.01"/></proof>
......@@ -39,7 +42,7 @@
<goal name="smoke1">
<proof prover="1"><result status="unknown" time="0.00"/></proof>
<proof prover="2"><result status="unknown" time="0.00"/></proof>
<proof prover="8"><result status="timeout" time="2.09"/></proof>
<proof prover="8"><result status="unknown" time="1.07"/></proof>
<proof prover="9"><result status="unknown" time="0.01"/></proof>
<proof prover="10"><result status="unknown" time="0.02"/></proof>
<proof prover="11"><result status="unknown" time="0.16"/></proof>
......@@ -47,7 +50,7 @@
<goal name="smoke3">
<proof prover="1"><result status="unknown" time="0.00"/></proof>
<proof prover="2"><result status="unknown" time="0.01"/></proof>
<proof prover="8"><result status="timeout" time="2.07"/></proof>
<proof prover="8"><result status="unknown" time="0.98"/></proof>
<proof prover="9"><result status="unknown" time="0.01"/></proof>
<proof prover="10"><result status="unknown" time="0.01"/></proof>
<proof prover="11"><result status="unknown" time="0.17"/></proof>
......@@ -55,25 +58,29 @@
<goal name="smoke5">
<proof prover="1"><result status="unknown" time="0.00"/></proof>
<proof prover="2"><result status="unknown" time="0.00"/></proof>
<proof prover="8"><result status="timeout" time="2.06"/></proof>
<proof prover="8"><result status="unknown" time="1.07"/></proof>
<proof prover="9"><result status="unknown" time="0.01"/></proof>
<proof prover="10"><result status="unknown" time="0.01"/></proof>
<proof prover="11"><result status="unknown" time="0.30"/></proof>
<proof prover="12"><result status="timeout" time="1.97"/></proof>
</goal>
<goal name="div_bound0">
<proof prover="8"><result status="unknown" time="1.04"/></proof>
<proof prover="10"><result status="valid" time="0.01"/></proof>
<proof prover="11"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="div_le">
<proof prover="8"><result status="unknown" time="1.09"/></proof>
<proof prover="10"><result status="valid" time="0.02"/></proof>
<proof prover="11"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="div_lt">
<proof prover="8"><result status="unknown" time="0.53"/></proof>
<proof prover="10"><result status="valid" time="0.01"/></proof>
<proof prover="11"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="le_div">
<proof prover="8"><result status="unknown" time="2.03"/></proof>
<proof prover="10"><result status="valid" time="0.01"/></proof>
<proof prover="11"><result status="valid" time="0.03"/></proof>
</goal>
......
......@@ -120,6 +120,7 @@ let rec grep_steps out = function
let grep_reason_unknown out =
try
(* TODO: this is SMTLIB specific, should be done in drivers instead *)
let re = Str.regexp "^(:reason-unknown \\([^)]*\\)" in
ignore (Str.search_forward re out 0);
match (Str.matched_group 1 out) with
......@@ -137,8 +138,9 @@ type prover_result_parser = {
}
let print_unknown_reason fmt = function
| Some Resourceout -> fprintf fmt " because of resource limit reached "
| _ -> ()
| Some Resourceout -> fprintf fmt "resource limit reached"
| Some Other -> fprintf fmt "other"
| None -> fprintf fmt "none"
let print_prover_answer fmt = function
| Valid -> fprintf fmt "Valid"
......@@ -146,7 +148,7 @@ let print_prover_answer fmt = function
| Timeout -> fprintf fmt "Timeout"
| OutOfMemory -> fprintf fmt "Ouf Of Memory"
| StepLimitExceeded -> fprintf fmt "Step limit exceeded"
| Unknown ("", r) -> fprintf fmt "Unknown%a" print_unknown_reason r
| Unknown ("", r) -> fprintf fmt "Unknown (%a)" print_unknown_reason r
| Failure "" -> fprintf fmt "Failure"
| Unknown (s, r) -> fprintf fmt "Unknown %a(%s)" print_unknown_reason r s
| Failure s -> fprintf fmt "Failure (%s)" s
......@@ -207,14 +209,47 @@ let parse_prover_run res_parser time out ret limit ~printer_mapping =
Debug.dprintf debug "Call_provers: prover output:@\n%s@." out;
let time = Opt.get_def (time) (grep_time out res_parser.prp_timeregexps) in
let steps = Opt.get_def (-1) (grep_steps out res_parser.prp_stepregexps) in
let reason_unknown = grep_reason_unknown out in
(* add info for unknown if possible. FIXME: this is too SMTLIB specific *)
let ans = match ans with
| Unknown (s, _) -> Unknown (s, Some reason_unknown)
| _ -> ans in
let ans = match ans, limit with
| (Unknown _ | HighFailure), { limit_time = tlimit }
when tlimit > 0 && time >= (0.9 *. float tlimit) -> Timeout
| _ -> ans in
| Unknown (s, _) ->
let reason_unknown = grep_reason_unknown out in
Unknown (s, Some reason_unknown)
| _ -> ans
in
(* Highfailures close to time limit are assumed to be timeouts *)
let tlimit = float limit.limit_time in
let ans, time =
match ans with
| HighFailure when tlimit > 0.0 && time >= 0.9 *. tlimit ->
Debug.dprintf
debug
"[Call_provers.parse_prover_run] highfailure after %f >= 0.9 timelimit -> set to Timeout@." time;
Timeout, tlimit
| _ -> ans,time