Commit 2979d04c authored by MARCHE Claude's avatar MARCHE Claude
Browse files

Driver Alt-Ergo: uap directly Euclidean div and mod to Alt-Ergo

parent 0c44fc48
......@@ -7,39 +7,6 @@ import "no-bv.gen"
valid "^Inconsistent assumption$"
theory int.EuclideanDivision
(* protection against wrong semantics for negative arguments
last checked on 1.20.prv: this is still needed
*)
prelude "logic safe_eucl_div: int, int -> int"
prelude "axiom safe_eucl_div_def: forall x, y:int. x >= 0 and y > 0 -> safe_eucl_div(x,y) = x / y"
prelude "logic safe_eucl_mod: int, int -> int"
prelude "axiom safe_eucl_mod_def: forall x, y:int. x >= 0 and y > 0 -> safe_eucl_mod(x,y) = x % y"
syntax function div "safe_eucl_div(%1,%2)"
syntax function mod "safe_eucl_mod(%1,%2)"
end
theory int.ComputerDivision
(* protection against wrong semantics for negative arguments
last checked on 1.20.prv: this is still needed
*)
prelude "logic safe_comp_div: int, int -> int"
prelude "axiom safe_comp_div_def: forall x, y:int. x >= 0 and y > 0 -> safe_comp_div(x,y) = x / y"
prelude "logic safe_comp_mod: int, int -> int"
prelude "axiom safe_comp_mod_def: forall x, y:int. x >= 0 and y > 0 -> safe_comp_mod(x,y) = x % y"
syntax function div "safe_comp_div(%1,%2)"
syntax function mod "safe_comp_mod(%1,%2)"
end
(*
......
......@@ -88,6 +88,26 @@ theory int.Int
end
theory int.EuclideanDivision
syntax function div "(%1 / %2)"
syntax function mod "(%1 % %2)"
end
theory int.ComputerDivision
prelude "logic comp_div: int, int -> int"
prelude "axiom comp_div_def: forall x, y:int. x >= 0 and y > 0 -> comp_div(x,y) = x / y"
prelude "logic comp_mod: int, int -> int"
prelude "axiom comp_mod_def: forall x, y:int. x >= 0 and y > 0 -> comp_mod(x,y) = x % y"
syntax function div "comp_div(%1,%2)"
syntax function mod "comp_mod(%1,%2)"
end
theory real.Real
......
......@@ -38,7 +38,7 @@
<proof prover="0" edited="blocking_semantics5_SemOp_steps_non_neg_1.v"><result status="valid" time="0.80"/></proof>
</goal>
</theory>
<theory name="TestSemantics" sum="5386d426772b7907db51e574cfc3e48a">
<theory name="TestSemantics" sum="d19bd426b13b2949609e8ccb0829f621">
<goal name="Test13">
<proof prover="9"><result status="valid" time="0.02" steps="16"/></proof>
<proof prover="10"><result status="valid" time="0.03"/></proof>
......@@ -57,7 +57,7 @@
<proof prover="9"><result status="valid" time="0.05" steps="107"/></proof>
</goal>
<goal name="If42">
<proof prover="0" timelimit="6" edited="blocking_semantics5_TestSemantics_If42_1.v"><result status="valid" time="1.28"/></proof>
<proof prover="0" timelimit="6" edited="blocking_semantics5_TestSemantics_If42_1.v"><result status="valid" time="1.58"/></proof>
</goal>
</theory>
<theory name="Typing" sum="d41d8cd98f00b204e9800998ecf8427e">
......@@ -90,14 +90,14 @@
<proof prover="9"><result status="valid" time="0.08" steps="143"/></proof>
</goal>
<goal name="eval_type_term.1.4" expl="4.">
<proof prover="0" edited="blocking_semantics5_TypingAndSemantics_eval_type_term_1.v"><result status="valid" time="1.57"/></proof>
<proof prover="0" edited="blocking_semantics5_TypingAndSemantics_eval_type_term_1.v"><result status="valid" time="2.24"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="type_preservation">
<proof prover="0" edited="blocking_semantics5_TypingAndSemantics_type_preservation_1.v"><result status="valid" time="1.87"/></proof>
<proof prover="0" edited="blocking_semantics5_TypingAndSemantics_type_preservation_1.v"><result status="valid" time="2.30"/></proof>
</goal>
</theory>
<theory name="FreshVariables" sum="490368b5a16b190f6c29edfc9b0d5a6b">
......@@ -164,14 +164,14 @@
<proof prover="9"><result status="valid" time="0.03" steps="79"/></proof>
</goal>
<goal name="eval_msubst.1.9" expl="9.">
<proof prover="3"><result status="valid" time="3.56"/></proof>
<proof prover="3"><result status="valid" time="4.08"/></proof>
<proof prover="9" timelimit="30"><result status="valid" time="0.23" steps="586"/></proof>
</goal>
<goal name="eval_msubst.1.10" expl="10.">
<proof prover="9"><result status="valid" time="0.30" steps="655"/></proof>
</goal>
<goal name="eval_msubst.1.11" expl="11.">
<proof prover="0" edited="blocking_semantics5_FreshVariables_eval_msubst_2.v"><result status="valid" time="1.21"/></proof>
<proof prover="0" edited="blocking_semantics5_FreshVariables_eval_msubst_2.v"><result status="valid" time="1.54"/></proof>
</goal>
<goal name="eval_msubst.1.12" expl="12.">
<proof prover="9"><result status="valid" time="0.30" steps="561"/></proof>
......@@ -189,7 +189,7 @@
<proof prover="9"><result status="valid" time="0.04" steps="12"/></proof>
</goal>
<goal name="eval_swap_term.1.2" expl="2.">
<proof prover="0" edited="blocking_semantics5_FreshVariables_eval_swap_term_1.v"><result status="valid" time="1.36"/></proof>
<proof prover="0" edited="blocking_semantics5_FreshVariables_eval_swap_term_1.v"><result status="valid" time="1.68"/></proof>
</goal>
<goal name="eval_swap_term.1.3" expl="3.">
<proof prover="3"><result status="valid" time="0.05"/></proof>
......@@ -345,7 +345,7 @@
<proof prover="3"><result status="valid" time="0.24"/></proof>
</goal>
<goal name="skip_rule">
<proof prover="0" edited="blocking_semantics5_HoareLogic_skip_rule_1.v"><result status="valid" time="1.14"/></proof>
<proof prover="0" edited="blocking_semantics5_HoareLogic_skip_rule_1.v"><result status="valid" time="0.92"/></proof>
</goal>
<goal name="assign_rule">
<proof prover="0" timelimit="12" edited="blocking_semantics5_HoareLogic_assign_rule_1.v"><result status="valid" time="1.86"/></proof>
......@@ -379,7 +379,7 @@
<proof prover="12"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="monotonicity.1.2" expl="2.">
<proof prover="0" timelimit="30" edited="blocking_semantics5_WP_monotonicity_1.v"><result status="valid" time="1.45"/></proof>
<proof prover="0" timelimit="30" edited="blocking_semantics5_WP_monotonicity_1.v"><result status="valid" time="1.70"/></proof>
</goal>
<goal name="monotonicity.1.3" expl="3.">
<proof prover="3" timelimit="5"><result status="valid" time="0.14"/></proof>
......@@ -428,7 +428,7 @@
</transf>
</goal>
<goal name="wp_preserved_by_reduction">
<proof prover="0" memlimit="4000" edited="blocking_semantics5_WP_wp_preserved_by_reduction_4.v"><result status="valid" time="2.24"/></proof>
<proof prover="0" memlimit="4000" edited="blocking_semantics5_WP_wp_preserved_by_reduction_4.v"><result status="valid" time="2.84"/></proof>
</goal>
<goal name="progress">
<transf name="induction_ty_lex">
......
......@@ -5,12 +5,13 @@
<prover id="0" name="Alt-Ergo" version="0.99.1" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="1" name="CVC3" version="2.4.1" timelimit="30" steplimit="0" memlimit="1000"/>
<prover id="2" name="CVC4" version="1.4" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="3" name="Alt-Ergo" version="1.01" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="4.4.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="5" name="CVC4" version="1.4" alternative="noBV" timelimit="30" steplimit="0" memlimit="1000"/>
<file name="../bitcount.mlw" expanded="true">
<theory name="BitCount8bit_fact" sum="eb4b1bf6da7b0da8d18857818ce50281" expanded="true">
<theory name="BitCount8bit_fact" sum="eb4b1bf6da7b0da8d18857818ce50281">
<goal name="nth_as_bv_is_int">
<proof prover="0"><result status="valid" time="0.18" steps="92"/></proof>
<proof prover="0"><result status="valid" time="0.18" steps="90"/></proof>
</goal>
<goal name="WP_parameter step1" expl="VC for step1">
<transf name="split_goal_wp">
......@@ -25,10 +26,10 @@
</transf>
</goal>
<goal name="WP_parameter step1.2" expl="2. postcondition">
<proof prover="0"><result status="valid" time="2.88" steps="659"/></proof>
<proof prover="0"><result status="valid" time="2.88" steps="671"/></proof>
</goal>
<goal name="WP_parameter step1.3" expl="3. postcondition">
<proof prover="0"><result status="valid" time="0.50" steps="185"/></proof>
<proof prover="0"><result status="valid" time="0.50" steps="187"/></proof>
</goal>
</transf>
</goal>
......@@ -63,16 +64,16 @@
<proof prover="0"><result status="valid" time="0.10" steps="89"/></proof>
</goal>
<goal name="WP_parameter step2.5.2" expl="2. assertion">
<proof prover="0"><result status="valid" time="0.65" steps="149"/></proof>
<proof prover="0"><result status="valid" time="0.65" steps="147"/></proof>
</goal>
<goal name="WP_parameter step2.5.3" expl="3. assertion">
<proof prover="0"><result status="valid" time="0.42" steps="142"/></proof>
<proof prover="0"><result status="valid" time="0.65" steps="148"/></proof>
</goal>
<goal name="WP_parameter step2.5.4" expl="4. assertion">
<proof prover="2"><result status="valid" time="0.07"/></proof>
</goal>
<goal name="WP_parameter step2.5.5" expl="5. assertion">
<proof prover="5"><result status="valid" time="5.20"/></proof>
<proof prover="5"><result status="valid" time="6.12"/></proof>
</goal>
</transf>
</goal>
......@@ -80,7 +81,7 @@
<proof prover="2"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter step2.7" expl="7. postcondition">
<proof prover="0"><result status="valid" time="0.32" steps="131"/></proof>
<proof prover="0"><result status="valid" time="0.32" steps="140"/></proof>
</goal>
</transf>
</goal>
......@@ -105,7 +106,7 @@
<proof prover="0"><result status="valid" time="0.04" steps="74"/></proof>
</goal>
<goal name="WP_parameter prove.7" expl="7. assertion">
<proof prover="0"><result status="valid" time="1.10" steps="196"/></proof>
<proof prover="0"><result status="valid" time="1.10" steps="199"/></proof>
</goal>
<goal name="WP_parameter prove.8" expl="8. postcondition">
<proof prover="2"><result status="valid" time="0.14"/></proof>
......@@ -137,20 +138,20 @@
</transf>
</goal>
</theory>
<theory name="BitCounting32" sum="26d2716fa6dd73aaa13932d1cc094aa4" expanded="true">
<goal name="WP_parameter proof0" expl="VC for proof0" expanded="true">
<transf name="split_goal_wp" expanded="true">
<theory name="BitCounting32" sum="26d2716fa6dd73aaa13932d1cc094aa4">
<goal name="WP_parameter proof0" expl="VC for proof0">
<transf name="split_goal_wp">
<goal name="WP_parameter proof0.1" expl="1. assertion">
<proof prover="0"><result status="valid" time="0.04" steps="80"/></proof>
</goal>
<goal name="WP_parameter proof0.2" expl="2. assertion">
<proof prover="0"><result status="valid" time="0.03" steps="78"/></proof>
<proof prover="0"><result status="valid" time="0.03" steps="79"/></proof>
</goal>
<goal name="WP_parameter proof0.3" expl="3. assertion" expanded="true">
<transf name="split_goal_wp" expanded="true">
<goal name="WP_parameter proof0.3.1" expl="1. VC for proof0" expanded="true">
<transf name="introduce_premises" expanded="true">
<goal name="WP_parameter proof0.3.1.1" expl="1. VC for proof0" expanded="true">
<goal name="WP_parameter proof0.3" expl="3. assertion">
<transf name="split_goal_wp">
<goal name="WP_parameter proof0.3.1" expl="1. VC for proof0">
<transf name="introduce_premises">
<goal name="WP_parameter proof0.3.1.1" expl="1. VC for proof0">
<proof prover="2"><result status="valid" time="0.17"/></proof>
</goal>
</transf>
......@@ -159,7 +160,7 @@
<proof prover="0"><result status="valid" time="0.04" steps="109"/></proof>
</goal>
<goal name="WP_parameter proof0.3.3" expl="3. VC for proof0">
<proof prover="0"><result status="valid" time="0.83" steps="183"/></proof>
<proof prover="0"><result status="valid" time="0.83" steps="187"/></proof>
</goal>
</transf>
</goal>
......@@ -186,18 +187,18 @@
<proof prover="0"><result status="valid" time="0.04" steps="87"/></proof>
</goal>
<goal name="WP_parameter proof1.6" expl="6. assertion">
<proof prover="0"><result status="valid" time="0.63" steps="146"/></proof>
<proof prover="0"><result status="valid" time="0.63" steps="144"/></proof>
</goal>
<goal name="WP_parameter proof1.7" expl="7. assertion">
<transf name="split_goal_wp">
<goal name="WP_parameter proof1.7.1" expl="1. VC for proof1">
<proof prover="0"><result status="valid" time="0.03" steps="83"/></proof>
<proof prover="0"><result status="valid" time="0.03" steps="84"/></proof>
</goal>
<goal name="WP_parameter proof1.7.2" expl="2. VC for proof1">
<proof prover="2"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter proof1.7.3" expl="3. VC for proof1">
<proof prover="0"><result status="valid" time="0.04" steps="87"/></proof>
<proof prover="0"><result status="valid" time="0.04" steps="90"/></proof>
</goal>
</transf>
</goal>
......@@ -227,24 +228,25 @@
<proof prover="0"><result status="valid" time="0.04" steps="75"/></proof>
</goal>
<goal name="WP_parameter proof2.7" expl="7. assertion">
<proof prover="0"><result status="valid" time="0.06" steps="90"/></proof>
<proof prover="0"><result status="valid" time="0.06" steps="91"/></proof>
</goal>
<goal name="WP_parameter proof2.8" expl="8. assertion">
<proof prover="0"><result status="valid" time="0.58" steps="150"/></proof>
</goal>
<goal name="WP_parameter proof2.9" expl="9. assertion">
<proof prover="0"><result status="valid" time="0.80" steps="148"/></proof>
<proof prover="2" timelimit="1"><result status="valid" time="0.06"/></proof>
<proof prover="3"><result status="valid" time="0.23" steps="164"/></proof>
</goal>
<goal name="WP_parameter proof2.10" expl="10. assertion">
<transf name="split_goal_wp">
<goal name="WP_parameter proof2.10.1" expl="1. VC for proof2">
<proof prover="0"><result status="valid" time="0.03" steps="86"/></proof>
<proof prover="0"><result status="valid" time="0.03" steps="87"/></proof>
</goal>
<goal name="WP_parameter proof2.10.2" expl="2. VC for proof2">
<proof prover="2"><result status="valid" time="0.07"/></proof>
</goal>
<goal name="WP_parameter proof2.10.3" expl="3. VC for proof2">
<proof prover="0"><result status="valid" time="0.03" steps="87"/></proof>
<proof prover="0"><result status="valid" time="0.03" steps="89"/></proof>
</goal>
</transf>
</goal>
......@@ -280,24 +282,24 @@
<proof prover="0"><result status="valid" time="0.04" steps="76"/></proof>
</goal>
<goal name="WP_parameter proof3.9" expl="9. assertion">
<proof prover="0"><result status="valid" time="0.05" steps="92"/></proof>
<proof prover="0"><result status="valid" time="0.05" steps="93"/></proof>
</goal>
<goal name="WP_parameter proof3.10" expl="10. assertion">
<proof prover="0"><result status="valid" time="0.57" steps="154"/></proof>
<proof prover="0"><result status="valid" time="0.57" steps="156"/></proof>
</goal>
<goal name="WP_parameter proof3.11" expl="11. assertion">
<proof prover="0"><result status="valid" time="0.06" steps="92"/></proof>
<proof prover="0"><result status="valid" time="0.06" steps="93"/></proof>
</goal>
<goal name="WP_parameter proof3.12" expl="12. assertion">
<transf name="split_goal_wp">
<goal name="WP_parameter proof3.12.1" expl="1. VC for proof3">
<proof prover="0"><result status="valid" time="0.04" steps="88"/></proof>
<proof prover="0"><result status="valid" time="0.04" steps="89"/></proof>
</goal>
<goal name="WP_parameter proof3.12.2" expl="2. VC for proof3">
<proof prover="2"><result status="valid" time="0.07"/></proof>
</goal>
<goal name="WP_parameter proof3.12.3" expl="3. VC for proof3">
<proof prover="0"><result status="valid" time="0.03" steps="89"/></proof>
<proof prover="0"><result status="valid" time="0.03" steps="91"/></proof>
</goal>
</transf>
</goal>
......@@ -344,7 +346,7 @@
<proof prover="2"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter prove.11.2" expl="2. VC for prove">
<proof prover="0"><result status="valid" time="0.04" steps="86"/></proof>
<proof prover="0"><result status="valid" time="0.04" steps="87"/></proof>
</goal>
</transf>
</goal>
......@@ -382,11 +384,11 @@
</transf>
</goal>
</theory>
<theory name="Hamming" sum="2cd12bdbec0aedf67a99c522df3c7f59" expanded="true">
<theory name="Hamming" sum="2cd12bdbec0aedf67a99c522df3c7f59">
<goal name="WP_parameter hammingD" expl="VC for hammingD">
<transf name="split_goal_wp">
<goal name="WP_parameter hammingD.1" expl="1. assertion">
<proof prover="0"><result status="valid" time="1.00" steps="408"/></proof>
<proof prover="0"><result status="valid" time="1.00" steps="382"/></proof>
</goal>
<goal name="WP_parameter hammingD.2" expl="2. postcondition">
<proof prover="4"><result status="valid" time="0.02"/></proof>
......@@ -402,7 +404,7 @@
<goal name="WP_parameter separation" expl="VC for separation">
<transf name="split_goal_wp">
<goal name="WP_parameter separation.1" expl="1. assertion">
<proof prover="0"><result status="valid" time="1.23" steps="474"/></proof>
<proof prover="0"><result status="valid" time="1.00" steps="447"/></proof>
</goal>
<goal name="WP_parameter separation.2" expl="2. postcondition">
<transf name="split_goal_wp">
......@@ -410,7 +412,7 @@
<proof prover="0"><result status="valid" time="0.04" steps="72"/></proof>
</goal>
<goal name="WP_parameter separation.2.2" expl="2. VC for separation">
<proof prover="0"><result status="valid" time="0.65" steps="325"/></proof>
<proof prover="0"><result status="valid" time="0.65" steps="322"/></proof>
</goal>
</transf>
</goal>
......@@ -427,7 +429,7 @@
<proof prover="2"><result status="valid" time="0.04"/></proof>
</goal>
</theory>
<theory name="AsciiCode" sum="40cee207ec73f2774d5dda1e1960e191" expanded="true">
<theory name="AsciiCode" sum="40cee207ec73f2774d5dda1e1960e191">
<goal name="WP_parameter bv_even" expl="VC for bv_even">
<transf name="split_goal_wp">
<goal name="WP_parameter bv_even.1" expl="1. assertion">
......@@ -443,7 +445,7 @@
<proof prover="1"><result status="valid" time="0.42"/></proof>
</goal>
<goal name="WP_parameter bv_even.5" expl="5. postcondition">
<proof prover="0"><result status="valid" time="0.09" steps="114"/></proof>
<proof prover="0"><result status="valid" time="0.09" steps="115"/></proof>
</goal>
</transf>
</goal>
......@@ -477,7 +479,7 @@
<goal name="WP_parameter ascii" expl="VC for ascii">
<transf name="split_goal_wp">
<goal name="WP_parameter ascii.1" expl="1. precondition">
<proof prover="0"><result status="valid" time="0.30" steps="248"/></proof>
<proof prover="0"><result status="valid" time="0.30" steps="235"/></proof>
<proof prover="2"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter ascii.2" expl="2. assertion">
......@@ -499,10 +501,10 @@
<proof prover="0"><result status="valid" time="0.08" steps="93"/></proof>
</goal>
<goal name="WP_parameter ascii.4.2" expl="2. assertion">
<proof prover="0"><result status="valid" time="0.19" steps="118"/></proof>
<proof prover="0"><result status="valid" time="0.19" steps="116"/></proof>
</goal>
<goal name="WP_parameter ascii.4.3" expl="3. assertion">
<proof prover="0"><result status="valid" time="0.55" steps="176"/></proof>
<proof prover="0"><result status="valid" time="0.84" steps="194"/></proof>
</goal>
<goal name="WP_parameter ascii.4.4" expl="4. assertion">
<proof prover="4"><result status="valid" time="0.03"/></proof>
......
......@@ -9,6 +9,8 @@
<prover id="4" name="Alt-Ergo" version="1.00.prv" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="5" name="Z3" version="4.4.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="6" name="CVC4" version="1.4" alternative="noBV" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="7" name="Alt-Ergo" version="1.01" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="8" name="Z3" version="4.4.1" timelimit="1" steplimit="0" memlimit="1000"/>
<file name="../bitwalker.mlw" expanded="true">
<theory name="Bitwalker" sum="6755724df7c462879051ab2676cc5753" expanded="true">
<goal name="nth64">
......@@ -162,8 +164,8 @@
</goal>
</transf>
</goal>
<goal name="WP_parameter peek" expl="VC for peek" expanded="true">
<transf name="split_goal_wp" expanded="true">
<goal name="WP_parameter peek" expl="VC for peek">
<transf name="split_goal_wp">
<goal name="WP_parameter peek.1" expl="1. precondition">
<proof prover="0"><result status="valid" time="0.06" steps="79"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
......@@ -649,7 +651,8 @@
<proof prover="3"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="WP_parameter pokethenpeek.9" expl="9. assertion">
<proof prover="0"><result status="valid" time="1.00" steps="341"/></proof>
<proof prover="7"><result status="valid" time="3.54" steps="212"/></proof>
<proof prover="8"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter pokethenpeek.10" expl="10. postcondition">
<proof prover="0"><result status="valid" time="0.18" steps="94"/></proof>
......
......@@ -8,7 +8,7 @@
<prover id="3" name="Coq" version="8.4pl6" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="7" name="Z3" version="4.3.2" timelimit="5" steplimit="0" memlimit="1000"/>
<file name="../hashtbl_impl.mlw" expanded="true">
<theory name="HashtblImpl" sum="cb495cd4418da69924cc3e0684ab0622" expanded="true">
<theory name="HashtblImpl" sum="c0d16c1baac552217afa0ad022f76219" expanded="true">
<goal name="bucket_bounds">
<proof prover="0"><result status="valid" time="0.03" steps="16"/></proof>
</goal>
......@@ -236,7 +236,7 @@
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="WP_parameter add.4" expl="4. type invariant">
<proof prover="3" edited="hashtbl_impl_HashtblImpl_WP_parameter_add_1.v"><result status="valid" time="1.24"/></proof>
<proof prover="3" edited="hashtbl_impl_HashtblImpl_WP_parameter_add_1.v"><result status="valid" time="2.74"/></proof>
</goal>
<goal name="WP_parameter add.5" expl="5. type invariant">
<transf name="inline_all">
......
......@@ -12,7 +12,7 @@
<proof prover="6"><result status="valid" time="0.01" steps="8"/></proof>
</goal>
</theory>
<theory name="LinearProbing" sum="1cbb56a699a651dee5d971c187b7dba9" expanded="true">
<theory name="LinearProbing" sum="0768e41be6d75fc5c0046b8691028429" expanded="true">
<goal name="bucket_bounds">
<proof prover="6"><result status="valid" time="0.02" steps="16"/></proof>
</goal>
......@@ -480,12 +480,12 @@
<ip_library name="list"/>
<ip_qualid name="list"/>
</ts_pos>
<ts_pos name="ref" arity="1" id="4669"
<ts_pos name="ref" arity="1" id="4668"
ip_theory="Ref">
<ip_library name="ref"/>
<ip_qualid name="ref"/>
</ts_pos>
<ts_pos name="t" arity="0" id="6858"
<ts_pos name="t" arity="0" id="6857"
ip_theory="LinearProbing">
<ip_qualid name="t"/>
</ts_pos>
......@@ -574,26 +574,26 @@
<ip_library name="map"/>
<ip_qualid name="mixfix [&lt;-]"/>
</ls_pos>
<ls_pos name="prefix !" id="4675"
<ls_pos name="prefix !" id="4674"
ip_theory="Ref">
<ip_library name="ref"/>
<ip_qualid name="prefix !"/>
</ls_pos>
<ls_pos name="set" id="4842"
<ls_pos name="set" id="4841"
ip_theory="Array">
<ip_library name="array"/>
<ip_qualid name="set"/>
</ls_pos>
<ls_pos name="mixfix [&lt;-]" id="4884"
<ls_pos name="mixfix [&lt;-]" id="4883"
ip_theory="Array">
<ip_library name="array"/>
<ip_qualid name="mixfix [&lt;-]"/>
</ls_pos>
<ls_pos name="numofd" id="6639"
<ls_pos name="numofd" id="6638"
ip_theory="LinearProbing">
<ip_qualid name="numofd"/>
</ls_pos>
<ls_pos name="next" id="7479"
<ls_pos name="next" id="7478"
ip_theory="LinearProbing">
<ip_qualid name="next"/>
</ls_pos>
......@@ -801,16 +801,16 @@
<ip_library name="map"/>
<ip_qualid name="Select_neq"/>
</pr_pos>
<pr_pos name="bucket_bounds" id="6300"
<pr_pos name="bucket_bounds" id="6299"
ip_theory="LinearProbing">
<ip_qualid name="bucket_bounds"/>
</pr_pos>
<pr_pos name="numof_eq" id="6529"
<pr_pos name="numof_eq" id="6528"
ip_theory="LinearProbing">
<ip_qualid name="NumOfDummy"/>
<ip_qualid name="numof_eq"/>
</pr_pos>
<pr_pos name="dummy_const" id="6635"
<pr_pos name="dummy_const" id="6634"
ip_theory="LinearProbing">
<ip_qualid name="NumOfDummy"/>
<ip_qualid name="dummy_const"/>
......@@ -867,19 +867,19 @@
<meta_arg_ls id="3301"/>
</meta>
<meta name="remove_logic">
<meta_arg_ls id="4675"/>
<meta_arg_ls id="4674"/>
</meta>
<meta name="remove_logic">
<meta_arg_ls id="4842"/>
<meta_arg_ls id="4841"/>
</meta>
<meta name="remove_logic">
<meta_arg_ls id="4884"/>
<meta_arg_ls id="4883"/>
</meta>
<meta name="remove_logic">
<meta_arg_ls id="6639"/>
<meta_arg_ls id="6638"/>
</meta>
<meta name="remove_logic">
<meta_arg_ls id="7479"/>
<meta_arg_ls id="7478"/>
</meta>
<meta name="remove_prop">
<meta_arg_pr id="1607"/>
......@@ -999,13 +999,13 @@
<meta_arg_pr id="3323"/>
</meta>
<meta name="remove_prop">
<meta_arg_pr id="6300"/>
<meta_arg_pr id="6299"/>
</meta>
<meta name="remove_prop">
<meta_arg_pr id="6529"/>
<meta_arg_pr id="6528"/>
</meta>
<meta name="remove_prop">
<meta_arg_pr id="6635"/>
<meta_arg_pr id="6634"/>
</meta>
<meta name="remove_type">
<meta_arg_ts id="2600"/>
......@@ -1014,10 +1014,10 @@
<meta_arg_ts id="2604"/>
</meta>
<meta name="remove_type">
<meta_arg_ts id="4669"/>
<meta_arg_ts id="4668"/>
</meta>
<meta name="remove_type">
<meta_arg_ts id="6858"/>
<meta_arg_ts id="6857"/>
</meta>
<goal name="WP_parameter copy.2" expl="2. type invariant">
<proof prover="4" timelimit="5"><result status="valid" time="0.19"/></proof>
......@@ -1025,7 +1025,7 @@