Commit e73b3b1a authored by Mário Pereira's avatar Mário Pereira

Proof in progress (Schorr-Waite)

parent 6a5fc60f
......@@ -84,7 +84,7 @@ module SchorrWaite
ensures { forall n : loc. L.mem n result -> L.mem n stack }
predicate edge (x y : loc) (left right : map loc loc) =
x <> null && (left[x] = y || right[x] = y)
x <> null /\ (left[x] = y \/ right[x] = y)
inductive path (left right : map loc loc) (x y : loc) (p : list loc) =
| path_nil : forall x : loc, l r : map loc loc. path l r x x Nil
......@@ -174,8 +174,10 @@ module SchorrWaite
(old !right)[n] = !right[n] }
(* all the non-null vertices reachable from root
are marked at the end of the algorithm *)
ensures { forall n : loc. S.mem n graph /\ n <> null /\
reachable root n (old !left) (old !right) -> !m[n] }
(* update: following Leino's paper, I will specify that all reachable nodes
* are marked as a transitive propertie, rather than using reachability *)
(* ensures { forall n : loc. S.mem n graph /\ n <> null /\
reachable root n (old !left) (old !right) -> !m[n] } *)
(* every marked node was reachable from 'root' in the pre-state *)
ensures { forall n : loc. S.mem n graph /\ n <> null /\ !m[n] ->
reachable root n (old !left) (old !right) }
......@@ -256,8 +258,8 @@ module SchorrWaite
(* lines 61-62 from Leinos' paper --> help establish the post that
* all nodes reachable from root are marked *)
invariant { forall n : loc. S.mem n graph /\ n <> null /\ !m[n] /\
not (L.mem n !stackNodes) /\ n <> !t ->
(forall ch : loc. edge n ch !left !right /\ ch <> null -> !m[ch]) }
not (L.mem n !stackNodes) -> (* /\ n <> !t ---> do I really need this 'n <> !t'? *)
(forall ch : loc. edge n ch !left !right /\ ch <> null -> !m[ch]) }
(* termination proved using lexicographic order over a triple *)
variant { S.cardinal !unmarked_nodes, S.cardinal !c_false_nodes, length !stackNodes }
if !t = null || !m[!t] then begin
......
......@@ -6,7 +6,7 @@
<prover id="1" name="CVC3" version="2.4.1" timelimit="5" memlimit="1000"/>
<prover id="2" name="CVC4" version="1.4" timelimit="5" memlimit="1000"/>
<file name="../schorr_waite.mlw" expanded="true">
<theory name="SchorrWaite" sum="c76416d98908399b9d5e58958747c744" expanded="true">
<theory name="SchorrWaite" sum="26cbac1269c2f45a443f41b59023ba0b" expanded="true">
<goal name="reflex_path">
<proof prover="0" obsolete="true"><result status="valid" time="0.01" steps="2"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
......@@ -23,11 +23,11 @@
</goal>
<goal name="WP_parameter trans_path.3" expl="3. variant decrease">
<transf name="split_goal_wp">
<goal name="WP_parameter trans_path.3.1" expl="1.">
<goal name="WP_parameter trans_path.3.1" expl="1. VC for trans_path">
<proof prover="0" obsolete="true"><result status="valid" time="0.01" steps="6"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter trans_path.3.2" expl="2.">
<goal name="WP_parameter trans_path.3.2" expl="2. VC for trans_path">
<proof prover="0" obsolete="true"><result status="valid" time="0.00" steps="9"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
......@@ -61,12 +61,12 @@
</goal>
<goal name="WP_parameter length_tl.3" expl="3. variant decrease">
<transf name="split_goal_wp">
<goal name="WP_parameter length_tl.3.1" expl="1.">
<goal name="WP_parameter length_tl.3.1" expl="1. VC for length_tl">
<proof prover="0" obsolete="true"><result status="valid" time="0.01" steps="4"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2" obsolete="true"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter length_tl.3.2" expl="2.">
<goal name="WP_parameter length_tl.3.2" expl="2. VC for length_tl">
<proof prover="0" obsolete="true"><result status="valid" time="0.01" steps="13"/></proof>
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="2" obsolete="true"><result status="valid" time="0.04"/></proof>
......@@ -93,121 +93,121 @@
</goal>
<goal name="WP_parameter schorr_waite" expl="VC for schorr_waite" expanded="true">
<transf name="split_goal_wp" expanded="true">
<goal name="WP_parameter schorr_waite.1" expl="1. precondition">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
<goal name="WP_parameter schorr_waite.1" expl="1. loop invariant init">
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.04"/></proof>
<goal name="WP_parameter schorr_waite.2" expl="2. loop invariant init">
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.3" expl="3. precondition">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
<goal name="WP_parameter schorr_waite.3" expl="3. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.4" expl="4. loop variant decrease">
<goal name="WP_parameter schorr_waite.4" expl="4. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.5" expl="5. assertion">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
<goal name="WP_parameter schorr_waite.5" expl="5. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.6" expl="6. precondition">
<goal name="WP_parameter schorr_waite.6" expl="6. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.7" expl="7. precondition">
<proof prover="1"><result status="valid" time="0.04"/></proof>
<goal name="WP_parameter schorr_waite.7" expl="7. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.8" expl="8. precondition">
<goal name="WP_parameter schorr_waite.8" expl="8. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.9" expl="9. precondition">
<goal name="WP_parameter schorr_waite.9" expl="9. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.10" expl="10. precondition">
<goal name="WP_parameter schorr_waite.10" expl="10. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.11" expl="11. loop variant decrease">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
<goal name="WP_parameter schorr_waite.11" expl="11. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.12" expl="12. precondition">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
<goal name="WP_parameter schorr_waite.12" expl="12. loop invariant init">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.13" expl="13. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.14" expl="14. precondition">
<proof prover="1"><result status="timeout" time="5.01"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.15" expl="15. loop variant decrease">
<proof prover="1"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.16" expl="16. assertion">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.17" expl="17. precondition">
<goal name="WP_parameter schorr_waite.15" expl="15. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.18" expl="18. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
<goal name="WP_parameter schorr_waite.16" expl="16. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.19" expl="19. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
<goal name="WP_parameter schorr_waite.17" expl="17. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.20" expl="20. precondition">
<goal name="WP_parameter schorr_waite.18" expl="18. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.21" expl="21. precondition">
<goal name="WP_parameter schorr_waite.19" expl="19. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.22" expl="22. loop variant decrease">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
<goal name="WP_parameter schorr_waite.20" expl="20. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.23" expl="23. precondition">
<goal name="WP_parameter schorr_waite.21" expl="21. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.24" expl="24. precondition">
<goal name="WP_parameter schorr_waite.22" expl="22. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.25" expl="25. precondition">
<goal name="WP_parameter schorr_waite.23" expl="23. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.26" expl="26. precondition">
<goal name="WP_parameter schorr_waite.24" expl="24. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.27" expl="27. loop variant decrease">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
<goal name="WP_parameter schorr_waite.25" expl="25. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.28" expl="28. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
<goal name="WP_parameter schorr_waite.26" expl="26. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.29" expl="29. precondition">
<goal name="WP_parameter schorr_waite.27" expl="27. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.30" expl="30. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
<goal name="WP_parameter schorr_waite.28" expl="28. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.29" expl="29. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.31" expl="31. precondition" expanded="true">
<goal name="WP_parameter schorr_waite.30" expl="30. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.32" expl="32. loop variant decrease">
<goal name="WP_parameter schorr_waite.31" expl="31. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.33" expl="33. precondition">
<goal name="WP_parameter schorr_waite.32" expl="32. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.34" expl="34. precondition">
<goal name="WP_parameter schorr_waite.33" expl="33. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.35" expl="35. precondition">
<goal name="WP_parameter schorr_waite.34" expl="34. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.36" expl="36. loop variant decrease">
<goal name="WP_parameter schorr_waite.35" expl="35. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.37" expl="37. assertion">
<goal name="WP_parameter schorr_waite.36" expl="36. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.38" expl="38. precondition">
<goal name="WP_parameter schorr_waite.37" expl="37. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.38" expl="38. loop variant decrease">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.39" expl="39. precondition" expanded="true">
<goal name="WP_parameter schorr_waite.39" expl="39. assertion">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.40" expl="40. precondition">
......@@ -216,112 +216,940 @@
<goal name="WP_parameter schorr_waite.41" expl="41. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.42" expl="42. precondition">
<goal name="WP_parameter schorr_waite.42" expl="42. precondition" expanded="true">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.43" expl="43. loop variant decrease">
<goal name="WP_parameter schorr_waite.43" expl="43. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.44" expl="44. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.45" expl="45. precondition">
<proof prover="1"><result status="valid" time="0.01"/></proof>
<goal name="WP_parameter schorr_waite.45" expl="45. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.46" expl="46. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.47" expl="47. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.48" expl="48. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.49" expl="49. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.50" expl="50. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.51" expl="51. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.52" expl="52. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.53" expl="53. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.54" expl="54. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.55" expl="55. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.56" expl="56. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.57" expl="57. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.58" expl="58. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.59" expl="59. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.60" expl="60. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.61" expl="61. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.62" expl="62. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.63" expl="63. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.64" expl="64. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.65" expl="65. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.66" expl="66. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.67" expl="67. loop variant decrease">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.68" expl="68. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.46" expl="46. precondition">
<goal name="WP_parameter schorr_waite.69" expl="69. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.47" expl="47. loop variant decrease">
<goal name="WP_parameter schorr_waite.70" expl="70. precondition">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.71" expl="71. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.21"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.72" expl="72. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.73" expl="73. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.53"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.74" expl="74. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.32"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.75" expl="75. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.76" expl="76. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.77" expl="77. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.78" expl="78. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.79" expl="79. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.80" expl="80. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.81" expl="81. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.82" expl="82. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.48" expl="48. assertion">
<goal name="WP_parameter schorr_waite.83" expl="83. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.07"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.84" expl="84. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.85" expl="85. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.86" expl="86. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.87" expl="87. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.78"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.88" expl="88. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.89" expl="89. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.90" expl="90. loop invariant preservation">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.91" expl="91. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.92" expl="92. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.93" expl="93. loop variant decrease">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.49" expl="49. precondition" expanded="true">
<goal name="WP_parameter schorr_waite.94" expl="94. assertion">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.50" expl="50. precondition">
<goal name="WP_parameter schorr_waite.95" expl="95. precondition" expanded="true">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.96" expl="96. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.97" expl="97. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.51" expl="51. precondition">
<goal name="WP_parameter schorr_waite.98" expl="98. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.52" expl="52. precondition">
<goal name="WP_parameter schorr_waite.99" expl="99. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.100" expl="100. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.101" expl="101. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.53" expl="53. precondition">
<goal name="WP_parameter schorr_waite.102" expl="102. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.103" expl="103. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.54" expl="54. loop variant decrease">
<goal name="WP_parameter schorr_waite.104" expl="104. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.55" expl="55. precondition">
<goal name="WP_parameter schorr_waite.105" expl="105. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.106" expl="106. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.107" expl="107. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.108" expl="108. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.109" expl="109. loop invariant preservation">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.110" expl="110. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.111" expl="111. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.112" expl="112. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.56" expl="56. precondition">
<goal name="WP_parameter schorr_waite.113" expl="113. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.114" expl="114. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.57" expl="57. precondition">
<goal name="WP_parameter schorr_waite.115" expl="115. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.116" expl="116. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.58" expl="58. precondition">
<goal name="WP_parameter schorr_waite.117" expl="117. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.118" expl="118. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.119" expl="119. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.120" expl="120. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.121" expl="121. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.93"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.122" expl="122. loop variant decrease">
<proof prover="1"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.123" expl="123. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.59" expl="59. loop variant decrease">
<proof prover="1"><result status="valid" time="0.09"/></proof>
<goal name="WP_parameter schorr_waite.124" expl="124. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.60" expl="60. precondition">
<goal name="WP_parameter schorr_waite.125" expl="125. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.61" expl="61. precondition">
<goal name="WP_parameter schorr_waite.126" expl="126. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.62" expl="62. precondition">
<proof prover="1"><result status="valid" time="0.02"/></proof>
<goal name="WP_parameter schorr_waite.127" expl="127. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.128" expl="128. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.129" expl="129. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.130" expl="130. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.63" expl="63. precondition">
<goal name="WP_parameter schorr_waite.131" expl="131. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.64" expl="64. loop variant decrease">
<goal name="WP_parameter schorr_waite.132" expl="132. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.133" expl="133. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.134" expl="134. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.65" expl="65. postcondition" expanded="true">
<transf name="split_goal_wp" expanded="true">
<goal name="WP_parameter schorr_waite.65.1" expl="1. postcondition">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.65.2" expl="2. postcondition">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
</goal>
</transf>
<goal name="WP_parameter schorr_waite.135" expl="135. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.136" expl="136. loop invariant preservation">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.66" expl="66. postcondition">
<goal name="WP_parameter schorr_waite.137" expl="137. loop invariant preservation">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.67" expl="67. postcondition" expanded="true">
<goal name="WP_parameter schorr_waite.138" expl="138. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.139" expl="139. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.140" expl="140. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.68" expl="68. postcondition" expanded="true">
<goal name="WP_parameter schorr_waite.141" expl="141. loop invariant preservation">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.69" expl="69. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter schorr_waite.69.1" expl="1. postcondition">
<proof prover="1"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.69.2" expl="2. postcondition">
<proof prover="1"><undone/></proof>
</goal>
</transf>
<goal name="WP_parameter schorr_waite.142" expl="142. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.76"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.143" expl="143. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.18"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.144" expl="144. loop invariant preservation">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.145" expl="145. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.146" expl="146. loop invariant preservation">
<proof prover="1"><result status="timeout" time="4.99"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.147" expl="147. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.51"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.148" expl="148. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.74"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.149" expl="149. loop variant decrease">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.150" expl="150. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.151" expl="151. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.152" expl="152. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.153" expl="153. precondition">
<proof prover="1"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter schorr_waite.154" expl="154. loop invariant preservation">