Commit e92023a8 authored by MARCHE Claude's avatar MARCHE Claude

Workaround for division bug in CVC3

parent 8d51bb2c
......@@ -74,15 +74,23 @@ theory real.Real
prelude "%%% this is a prelude for CVC3 real arithmetic"
prelude "inv_partial: (REAL) -> REAL;
ASSERT (FORALL (x : REAL): ((NOT (x = 0)) => (inv_partial(x) = (1 / x))));
div_partial: (REAL, REAL) -> REAL;
ASSERT
(FORALL (x : REAL, y : REAL):
((NOT (y = 0)) => (div_partial(x, y) = (x / y))));
"
syntax function zero "0"
syntax function one "1"
syntax function (+) "(%1 + %2)"
syntax function (-) "(%1 - %2)"
syntax function (*) "(%1 * %2)"
syntax function (/) "(%1 / %2)"
syntax function (/) "div_partial(%1,%2)"
syntax function (-_) "(- %1)"
syntax function inv "(1 / %1)"
syntax function inv "inv_partial(%1)"
syntax predicate (<=) "(%1 <= %2)"
syntax predicate (<) "(%1 < %2)"
......
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session SYSTEM "/usr/local/share/why3/why3session.dtd">
<!DOCTYPE why3session SYSTEM "/home/cmarche/recherche/why3/share/why3session.dtd">
<why3session
name="cvc3/why3session.xml">
<prover
......@@ -24,61 +24,61 @@
version="3.2"/>
<file
name="../cvc3.why"
verified="true"
verified="false"
expanded="true">
<theory
name="Test"
locfile="cvc3/../cvc3.why"
loclnum="3" loccnumb="7" loccnume="11"
verified="true"
verified="false"
expanded="true">
<goal
name="test1"
locfile="cvc3/../cvc3.why"
loclnum="7" loccnumb="8" loccnume="13"
sum="dc3cb70423d6eca6adecf25c7851eb72"
proved="true"
proved="false"
expanded="true"
shape="ainfix =ainfix /V0c0.0c0.0F">
<proof
prover="3"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="unknown" time="0.01"/>
<result status="unknown" time="0.02"/>
</proof>
<proof
prover="0"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="unknown" time="0.00"/>
<result status="unknown" time="0.01"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="highfailure" time="0.01"/>
</proof>
<proof
prover="2"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="highfailure" time="0.01"/>
</proof>
<proof
prover="4"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="unknown" time="0.01"/>
<result status="unknown" time="0.02"/>
</proof>
</goal>
<goal
......@@ -86,48 +86,48 @@
locfile="cvc3/../cvc3.why"
loclnum="9" loccnumb="8" loccnume="13"
sum="22bd943d68d90a9351eac18fab347e1f"
proved="true"
proved="false"
expanded="true"
shape="ainfix =ainfix /V0V0c1.0F">
<proof
prover="3"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="timeout" time="5.04"/>
<result status="timeout" time="10.71"/>
</proof>
<proof
prover="0"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="unknown" time="0.00"/>
<result status="unknown" time="0.02"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="unknown" time="0.02"/>
</proof>
<proof
prover="2"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.00"/>
<result status="unknown" time="0.02"/>
</proof>
<proof
prover="4"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="timeout" time="5.04"/>
<result status="timeout" time="10.21"/>
</proof>
</goal>
<goal
......@@ -140,43 +140,43 @@
shape="f">
<proof
prover="3"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.02"/>
</proof>
<proof
prover="0"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="unknown" time="0.00"/>
<result status="unknown" time="0.01"/>
</proof>
<proof
prover="1"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="unknown" time="0.00"/>
<result status="highfailure" time="0.01"/>
</proof>
<proof
prover="2"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="unknown" time="0.00"/>
<result status="highfailure" time="0.01"/>
</proof>
<proof
prover="4"
timelimit="5"
memlimit="1000"
timelimit="10"
memlimit="0"
obsolete="false"
archived="false">
<result status="valid" time="0.01"/>
<result status="valid" time="0.02"/>
</proof>
</goal>
</theory>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment