Commit 481616e5 authored by Jonathan Moerman's avatar Jonathan Moerman
Browse files

Fix last failing (was wrong) postcondition

parent 5286c418
......@@ -339,8 +339,6 @@ S.init();
begin ensures { S.synchronized S.shadow reg }
ensures { uint 6 reg 20 + pow2 48*uint 2 reg 2 = old (uint 4 reg 2*uint 4 reg 6) }
ensures { valid_addr_space reg }
ensures { valid_addr_space mem }
ensures { valid_addr_space stack }
(* compute m *)
mul r2 r6;
......@@ -422,8 +420,6 @@ begin
ensures { S.synchronized S.shadow reg }
ensures { uint 8 reg 10 + ?cf*pow2 64 = old(uint 8 reg 10 + uint 4 reg 14 + pow2 32*uint 2 reg 28 + pow2 48*uint 2 reg 18) }
ensures { valid_addr_space reg }
ensures { valid_addr_space mem }
ensures { valid_addr_space stack }
(* add l4 h0 to l0 and h4 *)
label B in
add r10 r14;
......@@ -443,7 +439,7 @@ begin
ensures { S.synchronized S.shadow reg }
ensures { uint 6 reg 20 + pow2 48*uint 2 reg 2 = ?cf*(pow2 64 - 1) + (if !tf then 1 else -1)*old(uint 6 reg 20 + pow2 48*uint 2 reg 2) }
ensures { let cor = reg[26] + (pow2 8+pow2 16+pow2 24)*reg[0] in cor = (old ?cf) - ?cf \/ cor = pow2 32 + (old ?cf) - ?cf }
ensures { let cor = reg[26] + (pow2 8 + pow2 16 + pow2 24)*reg[0] in cor = mod ((old ?cf) - ?cf) 256 \/ cor = pow2 32 + (old ?cf) - ?cf }
(*
ensures { let cor = reg[26] + (pow2 8+pow2 16+pow2 24)*reg[0] in cor = (old ?cf) - ?cf + (if ?cf > old ?cf then pow2 32 else 0) }
......
......@@ -7,8 +7,8 @@
<prover id="2" name="CVC4" version="1.4" timelimit="60" steplimit="0" memlimit="12000"/>
<prover id="3" name="Eprover" version="2.3" timelimit="60" steplimit="0" memlimit="12000"/>
<prover id="5" name="Eprover" version="1.8-001" timelimit="13" steplimit="1" memlimit="1000"/>
<prover id="6" name="CVC4" version="1.4" alternative="noBV" timelimit="60" steplimit="0" memlimit="8000"/>
<prover id="7" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="6" name="CVC4" version="1.4" alternative="noBV" timelimit="60" steplimit="0" memlimit="1000"/>
<prover id="7" name="Alt-Ergo" version="2.0.0" timelimit="60" steplimit="0" memlimit="12000"/>
<prover id="8" name="CVC4" version="1.6" alternative="noBV" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="9" name="Z3" version="4.4.1" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="10" name="CVC4" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
......@@ -66,7 +66,7 @@
</theory>
<theory name="AvrModelLemmas" proved="true">
<goal name="register_file_invariant_strengthen" proved="true">
<proof prover="7" timelimit="60" memlimit="12000"><result status="valid" time="0.01" steps="70"/></proof>
<proof prover="7"><result status="valid" time="0.01" steps="70"/></proof>
<transf name="compute_in_goal" proved="true" >
<goal name="register_file_invariant_strengthen.0" proved="true">
<proof prover="9" timelimit="60" memlimit="12000"><result status="valid" time="0.02"/></proof>
......@@ -102,7 +102,7 @@
<goal name="VC karatsuba64_marked.3.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.3.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.23"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.23"/></proof>
</goal>
</transf>
</goal>
......@@ -119,7 +119,7 @@
<goal name="VC karatsuba64_marked.6.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.6.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.23"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.23"/></proof>
</goal>
</transf>
</goal>
......@@ -136,7 +136,7 @@
<goal name="VC karatsuba64_marked.9.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.9.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.23"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.23"/></proof>
</goal>
</transf>
</goal>
......@@ -153,7 +153,7 @@
<goal name="VC karatsuba64_marked.12.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.12.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.24"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.24"/></proof>
</goal>
</transf>
</goal>
......@@ -173,7 +173,7 @@
<goal name="VC karatsuba64_marked.16.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.16.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.24"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.24"/></proof>
</goal>
</transf>
</goal>
......@@ -190,7 +190,7 @@
<goal name="VC karatsuba64_marked.19.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.19.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.24"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.24"/></proof>
</goal>
</transf>
</goal>
......@@ -207,7 +207,7 @@
<goal name="VC karatsuba64_marked.22.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.22.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.25"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.25"/></proof>
</goal>
</transf>
</goal>
......@@ -224,7 +224,7 @@
<goal name="VC karatsuba64_marked.25.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.25.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.26"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.26"/></proof>
</goal>
</transf>
</goal>
......@@ -475,7 +475,7 @@
<goal name="VC karatsuba64_marked.90.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.90.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.44"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.44"/></proof>
</goal>
</transf>
</goal>
......@@ -500,7 +500,7 @@
<goal name="VC karatsuba64_marked.93.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.93.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.44"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.44"/></proof>
</goal>
</transf>
</goal>
......@@ -517,7 +517,7 @@
<goal name="VC karatsuba64_marked.96.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.96.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.46"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.46"/></proof>
</goal>
</transf>
</goal>
......@@ -534,7 +534,7 @@
<goal name="VC karatsuba64_marked.99.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.99.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.48"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.48"/></proof>
</goal>
</transf>
</goal>
......@@ -551,7 +551,7 @@
<goal name="VC karatsuba64_marked.102.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.102.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.51"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.51"/></proof>
</goal>
</transf>
</goal>
......@@ -568,7 +568,7 @@
<goal name="VC karatsuba64_marked.105.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.105.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.52"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.52"/></proof>
</goal>
</transf>
</goal>
......@@ -585,7 +585,7 @@
<goal name="VC karatsuba64_marked.108.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.108.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.40"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.40"/></proof>
</goal>
</transf>
</goal>
......@@ -602,7 +602,7 @@
<goal name="VC karatsuba64_marked.111.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.111.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.58"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.58"/></proof>
</goal>
</transf>
</goal>
......@@ -622,7 +622,7 @@
<goal name="VC karatsuba64_marked.115.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.115.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.63"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.63"/></proof>
</goal>
</transf>
</goal>
......@@ -639,7 +639,7 @@
<goal name="VC karatsuba64_marked.118.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.118.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.63"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.63"/></proof>
</goal>
</transf>
</goal>
......@@ -656,7 +656,7 @@
<goal name="VC karatsuba64_marked.121.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.121.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.81"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.81"/></proof>
</goal>
</transf>
</goal>
......@@ -673,7 +673,7 @@
<goal name="VC karatsuba64_marked.124.0" expl="precondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.124.0.0" expl="precondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="0.78"/></proof>
<proof prover="6" timelimit="1"><result status="valid" time="0.78"/></proof>
</goal>
</transf>
</goal>
......@@ -1534,7 +1534,7 @@
<goal name="VC karatsuba64_marked.302.0" expl="postcondition" proved="true">
<transf name="remove" proved="true" arg1="xor_1&#39;">
<goal name="VC karatsuba64_marked.302.0.0" expl="postcondition" proved="true">
<proof prover="6"><result status="valid" time="4.56"/></proof>
<proof prover="6" memlimit="8000"><result status="valid" time="4.56"/></proof>
</goal>
</transf>
</goal>
......@@ -1566,103 +1566,91 @@
<goal name="VC karatsuba64_marked.304" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.24"/></proof>
</goal>
<goal name="VC karatsuba64_marked.305" expl="postcondition" proved="true">
<proof prover="9"><result status="valid" time="0.25"/></proof>
<goal name="VC karatsuba64_marked.305" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="VC karatsuba64_marked.306" expl="postcondition" proved="true">
<proof prover="9"><result status="valid" time="0.25"/></proof>
<goal name="VC karatsuba64_marked.306" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.09"/></proof>
</goal>
<goal name="VC karatsuba64_marked.307" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.10"/></proof>
<proof prover="1"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC karatsuba64_marked.308" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.09"/></proof>
<proof prover="1"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC karatsuba64_marked.309" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC karatsuba64_marked.310" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.19"/></proof>
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC karatsuba64_marked.311" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC karatsuba64_marked.312" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC karatsuba64_marked.313" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC karatsuba64_marked.314" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.21"/></proof>
</goal>
<goal name="VC karatsuba64_marked.315" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.313" expl="postcondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.315.0" expl="postcondition" proved="true">
<proof prover="2" timelimit="1" memlimit="1000"><result status="valid" time="5.87"/></proof>
<goal name="VC karatsuba64_marked.313.0" expl="postcondition" proved="true">
<proof prover="2" timelimit="1" memlimit="1000"><result status="valid" time="4.78"/></proof>
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.316" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.314" expl="postcondition" proved="true">
<transf name="unfold" proved="true" arg1="uint">
<goal name="VC karatsuba64_marked.316.0" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.314.0" expl="postcondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.316.0.0" expl="postcondition" proved="true">
<proof prover="6" timelimit="1" memlimit="1000"><result status="valid" time="1.94"/></proof>
<goal name="VC karatsuba64_marked.314.0.0" expl="postcondition" proved="true">
<proof prover="6" timelimit="1"><result status="valid" time="1.94"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.317" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.315" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.20"/></proof>
</goal>
<goal name="VC karatsuba64_marked.318" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.30"/></proof>
</goal>
<goal name="VC karatsuba64_marked.319" expl="postcondition" proved="true">
<proof prover="1"><result status="valid" time="0.33"/></proof>
</goal>
<goal name="VC karatsuba64_marked.320" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.316" expl="assertion" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.320.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.316.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.320.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.316.0.0" expl="assertion" proved="true">
<proof prover="2" memlimit="8000"><result status="valid" time="0.91"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.321" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.317" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.09"/></proof>
</goal>
<goal name="VC karatsuba64_marked.322" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.318" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC karatsuba64_marked.323" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.319" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC karatsuba64_marked.324" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.320" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.324.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.320.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.324.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.320.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.324.0.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.320.0.0.0" expl="assertion" proved="true">
<transf name="eliminate_if" proved="true" >
<goal name="VC karatsuba64_marked.324.0.0.0.0" expl="VC for karatsuba64_marked" proved="true">
<goal name="VC karatsuba64_marked.320.0.0.0.0" expl="VC for karatsuba64_marked" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.324.0.0.0.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.320.0.0.0.0.0" expl="assertion" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.324.0.0.0.0.0.0" expl="assertion" proved="true">
<proof prover="6" timelimit="30" memlimit="4000"><result status="valid" time="12.46"/></proof>
<goal name="VC karatsuba64_marked.320.0.0.0.0.0.0" expl="assertion" proved="true">
<proof prover="6" timelimit="30" memlimit="4000"><result status="valid" time="11.07"/></proof>
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.324.0.0.0.0.1" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.320.0.0.0.0.1" expl="assertion" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.324.0.0.0.0.1.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.320.0.0.0.0.1.0" expl="assertion" proved="true">
<proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="7.05"/></proof>
</goal>
</transf>
......@@ -1677,40 +1665,40 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.325" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.321" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC karatsuba64_marked.326" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.322" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="VC karatsuba64_marked.327" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.323" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.09"/></proof>
</goal>
<goal name="VC karatsuba64_marked.328" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.324" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="VC karatsuba64_marked.329" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.325" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.329.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.325.0" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.329.0.0" expl="assertion" proved="true">
<proof prover="6" timelimit="30" memlimit="4000"><result status="valid" time="16.75"/></proof>
<goal name="VC karatsuba64_marked.325.0.0" expl="assertion" proved="true">
<proof prover="6" timelimit="30" memlimit="4000"><result status="valid" time="29.96"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.330" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.326" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC karatsuba64_marked.331" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.327" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.331.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.327.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.331.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.327.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.331.0.0.0" expl="assertion" proved="true">
<proof prover="6" timelimit="5" memlimit="2000"><result status="valid" time="3.42"/></proof>
<goal name="VC karatsuba64_marked.327.0.0.0" expl="assertion" proved="true">
<proof prover="6" timelimit="5" memlimit="2000"><result status="valid" time="4.68"/></proof>
</goal>
</transf>
</goal>
......@@ -1718,17 +1706,17 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.332" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.328" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="VC karatsuba64_marked.333" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.329" expl="assertion" proved="true">
<transf name="remove" proved="true" arg1="xor_1">
<goal name="VC karatsuba64_marked.333.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.329.0" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.333.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.329.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.333.0.0.0" expl="assertion" proved="true">
<proof prover="6"><result status="valid" time="2.82"/></proof>
<goal name="VC karatsuba64_marked.329.0.0.0" expl="assertion" proved="true">
<proof prover="6" memlimit="8000"><result status="valid" time="4.72"/></proof>
</goal>
</transf>
</goal>
......@@ -1736,17 +1724,17 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.334" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.330" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.20"/></proof>
</goal>
<goal name="VC karatsuba64_marked.335" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.331" expl="assertion" proved="true">
<transf name="remove" proved="true" arg1="xor_1">
<goal name="VC karatsuba64_marked.335.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.331.0" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.335.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.331.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.335.0.0.0" expl="assertion" proved="true">
<proof prover="6"><result status="valid" time="2.78"/></proof>
<goal name="VC karatsuba64_marked.331.0.0.0" expl="assertion" proved="true">
<proof prover="6" memlimit="8000"><result status="valid" time="4.91"/></proof>
</goal>
</transf>
</goal>
......@@ -1754,17 +1742,17 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.336" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.332" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.22"/></proof>
</goal>
<goal name="VC karatsuba64_marked.337" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.333" expl="assertion" proved="true">
<transf name="remove" proved="true" arg1="xor_1">
<goal name="VC karatsuba64_marked.337.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.333.0" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.337.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.333.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.337.0.0.0" expl="assertion" proved="true">
<proof prover="6"><result status="valid" time="4.32"/></proof>
<goal name="VC karatsuba64_marked.333.0.0.0" expl="assertion" proved="true">
<proof prover="6" memlimit="8000"><result status="valid" time="7.61"/></proof>
</goal>
</transf>
</goal>
......@@ -1772,17 +1760,17 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.338" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.334" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.20"/></proof>
</goal>
<goal name="VC karatsuba64_marked.339" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.335" expl="assertion" proved="true">
<transf name="remove" proved="true" arg1="xor_1">
<goal name="VC karatsuba64_marked.339.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.335.0" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.339.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.335.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.339.0.0.0" expl="assertion" proved="true">
<proof prover="6"><result status="valid" time="4.52"/></proof>
<goal name="VC karatsuba64_marked.335.0.0.0" expl="assertion" proved="true">
<proof prover="6" memlimit="8000"><result status="valid" time="7.88"/></proof>
</goal>
</transf>
</goal>
......@@ -1790,17 +1778,17 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.340" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.336" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.20"/></proof>
</goal>
<goal name="VC karatsuba64_marked.341" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.337" expl="assertion" proved="true">
<transf name="remove" proved="true" arg1="xor_1">
<goal name="VC karatsuba64_marked.341.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.337.0" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.341.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.337.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.341.0.0.0" expl="assertion" proved="true">
<proof prover="6"><result status="valid" time="7.61"/></proof>
<goal name="VC karatsuba64_marked.337.0.0.0" expl="assertion" proved="true">
<proof prover="6" memlimit="8000"><result status="valid" time="12.67"/></proof>
</goal>
</transf>
</goal>
......@@ -1808,17 +1796,17 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.342" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.338" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC karatsuba64_marked.343" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.339" expl="assertion" proved="true">
<transf name="remove" proved="true" arg1="xor_1">
<goal name="VC karatsuba64_marked.343.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.339.0" expl="assertion" proved="true">
<transf name="compute_in_goal" proved="true" >
<goal name="VC karatsuba64_marked.343.0.0" expl="assertion" proved="true">
<goal name="VC karatsuba64_marked.339.0.0" expl="assertion" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.343.0.0.0" expl="assertion" proved="true">
<proof prover="6"><result status="valid" time="7.77"/></proof>
<goal name="VC karatsuba64_marked.339.0.0.0" expl="assertion" proved="true">
<proof prover="6" memlimit="8000"><result status="valid" time="13.59"/></proof>
</goal>
</transf>
</goal>
......@@ -1826,47 +1814,47 @@
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.344" expl="precondition" proved="true">
<goal name="VC karatsuba64_marked.340" expl="precondition" proved="true">
<proof prover="1"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="VC karatsuba64_marked.345" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.341" expl="postcondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.345.0" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.341.0" expl="postcondition" proved="true">
<transf name="remove" proved="true" arg1="xor_1&#39;">
<goal name="VC karatsuba64_marked.345.0.0" expl="postcondition" proved="true">
<proof prover="6"><result status="valid" time="3.35"/></proof>
<goal name="VC karatsuba64_marked.341.0.0" expl="postcondition" proved="true">
<proof prover="6" memlimit="8000"><result status="valid" time="5.77"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="VC karatsuba64_marked.346" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.342" expl="postcondition" proved="true">
<transf name="unfold" proved="true" arg1="uint">
<goal name="VC karatsuba64_marked.346.0" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.342.0" expl="postcondition" proved="true">
<transf name="compute_specified" proved="true" >
<goal name="VC karatsuba64_marked.346.0.0" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.342.0.0" expl="postcondition" proved="true">
<transf name="split_vc" proved="true" >
<goal name="VC karatsuba64_marked.346.0.0.0" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.342.0.0.0" expl="postcondition" proved="true">
<transf name="eliminate_if" proved="true" >
<goal name="VC karatsuba64_marked.346.0.0.0.0" expl="VC for karatsuba64_marked" proved="true">
<goal name="VC karatsuba64_marked.342.0.0.0.0" expl="VC for karatsuba64_marked" proved="true">
<transf name="split_all_right" proved="true" >
<goal name="VC karatsuba64_marked.346.0.0.0.0.0" expl="postcondition" proved="true">
<goal name="VC karatsuba64_marked.342.0.0.0.0.0" expl="postcondition" proved="true">
<transf name="compute_specified" proved=