Attention une mise à jour du serveur va être effectuée le vendredi 16 avril entre 12h et 12h30. Cette mise à jour va générer une interruption du service de quelques minutes.

Commit e556b0af authored by MARCHE Claude's avatar MARCHE Claude

Merge branch 'master' into itp

parents ec3ac79b 5c6821f9
......@@ -51,6 +51,7 @@ why3.conf
/bench/programs/good/loops/
/bench/programs/good/po/
/bench/valid/list/
/bench/ce/*.out
# /bin/
/bin/why3.byte
......
#!/bin/sh
dir=`dirname $0`
case "$1" in
"-update-oracle")
updateoracle=true;;
"")
updateoracle=false;;
*)
echo "$0: Unknown option '$1'"
exit 2
esac
run_cvc4_15 () {
echo -n " $1... "
$dir/../bin/why3prove.opt -P "CVC4,1.5-prerelease" --get-ce $1 > $1.out
if cmp $1.oracle $1.out > /dev/null 2>&1 ; then
echo "ok"
else
if $updateoracle; then
echo "Updating oracle for $1"
mv $1.out $1.oracle
else
echo "FAILED!"
echo "diff is the following:"
diff $1.oracle $1.out
fi
fi
}
for f in $dir/ce/*.mlw; do
run_cvc4_15 $f
done
theory T
use import int.Int
goal g0 : forall x "model":int. ("model" x >= 42) -> ("model" x + 3 <= 50)
constant g : int
goal g1 : forall x "model":int. ("model" g >= x)
goal g2 : forall x1 "model" "model_trace:X" x2 "model" x3 "model" x4 "model" x5 "model" x6 "model" x7 "model" x8 "model".
("model" "model_trace: X1 + 1 = 2" x1 + 1 = 2) ->
("model" x2 + 1 = 2) ->
("model" x3 + 1 = 2) ->
("model" x4 + 1 = 2) ->
("model" x5 + 1 = 2) ->
("model" x6 + 1 = 2) ->
("model" x7 + 1 = 2) ->
("model" x8 + 1 = 2) ->
("model" x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 = 2)
end
bench/ce/logic.mlw T g0 : Invalid (0.00s)
Counter-example model:File bench/ce/logic.mlw:
Line 6:
x = {"type" : "Integer" ,
"val" : "48" }
bench/ce/logic.mlw T g1 : Invalid (0.00s)
Counter-example model:File bench/ce/logic.mlw:
Line 10:
x = {"type" : "Integer" ,
"val" : "0" }
bench/ce/logic.mlw T g2 : Invalid (0.00s)
Counter-example model:File bench/ce/logic.mlw:
Line 12:
X = {"type" : "Integer" , "val" : "1" }
x2 = {"type" : "Integer" ,
"val" : "1" }
x3 = {"type" : "Integer" ,
"val" : "1" }
x4 = {"type" : "Integer" ,
"val" : "1" }
x5 = {"type" : "Integer" ,
"val" : "1" }
x6 = {"type" : "Integer" ,
"val" : "1" }
x7 = {"type" : "Integer" ,
"val" : "1" }
x8 = {"type" : "Integer" ,
"val" : "1" }
......@@ -239,7 +239,7 @@
<proof prover="13"><result status="valid" time="0.01" steps="21"/></proof>
</goal>
<goal name="WP_parameter merge_using.11.1.2" expl="VC for merge_using">
<proof prover="13"><result status="valid" time="1.77" steps="1436"/></proof>
<proof prover="13"><result status="valid" time="1.16" steps="1436"/></proof>
</goal>
<goal name="WP_parameter merge_using.11.1.3" expl="VC for merge_using">
<proof prover="13"><result status="valid" time="0.01" steps="21"/></proof>
......@@ -320,7 +320,7 @@
<proof prover="13"><result status="valid" time="0.01" steps="27"/></proof>
</goal>
</theory>
<theory name="BottomUpMergesort" sum="97cb02891aafb3321e6b97a67f1ae773" expanded="true">
<theory name="BottomUpMergesort" sum="1abd3287c1836a726fd4bd680b496be8" expanded="true">
<goal name="WP_parameter bottom_up_mergesort" expl="VC for bottom_up_mergesort">
<transf name="split_goal_wp">
<goal name="WP_parameter bottom_up_mergesort.1" expl="loop invariant init">
......@@ -425,7 +425,7 @@
<ip_library name="Unit"/>
<ip_qualid name="unit"/>
</ts_pos>
<ts_pos name="ref" arity="1" id="6112"
<ts_pos name="ref" arity="1" id="6508"
ip_theory="Ref">
<ip_library name="ref"/>
<ip_qualid name="ref"/>
......@@ -436,443 +436,443 @@
<ip_library name="BuiltIn"/>
<ip_qualid name="infix ="/>
</ls_pos>
<ls_pos name="zero" id="350"
<ls_pos name="zero" id="746"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="zero"/>
</ls_pos>
<ls_pos name="one" id="351"
<ls_pos name="one" id="747"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="one"/>
</ls_pos>
<ls_pos name="infix &lt;" id="352"
<ls_pos name="infix &lt;" id="748"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="infix &lt;"/>
</ls_pos>
<ls_pos name="infix &gt;" id="355"
<ls_pos name="infix &gt;" id="751"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="infix &gt;"/>
</ls_pos>
<ls_pos name="infix +" id="1521"
<ls_pos name="infix +" id="1917"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="infix +"/>
</ls_pos>
<ls_pos name="prefix -" id="1522"
<ls_pos name="prefix -" id="1918"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="prefix -"/>
</ls_pos>
<ls_pos name="infix *" id="1523"
<ls_pos name="infix *" id="1919"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="infix *"/>
</ls_pos>
<ls_pos name="infix &gt;=" id="1591"
<ls_pos name="infix &gt;=" id="1987"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="infix &gt;="/>
</ls_pos>
<ls_pos name="abs" id="1636"
<ls_pos name="abs" id="2032"
ip_theory="Abs">
<ip_library name="int"/>
<ip_qualid name="abs"/>
</ls_pos>
<ls_pos name="max" id="1683"
<ls_pos name="max" id="2079"
ip_theory="MinMax">
<ip_library name="int"/>
<ip_qualid name="max"/>
</ls_pos>
<ls_pos name="div" id="1841"
<ls_pos name="div" id="2237"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="div"/>
</ls_pos>
<ls_pos name="mod" id="1844"
<ls_pos name="mod" id="2240"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="mod"/>
</ls_pos>
<ls_pos name="get" id="2378"
<ls_pos name="get" id="2774"
ip_theory="Map">
<ip_library name="map"/>
<ip_qualid name="get"/>
</ls_pos>
<ls_pos name="set" id="2381"
<ls_pos name="set" id="2777"
ip_theory="Map">
<ip_library name="map"/>
<ip_qualid name="set"/>
</ls_pos>
<ls_pos name="mixfix [&lt;-]" id="2401"
<ls_pos name="mixfix [&lt;-]" id="2797"
ip_theory="Map">
<ip_library name="map"/>
<ip_qualid name="mixfix [&lt;-]"/>
</ls_pos>
<ls_pos name="exchange" id="2486"
<ls_pos name="exchange" id="2882"
ip_theory="MapExchange">
<ip_library name="map"/>
<ip_qualid name="exchange"/>
</ls_pos>
<ls_pos name="occ" id="2608"
<ls_pos name="occ" id="3004"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ"/>
</ls_pos>
<ls_pos name="set" id="2828"
<ls_pos name="set" id="3224"
ip_theory="Array">
<ip_library name="array"/>
<ip_qualid name="set"/>
</ls_pos>
<ls_pos name="mixfix [&lt;-]" id="2870"
<ls_pos name="mixfix [&lt;-]" id="3266"
ip_theory="Array">
<ip_library name="array"/>
<ip_qualid name="mixfix [&lt;-]"/>
</ls_pos>
<ls_pos name="array_eq_sub" id="3261"
<ls_pos name="array_eq_sub" id="3657"
ip_theory="ArrayEq">
<ip_library name="array"/>
<ip_qualid name="array_eq_sub"/>
</ls_pos>
<ls_pos name="array_eq" id="3282"
<ls_pos name="array_eq" id="3678"
ip_theory="ArrayEq">
<ip_library name="array"/>
<ip_qualid name="array_eq"/>
</ls_pos>
<ls_pos name="exchange" id="3294"
<ls_pos name="exchange" id="3690"
ip_theory="ArrayExchange">
<ip_library name="array"/>
<ip_qualid name="exchange"/>
</ls_pos>
<ls_pos name="prefix !" id="6118"
<ls_pos name="prefix !" id="6514"
ip_theory="Ref">
<ip_library name="ref"/>
<ip_qualid name="prefix !"/>
</ls_pos>
<ls_pos name="le" id="12261"
<ls_pos name="le" id="12657"
ip_theory="BottomUpMergesort">
<ip_qualid name="Merge"/>
<ip_qualid name="le"/>
</ls_pos>
<ls_pos name="sorted" id="12300"
<ls_pos name="sorted" id="12696"
ip_theory="BottomUpMergesort">
<ip_qualid name="Merge"/>
<ip_qualid name="sorted"/>
</ls_pos>
<pr_pos name="Assoc" id="1524"
<pr_pos name="Assoc" id="1920"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CommutativeGroup"/>
<ip_qualid name="Assoc"/>
</pr_pos>
<pr_pos name="Unit_def_l" id="1531"
<pr_pos name="Unit_def_l" id="1927"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CommutativeGroup"/>
<ip_qualid name="Unit_def_l"/>
</pr_pos>
<pr_pos name="Unit_def_r" id="1534"
<pr_pos name="Unit_def_r" id="1930"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CommutativeGroup"/>
<ip_qualid name="Unit_def_r"/>
</pr_pos>
<pr_pos name="Inv_def_l" id="1537"
<pr_pos name="Inv_def_l" id="1933"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CommutativeGroup"/>
<ip_qualid name="Inv_def_l"/>
</pr_pos>
<pr_pos name="Inv_def_r" id="1540"
<pr_pos name="Inv_def_r" id="1936"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CommutativeGroup"/>
<ip_qualid name="Inv_def_r"/>
</pr_pos>
<pr_pos name="Comm" id="1543"
<pr_pos name="Comm" id="1939"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CommutativeGroup"/>
<ip_qualid name="Comm"/>
<ip_qualid name="Comm"/>
</pr_pos>
<pr_pos name="Assoc" id="1548"
<pr_pos name="Assoc" id="1944"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Assoc"/>
<ip_qualid name="Assoc"/>
</pr_pos>
<pr_pos name="Mul_distr_l" id="1555"
<pr_pos name="Mul_distr_l" id="1951"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Mul_distr_l"/>
</pr_pos>
<pr_pos name="Mul_distr_r" id="1562"
<pr_pos name="Mul_distr_r" id="1958"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Mul_distr_r"/>
</pr_pos>
<pr_pos name="Comm" id="1580"
<pr_pos name="Comm" id="1976"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Comm"/>
<ip_qualid name="Comm"/>
</pr_pos>
<pr_pos name="Unitary" id="1585"
<pr_pos name="Unitary" id="1981"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Unitary"/>
</pr_pos>
<pr_pos name="NonTrivialRing" id="1588"
<pr_pos name="NonTrivialRing" id="1984"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="NonTrivialRing"/>
</pr_pos>
<pr_pos name="Refl" id="1600"
<pr_pos name="Refl" id="1996"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Refl"/>
</pr_pos>
<pr_pos name="Trans" id="1603"
<pr_pos name="Trans" id="1999"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Trans"/>
</pr_pos>
<pr_pos name="Antisymm" id="1610"
<pr_pos name="Antisymm" id="2006"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Antisymm"/>
</pr_pos>
<pr_pos name="Total" id="1615"
<pr_pos name="Total" id="2011"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="Total"/>
</pr_pos>
<pr_pos name="ZeroLessOne" id="1620"
<pr_pos name="ZeroLessOne" id="2016"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="ZeroLessOne"/>
</pr_pos>
<pr_pos name="CompatOrderAdd" id="1621"
<pr_pos name="CompatOrderAdd" id="2017"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CompatOrderAdd"/>
</pr_pos>
<pr_pos name="CompatOrderMult" id="1628"
<pr_pos name="CompatOrderMult" id="2024"
ip_theory="Int">
<ip_library name="int"/>
<ip_qualid name="CompatOrderMult"/>
</pr_pos>
<pr_pos name="Abs_le" id="1641"
<pr_pos name="Abs_le" id="2037"
ip_theory="Abs">
<ip_library name="int"/>
<ip_qualid name="Abs_le"/>
</pr_pos>
<pr_pos name="Abs_pos" id="1646"
<pr_pos name="Abs_pos" id="2042"
ip_theory="Abs">
<ip_library name="int"/>
<ip_qualid name="Abs_pos"/>
</pr_pos>
<pr_pos name="Min_r" id="1692"
<pr_pos name="Min_r" id="2088"
ip_theory="MinMax">
<ip_library name="int"/>
<ip_qualid name="Min_r"/>
</pr_pos>
<pr_pos name="Max_l" id="1697"
<pr_pos name="Max_l" id="2093"
ip_theory="MinMax">
<ip_library name="int"/>
<ip_qualid name="Max_l"/>
</pr_pos>
<pr_pos name="Min_comm" id="1702"
<pr_pos name="Min_comm" id="2098"
ip_theory="MinMax">
<ip_library name="int"/>
<ip_qualid name="Min_comm"/>
</pr_pos>
<pr_pos name="Max_comm" id="1707"
<pr_pos name="Max_comm" id="2103"
ip_theory="MinMax">
<ip_library name="int"/>
<ip_qualid name="Max_comm"/>
</pr_pos>
<pr_pos name="Min_assoc" id="1712"
<pr_pos name="Min_assoc" id="2108"
ip_theory="MinMax">
<ip_library name="int"/>
<ip_qualid name="Min_assoc"/>
</pr_pos>
<pr_pos name="Max_assoc" id="1719"
<pr_pos name="Max_assoc" id="2115"
ip_theory="MinMax">
<ip_library name="int"/>
<ip_qualid name="Max_assoc"/>
</pr_pos>
<pr_pos name="Div_mod" id="1847"
<pr_pos name="Div_mod" id="2243"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Div_mod"/>
</pr_pos>
<pr_pos name="Div_bound" id="1852"
<pr_pos name="Div_bound" id="2248"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Div_bound"/>
</pr_pos>
<pr_pos name="Mod_bound" id="1857"
<pr_pos name="Mod_bound" id="2253"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Mod_bound"/>
</pr_pos>
<pr_pos name="Div_sign_pos" id="1862"
<pr_pos name="Div_sign_pos" id="2258"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Div_sign_pos"/>
</pr_pos>
<pr_pos name="Div_sign_neg" id="1867"
<pr_pos name="Div_sign_neg" id="2263"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Div_sign_neg"/>
</pr_pos>
<pr_pos name="Mod_sign_pos" id="1872"
<pr_pos name="Mod_sign_pos" id="2268"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Mod_sign_pos"/>
</pr_pos>
<pr_pos name="Mod_sign_neg" id="1877"
<pr_pos name="Mod_sign_neg" id="2273"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Mod_sign_neg"/>
</pr_pos>
<pr_pos name="Rounds_toward_zero" id="1882"
<pr_pos name="Rounds_toward_zero" id="2278"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Rounds_toward_zero"/>
</pr_pos>
<pr_pos name="Div_1" id="1887"
<pr_pos name="Div_1" id="2283"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Div_1"/>
</pr_pos>
<pr_pos name="Mod_1" id="1890"
<pr_pos name="Mod_1" id="2286"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Mod_1"/>
</pr_pos>
<pr_pos name="Div_inf" id="1893"
<pr_pos name="Div_inf" id="2289"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Div_inf"/>
</pr_pos>
<pr_pos name="Mod_inf" id="1898"
<pr_pos name="Mod_inf" id="2294"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Mod_inf"/>
</pr_pos>
<pr_pos name="Div_mult" id="1903"
<pr_pos name="Div_mult" id="2299"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Div_mult"/>
</pr_pos>
<pr_pos name="Mod_mult" id="1910"
<pr_pos name="Mod_mult" id="2306"
ip_theory="ComputerDivision">
<ip_library name="int"/>
<ip_qualid name="Mod_mult"/>
</pr_pos>
<pr_pos name="Select_eq" id="2414"
<pr_pos name="Select_eq" id="2810"
ip_theory="Map">
<ip_library name="map"/>
<ip_qualid name="Select_eq"/>
</pr_pos>
<pr_pos name="Select_neq" id="2423"
<pr_pos name="Select_neq" id="2819"
ip_theory="Map">
<ip_library name="map"/>
<ip_qualid name="Select_neq"/>
</pr_pos>
<pr_pos name="exchange_set" id="2514"
<pr_pos name="exchange_set" id="2910"
ip_theory="MapExchange">
<ip_library name="map"/>
<ip_qualid name="exchange_set"/>
</pr_pos>
<pr_pos name="occ_empty" id="2613"
<pr_pos name="occ_empty" id="3009"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_empty"/>
</pr_pos>
<pr_pos name="occ_right_no_add" id="2622"
<pr_pos name="occ_right_no_add" id="3018"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_right_no_add"/>
</pr_pos>
<pr_pos name="occ_right_add" id="2631"
<pr_pos name="occ_right_add" id="3027"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_right_add"/>
</pr_pos>
<pr_pos name="occ_bounds" id="2640"
<pr_pos name="occ_bounds" id="3036"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_bounds"/>
</pr_pos>
<pr_pos name="occ_append" id="2649"
<pr_pos name="occ_append" id="3045"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_append"/>
</pr_pos>
<pr_pos name="occ_neq" id="2660"
<pr_pos name="occ_neq" id="3056"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_neq"/>
</pr_pos>
<pr_pos name="occ_exists" id="2671"
<pr_pos name="occ_exists" id="3067"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_exists"/>
</pr_pos>
<pr_pos name="occ_pos" id="2682"
<pr_pos name="occ_pos" id="3078"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_pos"/>
</pr_pos>
<pr_pos name="occ_eq" id="2691"
<pr_pos name="occ_eq" id="3087"
ip_theory="Occ">
<ip_library name="map"/>
<ip_qualid name="occ_eq"/>
</pr_pos>
<pr_pos name="permut_trans" id="2725"
<pr_pos name="permut_trans" id="3121"
ip_theory="MapPermut">