Commit 4343a6a7 authored by Jean-Christophe Filliâtre's avatar Jean-Christophe Filliâtre
Browse files

koda-ruskey: no more global array bits

parent 370bb109
......@@ -408,10 +408,9 @@ module KodaRuskey
val map_of_array (a: array 'a) : M.map int 'a
ensures { result = a.elts }
val bits : array color
val ghost visited: ref visited
let rec enum (ghost f0: forest) (st: list forest) : unit
let rec enum (bits: array color) (ghost f0: forest) (st: list forest) : unit
requires { size_forest f0 = length bits }
requires { valid_nums_forest f0 (length bits) }
requires { sub st f0 bits.elts }
......@@ -435,14 +434,14 @@ module KodaRuskey
ghost visited := S.snoc !visited (map_of_array bits);
()
| _ ->
enum f0 st'
enum bits f0 st'
end
| Cons (N i f1 f2 as f) st' ->
assert { disjoint_stack f1 st' };
assert { not (mem_stack i st') };
let ghost visited1 = !visited in
if bits[i] = White then begin
'A: enum f0 (Cons f2 st');
'A: enum bits f0 (Cons f2 st');
assert { sub st f0 bits.elts };
let ghost bits1 = map_of_array bits in
let ghost visited2 = !visited in
......@@ -451,7 +450,7 @@ module KodaRuskey
assert { white_forest f1 bits.elts };
assert { unchanged (Cons f2 st') (at bits 'B).elts bits.elts};
assert { inverse (Cons f2 st') (at bits 'A).elts bits.elts };
'C: enum f0 (Cons f1 (Cons f2 st'));
'C: enum bits f0 (Cons f1 (Cons f2 st'));
assert { bits[i] = Black };
assert { final_forest f1 bits.elts };
assert { if not (even_forest f1)
......@@ -464,7 +463,7 @@ module KodaRuskey
end else begin
assert { if not (even_forest f1) then white_forest f2 bits.elts
else final_forest f2 bits.elts };
'A: enum f0 (Cons f1 (Cons f2 st'));
'A: enum bits f0 (Cons f1 (Cons f2 st'));
assert { sub st f0 bits.elts };
let ghost bits1 = map_of_array bits in
let ghost visited2 = !visited in
......@@ -477,7 +476,7 @@ module KodaRuskey
assert { if even_forest f1 || even_forest f2
then unchanged st' (at bits 'A).elts bits.elts
else inverse st' (at bits 'A).elts bits.elts };
'C: enum f0 (Cons f2 st');
'C: enum bits f0 (Cons f2 st');
assert { bits[i] = White };
assert { white_forest f bits.elts };
ghost stored_trans2 f0 bits1 (map_of_array bits)
......@@ -485,7 +484,7 @@ module KodaRuskey
end
end
let main (f0: forest)
let main (bits: array color) (f0: forest)
requires { white_forest f0 bits.elts }
requires { size_forest f0 = length bits }
requires { valid_nums_forest f0 (length bits) }
......@@ -497,7 +496,7 @@ module KodaRuskey
not (eq_coloring (length bits)
(S.get !visited j) (S.get !visited k)) }
= visited := S.empty;
enum f0 (Cons f0 Nil)
enum bits f0 (Cons f0 Nil)
end
......
......@@ -8,7 +8,7 @@
<prover id="3" name="Eprover" version="1.8-001" timelimit="36" steplimit="0" memlimit="1000"/>
<prover id="5" name="Z3" version="4.4.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="9" name="Coq" version="8.4pl6" timelimit="5" steplimit="0" memlimit="1000"/>
<file name="../koda_ruskey.mlw" expanded="true">
<file name="../koda_ruskey.mlw">
<theory name="KodaRuskey_Spec" sum="8e518d6f01f787c2ba93abeff13d48b2">
<goal name="size_forest_nonneg">
<transf name="induction_ty_lex">
......@@ -578,7 +578,7 @@
</transf>
</goal>
</theory>
<theory name="KodaRuskey" sum="e1f74a7b1053dbbb409b16e4c43cefe2" expanded="true">
<theory name="KodaRuskey" sum="375ccd05fba99e4684c282487fcc80a2">
<goal name="WP_parameter enum" expl="VC for enum">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.1" expl="1. unreachable point">
......@@ -588,13 +588,31 @@
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="17"/></proof>
</goal>
<goal name="WP_parameter enum.3" expl="3. postcondition">
<proof prover="0" timelimit="6"><result status="valid" time="0.07"/></proof>
<transf name="introduce_premises">
<goal name="WP_parameter enum.3.1" expl="1. postcondition">
<transf name="compute_in_goal">
<goal name="WP_parameter enum.3.1.1" expl="1. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.3.1.1.1" expl="1. VC for enum">
<proof prover="0"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="WP_parameter enum.3.1.1.2" expl="2. VC for enum">
<proof prover="0"><result status="valid" time="0.07"/></proof>
</goal>
<goal name="WP_parameter enum.3.1.1.3" expl="3. VC for enum">
<proof prover="0"><result status="valid" time="0.17"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter enum.4" expl="4. postcondition">
<proof prover="1"><result status="valid" time="0.02" steps="18"/></proof>
</goal>
<goal name="WP_parameter enum.5" expl="5. postcondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.03" steps="63"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="63"/></proof>
</goal>
<goal name="WP_parameter enum.6" expl="6. variant decrease">
<proof prover="1" timelimit="36"><result status="valid" time="0.02" steps="26"/></proof>
......@@ -603,7 +621,7 @@
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="17"/></proof>
</goal>
<goal name="WP_parameter enum.8" expl="8. precondition">
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="17"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="17"/></proof>
</goal>
<goal name="WP_parameter enum.9" expl="9. precondition">
<proof prover="1"><result status="valid" time="0.02" steps="22"/></proof>
......@@ -621,31 +639,19 @@
<proof prover="0" timelimit="6"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter enum.14" expl="14. postcondition">
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="34"/></proof>
</goal>
<goal name="WP_parameter enum.15" expl="15. postcondition">
<proof prover="1"><result status="valid" time="0.01" steps="23"/></proof>
</goal>
<goal name="WP_parameter enum.16" expl="16. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.16.1" expl="1. postcondition">
<transf name="inline_goal">
<goal name="WP_parameter enum.16.1.1" expl="1. postcondition">
<transf name="introduce_premises">
<goal name="WP_parameter enum.14.1" expl="1. postcondition">
<transf name="compute_in_goal">
<goal name="WP_parameter enum.14.1.1" expl="1. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.16.1.1.1" expl="1. postcondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="25"/></proof>
<goal name="WP_parameter enum.14.1.1.1" expl="1. VC for enum">
<proof prover="0"><result status="valid" time="0.12"/></proof>
</goal>
<goal name="WP_parameter enum.16.1.1.2" expl="2. postcondition">
<proof prover="5"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter enum.16.1.1.3" expl="3. postcondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="29"/></proof>
<goal name="WP_parameter enum.14.1.1.2" expl="2. VC for enum">
<proof prover="0" timelimit="25"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="WP_parameter enum.16.1.1.4" expl="4. postcondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.10" steps="180"/></proof>
</goal>
<goal name="WP_parameter enum.16.1.1.5" expl="5. postcondition">
<proof prover="5"><result status="valid" time="0.02"/></proof>
<goal name="WP_parameter enum.14.1.1.3" expl="3. VC for enum">
<proof prover="0"><result status="valid" time="0.18"/></proof>
</goal>
</transf>
</goal>
......@@ -653,6 +659,12 @@
</goal>
</transf>
</goal>
<goal name="WP_parameter enum.15" expl="15. postcondition">
<proof prover="1"><result status="valid" time="0.01" steps="23"/></proof>
</goal>
<goal name="WP_parameter enum.16" expl="16. postcondition">
<proof prover="1"><result status="valid" time="0.25" steps="248"/></proof>
</goal>
<goal name="WP_parameter enum.17" expl="17. assertion">
<proof prover="0"><result status="valid" time="0.73"/></proof>
</goal>
......@@ -663,39 +675,31 @@
<proof prover="3"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter enum.20" expl="20. variant decrease">
<proof prover="1" timelimit="5"><result status="valid" time="0.13" steps="68"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="68"/></proof>
</goal>
<goal name="WP_parameter enum.21" expl="21. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.00" steps="21"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="21"/></proof>
</goal>
<goal name="WP_parameter enum.22" expl="22. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="21"/></proof>
</goal>
<goal name="WP_parameter enum.23" expl="23. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="67"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.12" steps="67"/></proof>
</goal>
<goal name="WP_parameter enum.24" expl="24. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.17" steps="181"/></proof>
<proof prover="0"><result status="valid" time="0.07"/></proof>
</goal>
<goal name="WP_parameter enum.25" expl="25. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="21"/></proof>
<proof prover="0"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter enum.26" expl="26. assertion">
<proof prover="1" timelimit="5"><result status="valid" time="0.37" steps="352"/></proof>
<proof prover="0"><result status="valid" time="2.14"/></proof>
</goal>
<goal name="WP_parameter enum.27" expl="27. index in array bounds">
<transf name="introduce_premises">
<goal name="WP_parameter enum.27.1" expl="1. index in array bounds">
<transf name="inline_goal">
<goal name="WP_parameter enum.27.1.1" expl="1. index in array bounds">
<proof prover="0" timelimit="10" steplimit="-1"><result status="valid" time="0.03"/></proof>
</goal>
</transf>
</goal>
</transf>
<proof prover="0"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter enum.28" expl="28. assertion">
<proof prover="0"><result status="valid" time="1.14"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.93" steps="408"/></proof>
</goal>
<goal name="WP_parameter enum.29" expl="29. assertion">
<proof prover="0"><result status="valid" time="3.80"/></proof>
......@@ -707,25 +711,25 @@
<proof prover="0" timelimit="25"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter enum.32" expl="32. variant decrease">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="39"/></proof>
<proof prover="0"><result status="valid" time="0.14"/></proof>
</goal>
<goal name="WP_parameter enum.33" expl="33. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="32"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.00" steps="32"/></proof>
</goal>
<goal name="WP_parameter enum.34" expl="34. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="32"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="32"/></proof>
</goal>
<goal name="WP_parameter enum.35" expl="35. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.10" steps="93"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.14" steps="93"/></proof>
</goal>
<goal name="WP_parameter enum.36" expl="36. precondition">
<proof prover="1" timelimit="25"><result status="valid" time="0.06" steps="84"/></proof>
</goal>
<goal name="WP_parameter enum.37" expl="37. precondition">
<proof prover="0"><result status="valid" time="0.06"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="90"/></proof>
</goal>
<goal name="WP_parameter enum.38" expl="38. assertion">
<proof prover="0"><result status="valid" time="0.17"/></proof>
<proof prover="0"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="WP_parameter enum.39" expl="39. assertion">
<proof prover="0" timelimit="25"><result status="valid" time="0.06"/></proof>
......@@ -734,48 +738,48 @@
<proof prover="0"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="WP_parameter enum.41" expl="41. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="40"/></proof>
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="40"/></proof>
</goal>
<goal name="WP_parameter enum.42" expl="42. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="40"/></proof>
</goal>
<goal name="WP_parameter enum.43" expl="43. precondition">
<proof prover="0"><result status="valid" time="0.19"/></proof>
<proof prover="0" timelimit="6"><result status="valid" time="0.24"/></proof>
</goal>
<goal name="WP_parameter enum.44" expl="44. precondition">
<proof prover="0"><result status="valid" time="0.31"/></proof>
<proof prover="0"><result status="valid" time="0.18"/></proof>
</goal>
<goal name="WP_parameter enum.45" expl="45. precondition">
<proof prover="0"><result status="valid" time="0.18"/></proof>
<proof prover="0"><result status="valid" time="0.21"/></proof>
</goal>
<goal name="WP_parameter enum.46" expl="46. precondition">
<proof prover="0" timelimit="6"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter enum.47" expl="47. precondition">
<transf name="inline_goal">
<goal name="WP_parameter enum.47.1" expl="1. precondition">
<goal name="WP_parameter enum.46.1" expl="1. precondition">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.47.1.1" expl="1. precondition">
<goal name="WP_parameter enum.46.1.1" expl="1. precondition">
<proof prover="1"><result status="valid" time="0.03" steps="37"/></proof>
</goal>
<goal name="WP_parameter enum.47.1.2" expl="2. precondition">
<goal name="WP_parameter enum.46.1.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.03" steps="44"/></proof>
</goal>
<goal name="WP_parameter enum.47.1.3" expl="3. precondition">
<goal name="WP_parameter enum.46.1.3" expl="3. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="42"/></proof>
</goal>
<goal name="WP_parameter enum.47.1.4" expl="4. precondition">
<proof prover="1"><result status="valid" time="1.80" steps="357"/></proof>
<goal name="WP_parameter enum.46.1.4" expl="4. precondition">
<proof prover="1"><result status="valid" time="1.80" steps="355"/></proof>
</goal>
<goal name="WP_parameter enum.47.1.5" expl="5. precondition">
<proof prover="1"><result status="valid" time="0.21" steps="138"/></proof>
<goal name="WP_parameter enum.46.1.5" expl="5. precondition">
<proof prover="1"><result status="valid" time="0.21" steps="137"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter enum.47" expl="47. precondition">
<proof prover="0" timelimit="6"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter enum.48" expl="48. postcondition">
<proof prover="0" timelimit="6" steplimit="-1"><result status="valid" time="0.24"/></proof>
<proof prover="0"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="WP_parameter enum.49" expl="49. postcondition">
<transf name="introduce_premises">
......@@ -784,13 +788,14 @@
<goal name="WP_parameter enum.49.1.1" expl="1. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.49.1.1.1" expl="1. VC for enum">
<proof prover="0"><result status="valid" time="0.33"/></proof>
<proof prover="0" timelimit="16"><result status="valid" time="0.22"/></proof>
</goal>
<goal name="WP_parameter enum.49.1.1.2" expl="2. VC for enum">
<proof prover="0" timelimit="25"><result status="valid" time="4.99"/></proof>
<proof prover="0" timelimit="16"><result status="valid" time="5.08"/></proof>
<proof prover="1" timelimit="16"><result status="valid" time="8.84" steps="1588"/></proof>
</goal>
<goal name="WP_parameter enum.49.1.1.3" expl="3. VC for enum">
<proof prover="0"><result status="valid" time="0.18"/></proof>
<proof prover="0" timelimit="16"><result status="valid" time="0.22"/></proof>
</goal>
</transf>
</goal>
......@@ -802,34 +807,70 @@
<proof prover="1"><result status="valid" time="0.01" steps="43"/></proof>
</goal>
<goal name="WP_parameter enum.51" expl="51. postcondition">
<proof prover="1"><result status="valid" time="0.02" steps="43"/></proof>
<transf name="split_goal_wp">
<goal name="WP_parameter enum.51.1" expl="1. postcondition">
<transf name="inline_goal">
<goal name="WP_parameter enum.51.1.1" expl="1. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.51.1.1.1" expl="1. postcondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="40"/></proof>
</goal>
<goal name="WP_parameter enum.51.1.1.2" expl="2. postcondition">
<proof prover="5"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter enum.51.1.1.3" expl="3. postcondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="47"/></proof>
</goal>
<goal name="WP_parameter enum.51.1.1.4" expl="4. postcondition">
<proof prover="0" timelimit="6"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="WP_parameter enum.51.1.1.5" expl="5. postcondition">
<proof prover="5"><result status="valid" time="0.02"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter enum.52" expl="52. assertion">
<proof prover="1" timelimit="5"><result status="valid" time="0.22" steps="428"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.38" steps="428"/></proof>
</goal>
<goal name="WP_parameter enum.53" expl="53. variant decrease">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="31"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.13" steps="31"/></proof>
</goal>
<goal name="WP_parameter enum.54" expl="54. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="21"/></proof>
</goal>
<goal name="WP_parameter enum.55" expl="55. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="21"/></proof>
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="21"/></proof>
</goal>
<goal name="WP_parameter enum.56" expl="56. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.12" steps="86"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="86"/></proof>
</goal>
<goal name="WP_parameter enum.57" expl="57. precondition">
<proof prover="0"><result status="valid" time="0.07"/></proof>
<proof prover="0" timelimit="6"><result status="valid" time="0.08"/></proof>
</goal>
<goal name="WP_parameter enum.58" expl="58. precondition">
<proof prover="1"><result status="valid" time="0.01" steps="21"/></proof>
<proof prover="0"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="WP_parameter enum.59" expl="59. assertion">
<proof prover="1" timelimit="36"><result status="valid" time="6.98" steps="1370"/></proof>
<transf name="inline_goal">
<goal name="WP_parameter enum.59.1" expl="1. assertion">
<proof prover="1" timelimit="11"><result status="valid" time="8.57" steps="1368"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter enum.60" expl="60. index in array bounds">
<proof prover="0"><result status="valid" time="0.02"/></proof>
<transf name="introduce_premises">
<goal name="WP_parameter enum.60.1" expl="1. index in array bounds">
<transf name="inline_goal">
<goal name="WP_parameter enum.60.1.1" expl="1. index in array bounds">
<proof prover="0" timelimit="10" steplimit="-1"><result status="valid" time="0.03"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter enum.61" expl="61. assertion">
<proof prover="1" timelimit="5"><result status="valid" time="0.14" steps="145"/></proof>
......@@ -838,46 +879,46 @@
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="34"/></proof>
</goal>
<goal name="WP_parameter enum.63" expl="63. assertion">
<proof prover="0"><result status="valid" time="5.89"/></proof>
<proof prover="1" timelimit="36"><result status="valid" time="2.05" steps="552"/></proof>
</goal>
<goal name="WP_parameter enum.64" expl="64. assertion">
<proof prover="1" timelimit="5"><result status="valid" time="1.80" steps="1101"/></proof>
</goal>
<goal name="WP_parameter enum.65" expl="65. variant decrease">
<proof prover="0"><result status="valid" time="0.14"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.13" steps="120"/></proof>
</goal>
<goal name="WP_parameter enum.66" expl="66. precondition">
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="31"/></proof>
</goal>
<goal name="WP_parameter enum.67" expl="67. precondition">
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="31"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="31"/></proof>
</goal>
<goal name="WP_parameter enum.68" expl="68. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.14" steps="87"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.10" steps="87"/></proof>
</goal>
<goal name="WP_parameter enum.69" expl="69. precondition">
<proof prover="0"><result status="valid" time="0.14"/></proof>
</goal>
<goal name="WP_parameter enum.70" expl="70. precondition">
<proof prover="0"><result status="valid" time="0.15"/></proof>
<proof prover="0" timelimit="6"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="WP_parameter enum.71" expl="71. assertion">
<proof prover="0"><result status="valid" time="0.19"/></proof>
<proof prover="0"><result status="valid" time="0.17"/></proof>
</goal>
<goal name="WP_parameter enum.72" expl="72. assertion">
<proof prover="0"><result status="valid" time="5.02"/></proof>
<proof prover="0"><result status="valid" time="5.66"/></proof>
</goal>
<goal name="WP_parameter enum.73" expl="73. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="39"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.01" steps="39"/></proof>
</goal>
<goal name="WP_parameter enum.74" expl="74. precondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="39"/></proof>
</goal>
<goal name="WP_parameter enum.75" expl="75. precondition">
<proof prover="0" timelimit="6"><result status="valid" time="0.24"/></proof>
<proof prover="0"><result status="valid" time="0.19"/></proof>
</goal>
<goal name="WP_parameter enum.76" expl="76. precondition">
<proof prover="0"><result status="valid" time="0.21"/></proof>
<proof prover="0"><result status="valid" time="0.31"/></proof>
</goal>
<goal name="WP_parameter enum.77" expl="77. precondition">
<proof prover="0"><result status="valid" time="0.21"/></proof>
......@@ -889,34 +930,16 @@
<proof prover="0" timelimit="6"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter enum.80" expl="80. postcondition">
<proof prover="0"><result status="valid" time="0.15"/></proof>
<proof prover="0" timelimit="6" steplimit="-1"><result status="valid" time="0.24"/></proof>
</goal>
<goal name="WP_parameter enum.81" expl="81. postcondition">
<transf name="introduce_premises">
<goal name="WP_parameter enum.81.1" expl="1. postcondition">
<transf name="compute_in_goal">
<goal name="WP_parameter enum.81.1.1" expl="1. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter enum.81.1.1.1" expl="1. VC for enum">
<proof prover="0"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="WP_parameter enum.81.1.1.2" expl="2. VC for enum">
<proof prover="0"><result status="valid" time="5.43"/></proof>
</goal>
<goal name="WP_parameter enum.81.1.1.3" expl="3. VC for enum">
<proof prover="0"><result status="valid" time="0.17"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</transf>
<proof prover="0" timelimit="6"><result status="valid" time="5.32"/></proof>
</goal>
<goal name="WP_parameter enum.82" expl="82. postcondition">
<proof prover="1"><result status="valid" time="0.02" steps="42"/></proof>
</goal>
<goal name="WP_parameter enum.83" expl="83. postcondition">
<proof prover="1" timelimit="5"><result status="valid" time="0.02" steps="42"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.03" steps="42"/></proof>
</goal>
</transf>
</goal>
......
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