Commit 4902aafd authored by MARCHE Claude's avatar MARCHE Claude

examples to port (wip)

parent a1e032f6
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -21,6 +21,7 @@ module InPlaceRev
use import list.List
use list.Quant
use import list.Append
use import list.Mem
use import list.Length
use export list.Reverse
......@@ -29,9 +30,6 @@ module InPlaceRev
val function eq_loc (l1 l2:loc) : bool
ensures { result <-> l1 = l2 }
let function mem (x:loc) (l:list loc) : bool =
Quant.for_some (eq_loc x) l
val constant null : loc
predicate disjoint (l1:list loc) (l2:list loc) =
......@@ -154,9 +152,11 @@ module InPlaceRev
variant { !pM }
match !pM with
| Nil -> absurd
| Cons _ t ->
l1pM := !l1pM ++ Cons !p Nil;
pM := t
| Cons h t ->
pM := t;
assert { disjoint !l1pM !pM };
assert { not (mem h !pM) };
l1pM := !l1pM ++ Cons h Nil;
end;
p := acc next !p
done;
......@@ -202,8 +202,8 @@ module InPlaceRevSeq
use import int.Int
use map.Map
use import seq.Seq
use import seq.Mem
use import seq.Reverse
use import ref.Ref
type loc
......@@ -212,9 +212,6 @@ module InPlaceRevSeq
val function eq_loc (l1 l2:loc) : bool
ensures { result <-> l1 = l2 }
predicate mem (x: loc) (s: seq loc) =
exists i. 0 <= i < length s /\ eq_loc s[i] x
predicate disjoint (s1: seq 'a) (s2: seq 'a) =
(* forall x:'a. not (mem x s1 /\ mem x s2) *)
forall i1. 0 <= i1 < length s1 ->
......@@ -239,6 +236,8 @@ module InPlaceRevSeq
let (s1, s2) = mem_decomp x s[1 .. ] in (cons s[0] s1, s2)
end
use import ref.Ref
type memory 'a = ref (Map.map loc 'a)
val acc (field: memory 'a) (l:loc) : 'a
......
......@@ -4,405 +4,572 @@
<why3session shape_version="4">
<prover id="0" name="CVC4" version="1.4" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="1" name="Alt-Ergo" version="1.01" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="2" name="Z3" version="4.4.1" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="3" name="Alt-Ergo" version="1.30" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="4.4.0" timelimit="10" steplimit="0" memlimit="4000"/>
<prover id="5" name="Z3" version="4.5.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="6" name="Eprover" version="1.8-001" timelimit="5" steplimit="0" memlimit="2000"/>
<file name="../linked_list_rev.mlw" expanded="true">
<theory name="Disjoint" sum="d9538770c8f60c61e92f6baffbf62d5d">
<goal name="WP_parameter mem_decomp" expl="VC for mem_decomp">
<proof prover="1"><result status="valid" time="0.01" steps="26"/></proof>
<theory name="InPlaceRev" sum="204b55635feb084ac3a1ae57aee009e8" expanded="true">
<goal name="VC null" expl="VC for null">
<proof prover="3"><result status="valid" time="0.00" steps="1"/></proof>
</goal>
</theory>
<theory name="InPlaceRev" sum="79182a5e3856c7f8aff3c51d7a23476f">
<goal name="WP_parameter list_seg_frame_ext" expl="VC for list_seg_frame_ext">
<proof prover="1"><result status="valid" time="0.02" steps="115"/></proof>
<goal name="VC mem_decomp" expl="VC for mem_decomp">
<proof prover="3"><result status="valid" time="0.02" steps="112"/></proof>
</goal>
<goal name="VC list_seg_frame_ext" expl="VC for list_seg_frame_ext">
<proof prover="1"><result status="valid" time="0.02" steps="143"/></proof>
<proof prover="3"><result status="valid" time="0.09" steps="329"/></proof>
</goal>
<goal name="WP_parameter list_seg_functional" expl="VC for list_seg_functional">
<proof prover="1"><result status="valid" time="0.03" steps="152"/></proof>
<goal name="VC list_seg_functional" expl="VC for list_seg_functional">
<proof prover="1"><result status="valid" time="0.03" steps="150"/></proof>
<proof prover="3"><result status="valid" time="0.04" steps="278"/></proof>
</goal>
<goal name="WP_parameter list_seg_sublistl" expl="VC for list_seg_sublistl">
<proof prover="1"><result status="valid" time="0.02" steps="65"/></proof>
<goal name="VC list_seg_sublistl" expl="VC for list_seg_sublistl">
<proof prover="1"><result status="valid" time="0.02" steps="67"/></proof>
<proof prover="3"><result status="valid" time="0.03" steps="194"/></proof>
</goal>
<goal name="WP_parameter list_seg_no_repet" expl="VC for list_seg_no_repet">
<proof prover="1"><result status="valid" time="0.03" steps="123"/></proof>
<goal name="VC list_seg_no_repet" expl="VC for list_seg_no_repet">
<proof prover="1"><result status="valid" time="0.03" steps="167"/></proof>
<proof prover="3"><result status="valid" time="0.05" steps="266"/></proof>
</goal>
<goal name="WP_parameter list_seg_append" expl="VC for list_seg_append">
<proof prover="1"><result status="valid" time="0.04" steps="125"/></proof>
<goal name="VC list_seg_append" expl="VC for list_seg_append">
<proof prover="1"><result status="valid" time="0.04" steps="148"/></proof>
<proof prover="3"><result status="valid" time="0.05" steps="326"/></proof>
</goal>
<goal name="WP_parameter app" expl="VC for app">
<goal name="VC app" expl="VC for app">
<transf name="split_goal_wp">
<goal name="WP_parameter app.1" expl="1. postcondition">
<proof prover="1"><result status="valid" time="0.00" steps="29"/></proof>
<goal name="VC app.1" expl="1. postcondition">
<proof prover="1"><result status="valid" time="0.00" steps="32"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="32"/></proof>
</goal>
<goal name="WP_parameter app.2" expl="2. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="4"/></proof>
<goal name="VC app.2" expl="2. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="6"/></proof>
<proof prover="3"><result status="valid" time="0.00" steps="7"/></proof>
</goal>
<goal name="WP_parameter app.3" expl="3. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="5"/></proof>
<goal name="VC app.3" expl="3. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="7"/></proof>
<proof prover="3"><result status="valid" time="0.00" steps="8"/></proof>
</goal>
<goal name="WP_parameter app.4" expl="4. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="4"/></proof>
<goal name="VC app.4" expl="4. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="7"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="8"/></proof>
</goal>
<goal name="WP_parameter app.5" expl="5. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="5"/></proof>
<goal name="VC app.5" expl="5. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="8"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="9"/></proof>
</goal>
<goal name="WP_parameter app.6" expl="6. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="7"/></proof>
<goal name="VC app.6" expl="6. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="11"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="12"/></proof>
</goal>
<goal name="VC app.7" expl="7. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="11"/></proof>
<proof prover="3"><result status="valid" time="0.00" steps="12"/></proof>
</goal>
<goal name="WP_parameter app.7" expl="7. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="9"/></proof>
<goal name="VC app.8" expl="8. unreachable point">
<proof prover="1"><result status="valid" time="0.01" steps="30"/></proof>
<proof prover="3"><result status="valid" time="0.02" steps="30"/></proof>
</goal>
<goal name="WP_parameter app.8" expl="8. unreachable point">
<proof prover="1"><result status="valid" time="0.01" steps="31"/></proof>
<goal name="VC app.9" expl="9. assertion">
<proof prover="3"><result status="valid" time="0.02" steps="60"/></proof>
</goal>
<goal name="WP_parameter app.9" expl="9. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="13"/></proof>
<goal name="VC app.10" expl="10. assertion">
<proof prover="3"><result status="valid" time="0.01" steps="42"/></proof>
</goal>
<goal name="WP_parameter app.10" expl="10. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.00" steps="14"/></proof>
<goal name="VC app.11" expl="11. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="18"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="19"/></proof>
</goal>
<goal name="WP_parameter app.11" expl="11. loop invariant preservation">
<proof prover="2"><result status="valid" time="0.02"/></proof>
<goal name="VC app.12" expl="12. loop variant decrease">
<proof prover="1"><result status="valid" time="0.00" steps="23"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="45"/></proof>
</goal>
<goal name="WP_parameter app.12" expl="12. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.02" steps="54"/></proof>
<goal name="VC app.13" expl="13. loop invariant preservation">
<proof prover="3"><result status="valid" time="0.01" steps="20"/></proof>
<proof prover="5"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter app.13" expl="13. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.02" steps="61"/></proof>
<goal name="VC app.14" expl="14. loop invariant preservation">
<proof prover="5"><result status="valid" time="0.09"/></proof>
</goal>
<goal name="WP_parameter app.14" expl="14. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.08" steps="307"/></proof>
<goal name="VC app.15" expl="15. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.02" steps="64"/></proof>
<proof prover="3"><result status="valid" time="0.02" steps="54"/></proof>
</goal>
<goal name="WP_parameter app.15" expl="15. loop variant decrease">
<proof prover="1"><result status="valid" time="0.01" steps="18"/></proof>
<goal name="VC app.16" expl="16. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.08" steps="75"/></proof>
<proof prover="3"><result status="valid" time="0.02" steps="75"/></proof>
</goal>
<goal name="WP_parameter app.16" expl="16. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="10"/></proof>
<goal name="VC app.17" expl="17. loop invariant preservation">
<proof prover="3"><result status="valid" time="0.03" steps="117"/></proof>
</goal>
<goal name="WP_parameter app.17" expl="17. assertion">
<proof prover="1"><result status="valid" time="0.01" steps="35"/></proof>
<goal name="VC app.18" expl="18. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="13"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="14"/></proof>
</goal>
<goal name="WP_parameter app.18" expl="18. assertion">
<proof prover="1"><result status="valid" time="0.00" steps="23"/></proof>
<goal name="VC app.19" expl="19. assertion">
<proof prover="1"><result status="valid" time="0.02" steps="44"/></proof>
<proof prover="3"><result status="valid" time="0.03" steps="92"/></proof>
</goal>
<goal name="WP_parameter app.19" expl="19. assertion">
<proof prover="1"><result status="valid" time="0.09" steps="224"/></proof>
<goal name="VC app.20" expl="20. assertion">
<proof prover="1"><result status="valid" time="0.00" steps="22"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="23"/></proof>
</goal>
<goal name="VC app.21" expl="21. assertion">
<proof prover="0" timelimit="1"><result status="valid" time="0.10"/></proof>
<proof prover="3"><result status="valid" time="0.20" steps="647"/></proof>
</goal>
<goal name="WP_parameter app.20" expl="20. postcondition">
<proof prover="1"><result status="valid" time="0.19" steps="366"/></proof>
<goal name="VC app.22" expl="22. postcondition">
<proof prover="1"><result status="valid" time="0.34" steps="411"/></proof>
<proof prover="3"><result status="valid" time="0.22" steps="631"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter in_place_reverse" expl="VC for in_place_reverse">
<goal name="VC 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="1"><result status="valid" time="0.00" steps="1"/></proof>
<goal name="VC in_place_reverse.1" expl="1. loop invariant init">
<proof prover="3"><result status="valid" time="0.00" steps="3"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.2" expl="2. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="2"/></proof>
<goal name="VC in_place_reverse.2" expl="2. loop invariant init">
<proof prover="3"><result status="valid" time="0.01" steps="4"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.3" expl="3. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="4"/></proof>
<goal name="VC in_place_reverse.3" expl="3. loop invariant init">
<proof prover="3"><result status="valid" time="0.01" steps="7"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.4" expl="4. loop invariant init">
<proof prover="1"><result status="valid" time="0.00" steps="2"/></proof>
<goal name="VC in_place_reverse.4" expl="4. loop invariant init">
<proof prover="3"><result status="valid" time="0.00" steps="6"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.5" expl="5. assertion">
<proof prover="1"><result status="valid" time="0.01" steps="44"/></proof>
<goal name="VC in_place_reverse.5" expl="5. precondition">
<proof prover="3"><result status="valid" time="0.01" steps="9"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.6" expl="6. unreachable point">
<proof prover="1"><result status="valid" time="0.01" steps="34"/></proof>
<goal name="VC in_place_reverse.6" expl="6. assertion">
<proof prover="3"><result status="valid" time="0.01" steps="36"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.7" expl="7. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.04" steps="93"/></proof>
<goal name="VC in_place_reverse.7" expl="7. unreachable point">
<proof prover="3"><result status="valid" time="0.02" steps="34"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.8" expl="8. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.03" steps="56"/></proof>
<goal name="VC in_place_reverse.8" expl="8. loop variant decrease">
<proof prover="3"><result status="valid" time="0.01" steps="43"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.9" expl="9. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.14" steps="305"/></proof>
<goal name="VC in_place_reverse.9" expl="9. loop invariant preservation">
<proof prover="3"><result status="valid" time="0.04" steps="150"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.10" expl="10. loop invariant preservation">
<proof prover="1"><result status="valid" time="0.00" steps="14"/></proof>
<goal name="VC in_place_reverse.10" expl="10. loop invariant preservation">
<proof prover="3"><result status="valid" time="0.02" steps="56"/></proof>
</goal>
<goal name="VC in_place_reverse.11" expl="11. loop invariant preservation">
<proof prover="4"><result status="valid" time="0.02"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.11" expl="11. loop variant decrease">
<proof prover="1"><result status="valid" time="0.01" steps="17"/></proof>
<goal name="VC in_place_reverse.12" expl="12. loop invariant preservation">
<proof prover="3"><result status="valid" time="0.01" steps="20"/></proof>
</goal>
<goal name="WP_parameter in_place_reverse.12" expl="12. postcondition">
<proof prover="1"><result status="valid" time="0.04" steps="111"/></proof>
<goal name="VC in_place_reverse.13" expl="13. postcondition">
<proof prover="3"><result status="valid" time="0.02" steps="112"/></proof>
</goal>
</transf>
</goal>
</theory>
<theory name="InPlaceRevSeq" sum="678d4dadc1ebc5c4177a189d61c186e3" expanded="true">
<theory name="InPlaceRevSeq" sum="891e1ff6af30b33c7c04e0c208f00f09" expanded="true">
<goal name="VC null" expl="VC for null">
<proof prover="3"><result status="valid" time="0.00" steps="1"/></proof>
</goal>
<goal name="non_empty_seq">
<proof prover="1"><result status="valid" time="0.01" steps="22"/></proof>
<proof prover="1"><result status="valid" time="0.01" steps="28"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="28"/></proof>
</goal>
<goal name="WP_parameter mem_decomp" expl="VC for mem_decomp">
<goal name="VC mem_decomp" expl="VC for mem_decomp">
<transf name="split_goal_wp">
<goal name="WP_parameter mem_decomp.1" expl="1. postcondition">
<proof prover="1"><result status="valid" time="0.01" steps="27"/></proof>
<goal name="VC mem_decomp.1" expl="1. precondition">
<proof prover="1"><result status="valid" time="0.01" steps="4"/></proof>
<proof prover="3"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
<goal name="WP_parameter mem_decomp.2" expl="2. assertion">
<proof prover="1"><result status="valid" time="0.00" steps="8"/></proof>
<goal name="VC mem_decomp.2" expl="2. assertion">
<proof prover="1"><result status="valid" time="0.00" steps="10"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="11"/></proof>
</goal>
<goal name="WP_parameter mem_decomp.3" expl="3. variant decrease">
<proof prover="1"><result status="valid" time="0.01" steps="9"/></proof>
<goal name="VC mem_decomp.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.01" steps="5"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="6"/></proof>
</goal>
<goal name="WP_parameter mem_decomp.4" expl="4. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="22"/></proof>
<goal name="VC mem_decomp.4" expl="4. variant decrease">
<proof prover="1"><result status="valid" time="0.00" steps="13"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="14"/></proof>
</goal>
<goal name="WP_parameter mem_decomp.5" expl="5. postcondition">
<proof prover="1"><result status="valid" time="0.04" steps="132"/></proof>
<goal name="VC mem_decomp.5" expl="5. precondition">
<proof prover="1"><result status="valid" time="0.04" steps="29"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="26"/></proof>
</goal>
<goal name="VC mem_decomp.6" expl="6. postcondition">
<proof prover="3"><result status="valid" time="0.08" steps="220"/></proof>
</goal>
</transf>
</goal>
<goal name="list_seg_frame_ext">
<proof prover="1"><result status="valid" time="0.00" steps="20"/></proof>
<proof prover="1"><result status="valid" time="0.00" steps="35"/></proof>
<proof prover="3"><result status="valid" time="0.02" steps="39"/></proof>
</goal>
<goal name="WP_parameter list_seg_functional" expl="VC for list_seg_functional">
<goal name="VC list_seg_functional" expl="VC for list_seg_functional">
<transf name="split_goal_wp">
<goal name="WP_parameter list_seg_functional.1" expl="1. assertion">
<goal name="VC list_seg_functional.1" expl="1. assertion">
<proof prover="1"><result status="valid" time="0.00" steps="10"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="16"/></proof>
</goal>
<goal name="VC list_seg_functional.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.01" steps="6"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="7"/></proof>
</goal>
<goal name="WP_parameter list_seg_functional.2" expl="2. variant decrease">
<proof prover="1"><result status="valid" time="0.01" steps="19"/></proof>
<goal name="VC list_seg_functional.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.04" steps="6"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="7"/></proof>
</goal>
<goal name="WP_parameter list_seg_functional.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.04" steps="181"/></proof>
<goal name="VC list_seg_functional.4" expl="4. variant decrease">
<proof prover="1"><result status="valid" time="0.05" steps="19"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="20"/></proof>
</goal>
<goal name="WP_parameter list_seg_functional.4" expl="4. precondition">
<proof prover="1"><result status="valid" time="0.05" steps="185"/></proof>
<goal name="VC list_seg_functional.5" expl="5. precondition">
<proof prover="0"><result status="unknown" time="4.95"/></proof>
<proof prover="3"><result status="valid" time="0.06" steps="232"/></proof>
</goal>
<goal name="WP_parameter list_seg_functional.5" expl="5. postcondition">
<proof prover="0"><result status="valid" time="0.03"/></proof>
<goal name="VC list_seg_functional.6" expl="6. precondition">
<proof prover="1"><result status="valid" time="0.12" steps="433"/></proof>
<proof prover="3"><result status="valid" time="0.10" steps="305"/></proof>
</goal>
<goal name="WP_parameter list_seg_functional.6" expl="6. postcondition">
<proof prover="1"><result status="valid" time="0.01" steps="23"/></proof>
<goal name="VC list_seg_functional.7" expl="7. postcondition">
<proof prover="0" timelimit="1"><result status="valid" time="0.06"/></proof>
<proof prover="1" timelimit="1"><result status="unknown" time="0.03"/></proof>
<proof prover="3"><result status="unknown" time="0.05"/></proof>
<proof prover="4" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter list_seg_tail" expl="VC for list_seg_tail">
<goal name="VC list_seg_tail" expl="VC for list_seg_tail">
<transf name="split_goal_wp">
<goal name="WP_parameter list_seg_tail.1" expl="1. variant decrease">
<proof prover="1"><result status="valid" time="0.01" steps="13"/></proof>
<goal name="VC list_seg_tail.1" expl="1. precondition">
<proof prover="1"><result status="valid" time="0.01" steps="3"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="4"/></proof>
</goal>
<goal name="WP_parameter list_seg_tail.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.04" steps="173"/></proof>
<goal name="VC list_seg_tail.2" expl="2. variant decrease">
<proof prover="1"><result status="valid" time="0.04" steps="13"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="14"/></proof>
</goal>
<goal name="WP_parameter list_seg_tail.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="13"/></proof>
<goal name="VC list_seg_tail.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="218"/></proof>
<proof prover="3"><result status="valid" time="0.04" steps="143"/></proof>
</goal>
<goal name="WP_parameter list_seg_tail.4" expl="4. postcondition">
<proof prover="1"><result status="valid" time="0.01" steps="6"/></proof>
<goal name="VC list_seg_tail.4" expl="4. precondition">
<proof prover="1"><result status="valid" time="0.01" steps="20"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="24"/></proof>
</goal>
<goal name="WP_parameter list_seg_tail.5" expl="5. postcondition">
<proof prover="1"><result status="valid" time="0.01" steps="30"/></proof>
<goal name="VC list_seg_tail.5" expl="5. postcondition">
<proof prover="1"><result status="valid" time="0.13" steps="415"/></proof>
<proof prover="3"><result status="valid" time="0.13" steps="398"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter list_seg_append" expl="VC for list_seg_append">
<goal name="VC list_seg_append" expl="VC for list_seg_append">
<transf name="split_goal_wp">
<goal name="WP_parameter list_seg_append.1" expl="1. variant decrease">
<proof prover="1"><result status="valid" time="0.00" steps="16"/></proof>
<goal name="VC list_seg_append.1" expl="1. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="3"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="4"/></proof>
</goal>
<goal name="WP_parameter list_seg_append.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="5"/></proof>
<goal name="VC list_seg_append.2" expl="2. variant decrease">
<proof prover="1"><result status="valid" time="0.00" steps="17"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="18"/></proof>
</goal>
<goal name="WP_parameter list_seg_append.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="3"/></proof>
<goal name="VC list_seg_append.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="4"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="19"/></proof>
</goal>
<goal name="WP_parameter list_seg_append.4" expl="4. postcondition">
<goal name="VC list_seg_append.4" expl="4. precondition">
<transf name="inline_goal">
<goal name="WP_parameter list_seg_append.4.1" expl="1. postcondition">
<goal name="VC list_seg_append.4.1" expl="1. precondition">
<transf name="split_goal_wp">
<goal name="WP_parameter list_seg_append.4.1.1" expl="1. postcondition">
<proof prover="1"><result status="valid" time="0.05" steps="304"/></proof>
<goal name="VC list_seg_append.4.1.1" expl="1. precondition">
<proof prover="1"><result status="valid" time="0.05" steps="4"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="5"/></proof>
</goal>
<goal name="WP_parameter list_seg_append.4.1.2" expl="2. postcondition">
<proof prover="1"><result status="valid" time="0.80" steps="1764"/></proof>
<goal name="VC list_seg_append.4.1.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="7"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="8"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter list_seg_append.5" expl="5. postcondition">
<proof prover="1"><result status="valid" time="0.12" steps="355"/></proof>
<goal name="VC list_seg_append.5" expl="5. postcondition">
<proof prover="1"><result status="valid" time="0.54" steps="1206"/></proof>
<proof prover="3"><result status="valid" time="0.29" steps="783"/></proof>
</goal>
</transf>
</goal>
<goal name="seq_tail_append">
<proof prover="1"><result status="valid" time="0.02" steps="51"/></proof>
<proof prover="1"><result status="valid" time="0.02" steps="82"/></proof>
<proof prover="3"><result status="valid" time="0.03" steps="75"/></proof>
</goal>
<goal name="WP_parameter list_seg_prefix" expl="VC for list_seg_prefix">
<goal name="VC list_seg_prefix" expl="VC for list_seg_prefix">
<transf name="split_goal_wp">
<goal name="WP_parameter list_seg_prefix.1" expl="1. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="2"/></proof>
<goal name="VC list_seg_prefix.1" expl="1. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="5"/></proof>
<proof prover="3"><result status="valid" time="0.00" steps="6"/></proof>
</goal>
<goal name="WP_parameter list_seg_prefix.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="7"/></proof>
<goal name="VC list_seg_prefix.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="8"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="9"/></proof>
</goal>
<goal name="WP_parameter list_seg_prefix.3" expl="3. variant decrease">
<proof prover="1"><result status="valid" time="0.01" steps="21"/></proof>
<goal name="VC list_seg_prefix.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.01" steps="6"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="7"/></proof>
</goal>
<goal name="WP_parameter list_seg_prefix.4" expl="4. precondition">
<proof prover="1"><result status="valid" time="0.02" steps="67"/></proof>
<goal name="VC list_seg_prefix.4" expl="4. variant decrease">
<proof prover="1"><result status="valid" time="0.02" steps="29"/></proof>
<proof prover="3"><result status="valid" time="0.02" steps="40"/></proof>
</goal>
<goal name="WP_parameter list_seg_prefix.5" expl="5. postcondition">
<goal name="VC list_seg_prefix.5" expl="5. precondition">
<transf name="inline_goal">
<goal name="WP_parameter list_seg_prefix.5.1" expl="1. postcondition">
<goal name="VC list_seg_prefix.5.1" expl="1. precondition">
<transf name="split_goal_wp">
<goal name="WP_parameter list_seg_prefix.5.1.1" expl="1. postcondition">
<proof prover="0"><result status="valid" time="0.44"/></proof>
<goal name="VC list_seg_prefix.5.1.1" expl="1. precondition">
<proof prover="0"><result status="valid" time="0.10"/></proof>
<proof prover="3"><result status="valid" time="0.12" steps="245"/></proof>
</goal>
<goal name="WP_parameter list_seg_prefix.5.1.2" expl="2. postcondition">
<proof prover="2"><result status="valid" time="0.46"/></proof>
<goal name="VC list_seg_prefix.5.1.2" expl="2. precondition">
<proof prover="3"><result status="valid" time="0.27" steps="682"/></proof>
<proof prover="5"><result status="timeout" time="5.00"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter list_seg_prefix.6" expl="6. postcondition">
<proof prover="1"><result status="valid" time="0.84" steps="908"/></proof>
<goal name="VC list_seg_prefix.6" expl="6. postcondition">
<proof prover="1"><result status="valid" time="3.26" steps="4155"/></proof>
<proof prover="3"><result status="valid" time="0.30" steps="705"/></proof>
</goal>
</transf>
</goal>
<goal name="WP_parameter list_seg_sublistl" expl="VC for list_seg_sublistl">
<goal name="VC list_seg_sublistl" expl="VC for list_seg_sublistl">
<transf name="split_goal_wp">
<goal name="WP_parameter list_seg_sublistl.1" expl="1. assertion">
<proof prover="1"><result status="valid" time="0.01" steps="13"/></proof>
<goal name="VC list_seg_sublistl.1" expl="1. assertion">
<proof prover="1"><result status="valid" time="0.01" steps="14"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="15"/></proof>
</goal>
<goal name="WP_parameter list_seg_sublistl.2" expl="2. precondition">
<goal name="VC list_seg_sublistl.2" expl="2. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="3"/></proof>
<proof prover="3"><result status="valid" time="0.01" steps="4"/></proof>
</goal>
<goal name="WP_parameter list_seg_sublistl.3" expl="3. precondition">
<goal name="VC list_seg_sublistl.3" expl="3. precondition">
<proof prover="1"><result status="valid" time="0.00" steps="3"/></proof>
</goal>
<goal name="WP_parameter list_seg_sublistl.4" expl="4. variant decrease">
<proof prover="1"><result status="valid" time="0.02" steps="57"/></proof>
</goal>
<goal name="WP_parameter list_seg_sublistl.5" expl="5. precondition">
<proof prover="1"><result status="valid" time="0.02" steps="51"/></proof>
</goal>
<goal name="WP_parameter list_seg_sublistl.6" expl="6. postcondition">
<proof prover="1"><result status="valid" time="0.01" steps="6"/></proof>
</goal>
<goal name="WP_parameter list_seg_sublistl.7" expl="7. postcondition">
<proof prover="1"><result status="valid" time="0.21" steps="567"/></proof>