Commit 2eb4ca28 authored by Léon Gondelman's avatar Léon Gondelman

Fixed and proved theory list

parent 1975bbfd
......@@ -41,7 +41,7 @@
</transf>
</goal>
</theory>
<theory name="IntListCursor" sum="6a86c159c9325e79070f5efce8debf6a">
<theory name="IntListCursor" sum="3be4879452794a876cc462ddd755a3de">
<goal name="WP_parameter create" expl="VC for create">
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
......@@ -52,7 +52,7 @@
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
</theory>
<theory name="TestListCursor" sum="650f68ba6185c1da3bf7ea3cb4c3d7e3">
<theory name="TestListCursor" sum="c8893f4016f1f1e3c221e4142f94eed3">
<goal name="WP_parameter list_sum" expl="VC for list_sum">
<transf name="split_goal_wp">
<goal name="WP_parameter list_sum.1" expl="1. loop invariant init">
......@@ -85,7 +85,7 @@
</transf>
</goal>
</theory>
<theory name="IntArrayCursor" sum="5e45c85fd72714bc8c3150cb7084a6c1" expanded="true">
<theory name="IntArrayCursor" sum="c77cddb83b83b50f0453ae017ebaaabf" expanded="true">
<goal name="WP_parameter create" expl="VC for create">
<proof prover="1"><result status="valid" time="0.01"/></proof>
</goal>
......@@ -126,7 +126,7 @@
</transf>
</goal>
</theory>
<theory name="TestArrayCursor" sum="6c32bfa8b7b8e063fd2046eb493d82bf">
<theory name="TestArrayCursor" sum="1818e28aa2ccadd10a21d99b8b296439">
<goal name="WP_parameter array_sum_array_to_list" expl="VC for array_sum_array_to_list">
<proof prover="1"><result status="valid" time="0.04"/></proof>
</goal>
......
......@@ -7,7 +7,9 @@ module InsertionSort
predicate le elt elt
clone relations.TotalPreOrder with type t = elt, predicate rel = le
clone export list.Sorted with type t = elt, predicate le = le
clone export list.Sorted with type t = elt, predicate le = le,
goal Transitive.Trans
use import list.List
use import list.Permut
......
......@@ -5,7 +5,10 @@
<prover id="0" name="Alt-Ergo" version="0.95.2" timelimit="10" memlimit="1000"/>
<prover id="1" name="CVC4" version="1.3" timelimit="10" memlimit="1000"/>
<file name="../insertion_sort_list.mlw" expanded="true">
<theory name="InsertionSort" sum="a68ab62da2fba48733e0e9f8699021f8" expanded="true">
<theory name="InsertionSort" sum="18eee291d33ec7eb040007ff367abb3c" expanded="true">
<goal name="Transitive.Trans" expanded="true">
<proof prover="0" timelimit="5"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter insert" expl="VC for insert" expanded="true">
<transf name="split_goal_wp" expanded="true">
<goal name="WP_parameter insert.1" expl="1. postcondition">
......@@ -27,10 +30,10 @@
<proof prover="0"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter insert.7" expl="7. postcondition">
<proof prover="0"><result status="valid" time="0.50"/></proof>
<proof prover="0"><result status="valid" time="0.58"/></proof>
</goal>
<goal name="WP_parameter insert.8" expl="8. postcondition" expanded="true">
<proof prover="1"><result status="valid" time="0.20"/></proof>
<proof prover="1"><result status="valid" time="0.42"/></proof>
</goal>
</transf>
</goal>
......
......@@ -4,30 +4,26 @@
<why3session shape_version="4">
<prover id="0" name="Coq" version="8.4pl4" timelimit="5" memlimit="0"/>
<prover id="1" name="CVC3" version="2.4.1" timelimit="5" memlimit="4000"/>
<prover id="2" name="Alt-Ergo" version="0.95.1" timelimit="5" memlimit="0"/>
<prover id="3" name="Z3" version="2.19" timelimit="5" memlimit="0"/>
<prover id="4" name="CVC3" version="2.2" timelimit="5" memlimit="0"/>
<prover id="5" name="Z3" version="3.2" timelimit="5" memlimit="4000"/>
<prover id="6" name="Alt-Ergo" version="0.95.2" timelimit="5" memlimit="4000"/>
<prover id="7" name="CVC4" version="1.3" timelimit="5" memlimit="4000"/>
<prover id="2" name="Alt-Ergo" version="0.95.2" timelimit="5" memlimit="4000"/>
<prover id="3" name="CVC4" version="1.3" timelimit="5" memlimit="4000"/>
<file name="../linked_list_rev.mlw" expanded="true">
<theory name="ListReverse" sum="d41d8cd98f00b204e9800998ecf8427e" expanded="true">
</theory>
<theory name="InPlaceRev" sum="3c1c96a3f0506ade10b9b7f2051e8742" expanded="true">
<theory name="InPlaceRev" sum="fd2061728df4ef10ceafdbfcc7847ac8" expanded="true">
<goal name="list_seg_frame" expanded="true">
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_frame_1.v"><result status="valid" time="1.13"/></proof>
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_frame_1.v" obsolete="true"><result status="valid" time="1.13"/></proof>
</goal>
<goal name="list_seg_functional" expanded="true">
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_functional_1.v"><result status="valid" time="1.08"/></proof>
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_functional_1.v" obsolete="true"><result status="valid" time="1.08"/></proof>
</goal>
<goal name="list_seg_sublistl" expanded="true">
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_sublistl_1.v"><result status="valid" time="1.05"/></proof>
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_sublistl_1.v" obsolete="true"><result status="valid" time="1.05"/></proof>
</goal>
<goal name="list_seg_no_repet" expanded="true">
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_no_repet_1.v"><result status="valid" time="1.07"/></proof>
<proof prover="0" edited="linked_list_rev_WP_InPlaceRev_list_seg_no_repet_1.v" obsolete="true"><result status="valid" time="1.07"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse" expl="VC for in_place_reverse" expanded="true">
<transf name="split_goal_wp" expanded="true">
<goal name="WP_parameter in_place_reverse" expl="VC for in_place_reverse">
<transf name="split_goal_wp">
<goal name="WP_parameter in_place_reverse.1" expl="1. loop invariant init">
<proof prover="2" memlimit="1000"><result status="valid" time="0.02"/></proof>
</goal>
......@@ -39,36 +35,28 @@
</goal>
<goal name="WP_parameter in_place_reverse.4" expl="4. loop invariant init">
<proof prover="1" memlimit="0"><result status="valid" time="0.02"/></proof>
<proof prover="2"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
<proof prover="4"><result status="valid" time="0.01"/></proof>
<proof prover="5" memlimit="0"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.5" expl="5. assertion">
<proof prover="2"><result status="valid" time="0.20"/></proof>
<proof prover="2" memlimit="1000"><result status="valid" time="0.36"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.6" expl="6. loop invariant preservation">
<proof prover="2" memlimit="1000"><result status="valid" time="0.19"/></proof>
<proof prover="2" memlimit="1000"><result status="valid" time="0.33"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.7" expl="7. loop invariant preservation">
<proof prover="2" memlimit="1000"><result status="valid" time="0.09"/></proof>
<proof prover="2" memlimit="1000"><result status="valid" time="0.15"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.8" expl="8. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.12"/></proof>
<proof prover="5"><result status="valid" time="0.10"/></proof>
<proof prover="7"><result status="valid" time="0.13"/></proof>
<proof prover="3"><result status="valid" time="0.13"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.9" expl="9. loop invariant preservation">
<proof prover="1" memlimit="1000"><result status="valid" time="0.09"/></proof>
<proof prover="2" memlimit="1000"><result status="valid" time="0.91"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.10" expl="10. loop variant decrease">
<proof prover="6"><result status="valid" time="0.10"/></proof>
<proof prover="2"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.11" expl="11. postcondition">
<proof prover="1" memlimit="0"><result status="valid" time="0.02"/></proof>
<proof prover="2"><result status="valid" time="0.22"/></proof>
<proof prover="4"><result status="valid" time="0.02"/></proof>
</goal>
</transf>
</goal>
......
......@@ -15,7 +15,8 @@ module Elt
type elt
predicate le elt elt
clone relations.TotalPreOrder with type t = elt, predicate rel = le
clone export list.Sorted with type t = elt, predicate le = le
clone export list.Sorted with type t = elt, predicate le = le,
goal Transitive.Trans
end
......
......@@ -2,577 +2,1210 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="0" name="Eprover" version="1.6" timelimit="6" memlimit="1000"/>
<prover id="1" name="CVC3" version="2.4.1" timelimit="6" memlimit="1000"/>
<prover id="2" name="Z3" version="2.19" timelimit="6" memlimit="1000"/>
<prover id="3" name="CVC4" version="1.4" timelimit="6" memlimit="1000"/>
<prover id="4" name="Spass" version="3.7" timelimit="10" memlimit="1000"/>
<prover id="5" name="Z3" version="4.3.1" timelimit="10" memlimit="1000"/>
<prover id="6" name="CVC3" version="2.2" timelimit="6" memlimit="1000"/>
<prover id="7" name="Z3" version="3.2" timelimit="5" memlimit="1000"/>
<prover id="8" name="Alt-Ergo" version="0.95.2" timelimit="6" memlimit="1000"/>
<prover id="0" name="CVC3" version="2.4.1" timelimit="6" memlimit="1000"/>
<prover id="1" name="CVC4" version="1.4" timelimit="6" memlimit="1000"/>
<prover id="2" name="Z3" version="4.3.1" timelimit="10" memlimit="1000"/>
<prover id="3" name="Alt-Ergo" version="0.95.2" timelimit="6" memlimit="1000"/>
<file name="../mergesort_list.mlw" expanded="true">
<theory name="Elt" sum="d41d8cd98f00b204e9800998ecf8427e">
<theory name="Elt" sum="f5c537c37e9fac9baf0147e1e940244b">
<goal name="Transitive.Trans">
<proof prover="3" timelimit="5"><result status="valid" time="0.02"/></proof>
</goal>
</theory>
<theory name="Merge" sum="4da394421f517d7531b7670efde9979c" expanded="true">
<theory name="Merge" sum="ec4620a645a6ec4bd6489df3c251bb0a">
<goal name="WP_parameter merge" expl="VC for merge">
<transf name="split_goal_wp">
<goal name="WP_parameter merge.1" expl="1. postcondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter merge.2" expl="2. postcondition">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge.3" expl="3. postcondition">
<proof prover="1"><result status="valid" time="0.01"/></proof>
<proof prover="6"><result status="valid" time="0.01"/></proof>
<proof prover="0"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter merge.4" expl="4. postcondition">
<proof prover="3"><result status="valid" time="0.02"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge.5" expl="5. postcondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter merge.6" expl="6. postcondition">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge.7" expl="7. variant decrease">
<proof prover="8" timelimit="5"><result status="valid" time="0.01"/></proof>
<proof prover="3" timelimit="5"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter merge.8" expl="8. precondition">
<proof prover="3"><result status="valid" time="0.02"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge.9" expl="9. postcondition">
<proof prover="3" timelimit="5"><result status="valid" time="1.38"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="2.03"/></proof>
</goal>
<goal name="WP_parameter merge.10" expl="10. postcondition">
<proof prover="3"><result status="valid" time="0.05"/></proof>
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="1"><result status="valid" time="0.05"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="WP_parameter merge.11" expl="11. variant decrease">
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="WP_parameter merge.12" expl="12. precondition">
<proof prover="3"><result status="valid" time="0.04"/></proof>
<proof prover="5"><result status="valid" time="0.02"/></proof>
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="1"><result status="valid" time="0.04"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter merge.13" expl="13. postcondition">
<proof prover="3" timelimit="5"><result status="valid" time="1.48"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="2.27"/></proof>
</goal>
<goal name="WP_parameter merge.14" expl="14. postcondition">
<proof prover="3"><result status="valid" time="0.31"/></proof>
<proof prover="1"><result status="valid" time="0.31"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="EfficientMerge" sum="b880335875d65fb958fdcc145ef37b26" expanded="true">
<theory name="EfficientMerge" sum="0114e3fc05a68e58b01610126d62c13f">
<goal name="sorted_reverse_cons">
<proof prover="1"><result status="valid" time="0.28"/></proof>
<proof prover="5" timelimit="6"><result status="valid" time="0.34"/></proof>
<proof prover="0"><result status="valid" time="0.48"/></proof>
<proof prover="2" timelimit="6"><result status="valid" time="0.34"/></proof>
</goal>
<goal name="WP_parameter merge_aux" expl="VC for merge_aux">
<transf name="split_goal_wp">
<goal name="WP_parameter merge_aux.1" expl="1. postcondition">
<proof prover="8"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter merge_aux.2" expl="2. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter merge_aux.2.1" expl="1. postcondition">
<proof prover="0"><result status="valid" time="0.05"/></proof>
<proof prover="1"><result status="valid" time="0.10"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
<proof prover="5" timelimit="6"><result status="valid" time="0.02"/></proof>
<proof prover="8"><result status="valid" time="0.08"/></proof>
<proof prover="0"><result status="valid" time="0.10"/></proof>
<proof prover="1"><result status="valid" time="0.03"/></proof>
<proof prover="2" timelimit="6"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.08"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter merge_aux.3" expl="3. postcondition">
<proof prover="8"><result status="valid" time="0.09"/></proof>
<proof prover="3"><result status="valid" time="0.09"/></proof>
</goal>
<goal name="WP_parameter merge_aux.4" expl="4. postcondition">
<proof prover="3"><result status="valid" time="0.75"/></proof>
<proof prover="1"><result status="valid" time="0.80"/></proof>
</goal>
<goal name="WP_parameter merge_aux.5" expl="5. postcondition">
<proof prover="8"><result status="valid" time="0.06"/></proof>
<proof prover="3"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter merge_aux.6" expl="6. postcondition">
<proof prover="8"><result status="valid" time="0.05"/></proof>
<proof prover="3"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter merge_aux.7" expl="7. variant decrease">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge_aux.8" expl="8. precondition">
<proof prover="3"><result status="valid" time="0.25"/></proof>
<proof prover="1"><result status="valid" time="0.26"/></proof>
<transf name="split_goal_wp">
<goal name="WP_parameter merge_aux.8.1" expl="1.">
<proof prover="4"><result status="valid" time="0.07"/></proof>
<proof prover="5"><result status="valid" time="0.44"/></proof>
<proof prover="8"><result status="valid" time="1.48"/></proof>
<proof prover="2"><result status="valid" time="0.59"/></proof>
<proof prover="3"><result status="valid" time="1.39"/></proof>
</goal>
<goal name="WP_parameter merge_aux.8.2" expl="2.">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge_aux.8.3" expl="3.">
<proof prover="8"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter merge_aux.9" expl="9. precondition">
<proof prover="3"><result status="valid" time="0.06"/></proof>
<proof prover="5"><result status="valid" time="2.41"/></proof>
<proof prover="8"><result status="valid" time="0.09"/></proof>
<proof prover="1"><result status="valid" time="0.06"/></proof>
<proof prover="2"><result status="valid" time="2.60"/></proof>
<proof prover="3"><result status="valid" time="0.09"/></proof>
</goal>
<goal name="WP_parameter merge_aux.10" expl="10. precondition">
<proof prover="3"><result status="valid" time="0.38"/></proof>
<proof prover="5"><result status="valid" time="0.92"/></proof>
<proof prover="1"><result status="valid" time="0.40"/></proof>
<proof prover="2"><result status="valid" time="1.13"/></proof>
</goal>
<goal name="WP_parameter merge_aux.11" expl="11. postcondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter merge_aux.12" expl="12. postcondition">
<proof prover="8"><result status="valid" time="2.14"/></proof>
<proof prover="3"><result status="valid" time="2.46"/></proof>
</goal>
<goal name="WP_parameter merge_aux.13" expl="13. variant decrease">
<proof prover="1"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
<proof prover="8"><result status="valid" time="0.06"/></proof>
<proof prover="0"><result status="valid" time="0.03"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter merge_aux.14" expl="14. precondition">
<proof prover="0"><result status="valid" time="0.55"/></proof>
<proof prover="3"><result status="valid" time="0.14"/></proof>
<proof prover="8"><result status="valid" time="4.06"/></proof>
<proof prover="1"><result status="valid" time="0.14"/></proof>
<proof prover="3"><result status="valid" time="4.06"/></proof>
</goal>
<goal name="WP_parameter merge_aux.15" expl="15. precondition">
<proof prover="3"><result status="valid" time="0.47"/></proof>
<proof prover="1"><result status="valid" time="0.47"/></proof>
</goal>
<goal name="WP_parameter merge_aux.16" expl="16. precondition">
<proof prover="8"><result status="valid" time="0.14"/></proof>
<proof prover="3"><result status="valid" time="0.14"/></proof>
</goal>
<goal name="WP_parameter merge_aux.17" expl="17. postcondition">
<proof prover="3"><result status="valid" time="0.02"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge_aux.18" expl="18. postcondition">
<proof prover="1"><result status="valid" time="0.53"/></proof>
<proof prover="0"><result status="valid" time="0.53"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter merge" expl="VC for merge">
<transf name="split_goal_wp">
<goal name="WP_parameter merge.1" expl="1. precondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter merge.2" expl="2. precondition">
<proof prover="3"><result status="valid" time="0.03"/></proof>
<proof prover="5"><result status="valid" time="0.02"/></proof>
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="1"><result status="valid" time="0.03"/></proof>
<proof prover="2"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge.3" expl="3. precondition">
<proof prover="3"><result status="valid" time="0.04"/></proof>
<proof prover="5"><result status="valid" time="0.03"/></proof>
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="1"><result status="valid" time="0.04"/></proof>
<proof prover="2"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter merge.4" expl="4. postcondition">
<proof prover="8"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="Mergesort" sum="e0e0999cbafa269942aac80ff1eaf32b" expanded="true">
<theory name="Mergesort" sum="0105dba18167ed706164be02a49a48f2">
<goal name="WP_parameter split" expl="VC for split">
<transf name="split_goal_wp">
<goal name="WP_parameter split.1" expl="1. postcondition">
<proof prover="8"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter split.2" expl="2. variant decrease">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter split.3" expl="3. precondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter split.4" expl="4. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter split.4.1" expl="1.">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter split.4.2" expl="2.">
<proof prover="3"><result status="valid" time="0.81"/></proof>
<proof prover="1"><result status="valid" time="0.81"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter split.5" expl="5. precondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter split.6" expl="6. postcondition">
<proof prover="8"><result status="valid" time="0.05"/></proof>
<proof prover="3"><result status="valid" time="0.05"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter mergesort" expl="VC for mergesort">
<transf name="split_goal_wp">
<goal name="WP_parameter mergesort.1" expl="1. postcondition">
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="WP_parameter mergesort.2" expl="2. postcondition">
<proof prover="8"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter mergesort.3" expl="3. precondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter mergesort.4" expl="4. variant decrease">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter mergesort.5" expl="5. variant decrease">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter mergesort.6" expl="6. precondition">
<transf name="split_goal_wp">
<goal name="WP_parameter mergesort.6.1" expl="1.">
<proof prover="8"><result status="valid" time="0.00"/></proof>
<proof prover="3"><result status="valid" time="0.00"/></proof>
</goal>
<goal name="WP_parameter mergesort.6.2" expl="2.">
<proof prover="3"><result status="valid" time="0.02"/></proof>
<proof prover="8" timelimit="5"><result status="valid" time="0.01"/></proof>
<proof prover="1"><result status="valid" time="0.02"/></proof>
<proof prover="3" timelimit="5"><result status="valid" time="0.01"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter mergesort.7" expl="7. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter mergesort.7.1" expl="1.">
<proof prover="3" timelimit="5"><result status="valid" time="0.02"/></proof>
<proof prover="8" timelimit="5"><result status="valid" time="0.01"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.02"/></proof>
<proof prover="3" timelimit="5"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter mergesort.7.2" expl="2.">
<proof prover="3" timelimit="5"><result status="valid" time="0.18"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.18"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
</theory>
<theory name="OCamlMergesort" sum="821d5233cbffe7cb9b87614067b1d446" expanded="true">
<theory name="OCamlMergesort" sum="3f35dbbdc9d39afb0ba6416cea2813a1" expanded="true">
<goal name="sorted_reverse_cons">
<proof prover="1" timelimit="10"><result status="valid" time="0.38"/></proof>
<proof prover="0" timelimit="10"><result status="valid" time="0.38"/></proof>
</goal>
<goal name="sorted_rev_append">
<proof prover="5" timelimit="5"><result status="valid" time="0.10"/></proof>
<proof prover="7"><result status="valid" time="0.09"/></proof>
<proof prover="2" timelimit="5"><result status="valid" time="0.10"/></proof>
</goal>
<goal name="WP_parameter rev_merge" expl="VC for rev_merge">
<transf name="split_goal_wp">
<goal name="WP_parameter rev_merge.1" expl="1. postcondition">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter rev_merge.2" expl="2. postcondition">
<proof prover="8"><result status="valid" time="0.01"/></proof>
<proof prover="3"><result status="valid" time="0.01"/></proof>
</goal>
<goal name="WP_parameter rev_merge.3" expl="3. postcondition">
<proof prover="8"><result status="valid" time="0.03"/></proof>
<proof prover="3"><result status="valid" time="0.03"/></proof>
</goal>
<goal name="WP_parameter rev_merge.4" expl="4. postcondition">
<proof prover="3"><result status="valid" time="0.63"/></proof>
<proof prover="1"><result status="valid" time="0.89"/></proof>
</goal>
<goal name="WP_parameter rev_merge.5" expl="5. postcondition">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter rev_merge.6" expl="6. postcondition">
<proof prover="8"><result status="valid" time="0.05"/></proof>
<proof prover="3"><result status="valid" time="0.16"/></proof>
</goal>
<goal name="WP_parameter rev_merge.7" expl="7. variant decrease">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter rev_merge.8" expl="8. precondition">
<proof prover="8"><result status="valid" time="4.29"/></proof>
<proof prover="3"><result status="valid" time="4.29"/></proof>
</goal>
<goal name="WP_parameter rev_merge.9" expl="9. precondition">
<proof prover="8"><result status="valid" time="0.09"/></proof>
<proof prover="3"><result status="valid" time="0.09"/></proof>
</goal>
<goal name="WP_parameter rev_merge.10" expl="10. precondition">
<proof prover="3" timelimit="5"><result status="valid" time="0.36"/></proof>
<proof prover="1" timelimit="5"><result status="valid" time="0.36"/></proof>
</goal>
<goal name="WP_parameter rev_merge.11" expl="11. postcondition">
<proof prover="8"><result status="valid" time="0.02"/></proof>
<proof prover="3"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter rev_merge.12" expl="12. postcondition">
<proof prover="8"><result status="valid" time="2.08"/></proof>
<proof prover="3"><result status="valid" time="2.55"/></proof>
</goal>
<goal name="WP_parameter rev_merge.13" expl="13. variant decrease">
<proof prover="8"><result status="valid" time="0.05"/></proof>
<proof prover="3"><result status="valid" time="0.05"/></proof>
</goal>
<goal name="WP_parameter rev_merge.14" expl="14. precondition">
<proof prover="8"><result status="valid" time="3.88"/></proof>
<proof prover="3"><result status="valid" time="3.88"/></proof>
</goal>
<goal name="WP_parameter rev_merge.15" expl="15. precondition">
<proof prover="8"><result status="valid" time="1.00"/></proof>
<proof prover="3"><result status="valid" time="1.35"/></proof>
</goal>
<goal name="WP_parameter rev_merge.16" expl="16. precondition">
<proof prover="8"><result status="valid" time="0.04"/></proof>
<proof prover="3"><result status="valid" time="0.17"/></proof>
</goal>
<goal name="WP_parameter rev_merge.17" expl="17. postcondition">
<proof prover="8"><result status="valid" time="0.04"/></proof>
<proof prover="3"><result status="valid" time="0.04"/></proof>