Commit a465e9b2 authored by MARCHE Claude's avatar MARCHE Claude
Browse files

restored why3session html

parent 420977e1
...@@ -822,9 +822,10 @@ install_local:: bin/why3webserver ...@@ -822,9 +822,10 @@ install_local:: bin/why3webserver
############### ###############
SESSION_FILES = why3session_lib why3session_info \ SESSION_FILES = why3session_lib why3session_info \
why3session_html \
why3session_main why3session_main
# TODO: why3session_copy why3session_rm why3session_csv why3session_run # TODO: why3session_copy why3session_rm why3session_csv why3session_run
# why3session_latex why3session_html why3session_output # why3session_latex why3session_output
SESSIONMODULES = $(addprefix src/why3session/, $(SESSION_FILES)) SESSIONMODULES = $(addprefix src/why3session/, $(SESSION_FILES))
......
...@@ -3,69 +3,69 @@ ...@@ -3,69 +3,69 @@
"http://why3.lri.fr/why3session.dtd"> "http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4"> <why3session shape_version="4">
<prover id="0" name="CVC4" version="1.4" timelimit="1" steplimit="0" memlimit="1000"/> <prover id="0" name="CVC4" version="1.4" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="1" name="CVC4" version="1.5-prerelease" timelimit="5" steplimit="0" memlimit="0"/> <prover id="1" name="CVC4" version="1.5-prerelease" timelimit="2" steplimit="0" memlimit="0"/>
<prover id="2" name="Alt-Ergo" version="1.30" timelimit="2" steplimit="0" memlimit="1000"/> <prover id="2" name="Alt-Ergo" version="1.30" timelimit="2" steplimit="0" memlimit="1000"/>
<prover id="3" name="Z3" version="4.5.0" timelimit="10" steplimit="0" memlimit="4000"/> <prover id="3" name="Z3" version="3.2" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="4" name="Z3" version="3.2" timelimit="5" steplimit="0" memlimit="1000"/> <prover id="4" name="Z3" version="4.5.0" timelimit="10" steplimit="0" memlimit="4000"/>
<prover id="5" name="Z3" version="4.4.1" timelimit="10" steplimit="0" memlimit="4000"/> <prover id="5" name="Z3" version="4.4.1" timelimit="1" steplimit="0" memlimit="1000"/>
<file name="../dijkstra.mlw"> <file name="../dijkstra.mlw" proved="true">
<theory name="DijkstraShortestPath" sum="6f8a056406b11e82a41224586d40a6e4"> <theory name="DijkstraShortestPath" proved="true" sum="97357c5fd333273c2b5e098cc1dbad40">
<goal name="WP_parameter relax"> <goal name="WP_parameter relax" expl="VC for relax" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="11"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="11"/></proof>
</goal> </goal>
<goal name="Length_nonneg"> <goal name="Length_nonneg" proved="true">
<transf name="induction_pr" > <transf name="induction_pr" proved="true">
<goal name="Length_nonneg.0"> <goal name="Length_nonneg.0" proved="true">
<proof prover="2"><result status="valid" time="0.00" steps="4"/></proof> <proof prover="2"><result status="valid" time="0.00" steps="4"/></proof>
</goal> </goal>
<goal name="Length_nonneg.1"> <goal name="Length_nonneg.1" proved="true">
<proof prover="0"><result status="valid" time="0.02"/></proof> <proof prover="0"><result status="valid" time="0.02"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="Path_inversion"> <goal name="Path_inversion" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="9"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="9"/></proof>
</goal> </goal>
<goal name="Path_shortest_path"> <goal name="Path_shortest_path" proved="true">
<transf name="introduce_premises" > <transf name="introduce_premises" proved="true">
<goal name="Path_shortest_path.0"> <goal name="Path_shortest_path.0" proved="true">
<transf name="induction" arg1="d" arg2="0"> <transf name="induction" proved="true"arg1="d" arg2="0">
<goal name="Path_shortest_path.0.0"> <goal name="Path_shortest_path.0.0" proved="true">
<proof prover="5" timelimit="1" memlimit="1000"><result status="valid" time="0.04"/></proof> <proof prover="5"><result status="valid" time="0.04"/></proof>
</goal> </goal>
<goal name="Path_shortest_path.0.1"> <goal name="Path_shortest_path.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="6"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="6"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="Main_lemma"> <goal name="Main_lemma" proved="true">
<proof prover="2"><result status="valid" time="0.04" steps="173"/></proof> <proof prover="2"><result status="valid" time="0.04" steps="173"/></proof>
</goal> </goal>
<goal name="Completeness_lemma"> <goal name="Completeness_lemma" proved="true">
<transf name="induction_pr" > <transf name="induction_pr" proved="true">
<goal name="Completeness_lemma.0"> <goal name="Completeness_lemma.0" proved="true">
<proof prover="2"><result status="valid" time="0.00" steps="5"/></proof> <proof prover="2"><result status="valid" time="0.00" steps="5"/></proof>
</goal> </goal>
<goal name="Completeness_lemma.1"> <goal name="Completeness_lemma.1" proved="true">
<proof prover="0"><result status="valid" time="0.04"/></proof> <proof prover="0"><result status="valid" time="0.04"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="inside_or_exit"> <goal name="inside_or_exit" proved="true">
<transf name="induction_pr" > <transf name="induction_pr" proved="true">
<goal name="inside_or_exit.0"> <goal name="inside_or_exit.0" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="5"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="5"/></proof>
</goal> </goal>
<goal name="inside_or_exit.1"> <goal name="inside_or_exit.1" proved="true">
<transf name="introduce_premises" > <transf name="introduce_premises" proved="true">
<goal name="inside_or_exit.1.0"> <goal name="inside_or_exit.1.0" proved="true">
<transf name="case" arg1="(mem z s)"> <transf name="case" proved="true"arg1="(mem z s)">
<goal name="inside_or_exit.1.0.0"> <goal name="inside_or_exit.1.0.0" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="8"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="8"/></proof>
</goal> </goal>
<goal name="inside_or_exit.1.0.1"> <goal name="inside_or_exit.1.0.1" proved="true">
<proof prover="0"><result status="valid" time="0.06"/></proof> <proof prover="0"><result status="valid" time="0.06"/></proof>
</goal> </goal>
</transf> </transf>
...@@ -74,141 +74,129 @@ ...@@ -74,141 +74,129 @@
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code"> <goal name="WP_parameter shortest_path_code" expl="VC for shortest_path_code" proved="true">
<transf name="split_goal_wp" > <transf name="split_goal_wp" proved="true">
<goal name="WP_parameter shortest_path_code.0"> <goal name="WP_parameter shortest_path_code.0" expl="loop invariant init" proved="true">
<proof prover="2"><result status="valid" time="0.04" steps="164"/></proof> <proof prover="2"><result status="valid" time="0.04" steps="164"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.1"> <goal name="WP_parameter shortest_path_code.1" expl="loop invariant init" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="11"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="11"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.2"> <goal name="WP_parameter shortest_path_code.2" expl="loop invariant init" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="35"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="35"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.3"> <goal name="WP_parameter shortest_path_code.3" expl="precondition" proved="true">
<proof prover="3" timelimit="1" memlimit="1000"><result status="valid" time="0.03"/></proof> <proof prover="4" timelimit="1" memlimit="1000"><result status="valid" time="0.03"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.4"> <goal name="WP_parameter shortest_path_code.4" expl="assertion" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="86"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="86"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.5"> <goal name="WP_parameter shortest_path_code.5" expl="loop invariant init" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="15"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="15"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.6"> <goal name="WP_parameter shortest_path_code.6" expl="loop invariant init" proved="true">
<transf name="inline_goal" > <transf name="inline_goal" proved="true">
<goal name="WP_parameter shortest_path_code.6.0"> <goal name="WP_parameter shortest_path_code.6.0" expl="loop invariant init" proved="true">
<transf name="split_goal_wp" > <transf name="split_goal_wp" proved="true">
<goal name="WP_parameter shortest_path_code.6.0.0"> <goal name="WP_parameter shortest_path_code.6.0.0" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="26"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="26"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.6.0.1"> <goal name="WP_parameter shortest_path_code.6.0.1" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="16"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="16"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.6.0.2"> <goal name="WP_parameter shortest_path_code.6.0.2" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.00" steps="26"/></proof> <proof prover="2"><result status="valid" time="0.00" steps="26"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.6.0.3"> <goal name="WP_parameter shortest_path_code.6.0.3" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="24"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="24"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.6.0.4"> <goal name="WP_parameter shortest_path_code.6.0.4" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="65"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="65"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.6.0.5"> <goal name="WP_parameter shortest_path_code.6.0.5" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.05" steps="263"/></proof> <proof prover="2"><result status="valid" time="0.05" steps="263"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.6.0.6"> <goal name="WP_parameter shortest_path_code.6.0.6" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="33"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="33"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.7"> <goal name="WP_parameter shortest_path_code.7" expl="loop invariant init" proved="true">
<transf name="split_goal_wp" > <transf name="split_goal_wp" proved="true">
<goal name="WP_parameter shortest_path_code.7.0"> <goal name="WP_parameter shortest_path_code.7.0" expl="loop invariant init" proved="true">
<proof prover="2"><result status="valid" time="0.03" steps="110"/></proof> <proof prover="2"><result status="valid" time="0.03" steps="110"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.8"> <goal name="WP_parameter shortest_path_code.8" expl="precondition" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="19"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="19"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.9"> <goal name="WP_parameter shortest_path_code.9" expl="assertion" proved="true">
<proof prover="4"><result status="valid" time="0.18"/></proof> <proof prover="3"><result status="valid" time="0.18"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.10"> <goal name="WP_parameter shortest_path_code.10" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="40"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="40"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11"> <goal name="WP_parameter shortest_path_code.11" expl="loop invariant preservation" proved="true">
<transf name="inline_goal" > <transf name="inline_goal" proved="true">
<goal name="WP_parameter shortest_path_code.11.0"> <goal name="WP_parameter shortest_path_code.11.0" expl="loop invariant preservation" proved="true">
<transf name="split_goal_wp" > <transf name="split_goal_wp" proved="true">
<goal name="WP_parameter shortest_path_code.11.0.0"> <goal name="WP_parameter shortest_path_code.11.0.0" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="64"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="64"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.1"> <goal name="WP_parameter shortest_path_code.11.0.1" expl="VC for shortest_path_code" proved="true">
<proof prover="0" timelimit="10" memlimit="4000"><result status="valid" time="2.39"/></proof> <proof prover="0" timelimit="10" memlimit="4000"><result status="valid" time="2.39"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.2"> <goal name="WP_parameter shortest_path_code.11.0.2" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="25"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="25"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.3"> <goal name="WP_parameter shortest_path_code.11.0.3" expl="VC for shortest_path_code" proved="true">
<proof prover="0"><result status="unknown" time="1.28"/></proof> <proof prover="4"><result status="valid" time="7.45"/></proof>
<proof prover="2" timelimit="1"><result status="timeout" time="0.99"/></proof>
<proof prover="3"><result status="valid" time="7.45"/></proof>
<proof prover="5"><result status="timeout" time="10.00"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.4"> <goal name="WP_parameter shortest_path_code.11.0.4" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.05" steps="191"/></proof> <proof prover="2"><result status="valid" time="0.05" steps="191"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.5"> <goal name="WP_parameter shortest_path_code.11.0.5" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.17" steps="495"/></proof> <proof prover="2"><result status="valid" time="0.17" steps="495"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.6"> <goal name="WP_parameter shortest_path_code.11.0.6" expl="VC for shortest_path_code" proved="true">
<transf name="introduce_premises" > <transf name="introduce_premises" proved="true">
<goal name="WP_parameter shortest_path_code.11.0.6.0"> <goal name="WP_parameter shortest_path_code.11.0.6.0" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" arg1="H22"> <transf name="destruct" proved="true"arg1="H22">
<goal name="WP_parameter shortest_path_code.11.0.6.0.0"> <goal name="WP_parameter shortest_path_code.11.0.6.0.0" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.03" steps="57"/></proof> <proof prover="2"><result status="valid" time="0.03" steps="57"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" arg1="H"> <transf name="destruct" proved="true"arg1="H">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.0"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.0" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="58"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="58"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" arg1="H"> <transf name="destruct" proved="true"arg1="H">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" arg1="H23"> <transf name="destruct" proved="true"arg1="H23">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.0"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.0" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="30"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="30"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" arg1="H12"> <transf name="destruct" proved="true"arg1="H12">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0" expl="VC for shortest_path_code" proved="true">
<transf name="case" arg1="(v = v1)"> <transf name="case" proved="true"arg1="(v = v1)">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0.0"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0.0" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="1.03" steps="1298"/></proof> <proof prover="2"><result status="valid" time="1.03" steps="1298"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0.1"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0.1" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="59"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="59"/></proof>
</goal> </goal>
</transf> </transf>
<transf name="destruct" arg1="H3">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0.0">
<transf name="destruct" arg1="H">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0.0.0">
<proof prover="2"><result status="timeout" time="2.00"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal> </goal>
</transf> </transf>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.1"> <goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.1" expl="VC for shortest_path_code" proved="true">
<proof prover="2"><result status="valid" time="0.85" steps="1260"/></proof> <proof prover="2"><result status="valid" time="0.85" steps="1260"/></proof>
</goal> </goal>
</transf> </transf>
...@@ -223,19 +211,19 @@ ...@@ -223,19 +211,19 @@
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.12"> <goal name="WP_parameter shortest_path_code.12" expl="loop invariant preservation" proved="true">
<transf name="split_goal_wp" > <transf name="split_goal_wp" proved="true">
<goal name="WP_parameter shortest_path_code.12.0"> <goal name="WP_parameter shortest_path_code.12.0" expl="loop invariant preservation" proved="true">
<transf name="inline_goal" > <transf name="inline_goal" proved="true">
<goal name="WP_parameter shortest_path_code.12.0.0"> <goal name="WP_parameter shortest_path_code.12.0.0" expl="loop invariant preservation" proved="true">
<transf name="split_goal_wp" > <transf name="split_goal_wp" proved="true">
<goal name="WP_parameter shortest_path_code.12.0.0.0"> <goal name="WP_parameter shortest_path_code.12.0.0.0" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.10"/></proof> <proof prover="0"><result status="valid" time="0.10"/></proof>
<proof prover="1"><undone/></proof> <proof prover="1" memlimit="1000"><undone/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.12.0.0.1"> <goal name="WP_parameter shortest_path_code.12.0.0.1" expl="loop invariant preservation" proved="true">
<proof prover="0"><result status="valid" time="0.46"/></proof> <proof prover="0"><result status="valid" time="0.46"/></proof>
<proof prover="1"><undone/></proof> <proof prover="1" timelimit="5"><undone/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
...@@ -243,50 +231,50 @@ ...@@ -243,50 +231,50 @@
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.13"> <goal name="WP_parameter shortest_path_code.13" expl="loop variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.02" steps="59"/></proof> <proof prover="2"><result status="valid" time="0.02" steps="59"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.14"> <goal name="WP_parameter shortest_path_code.14" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="19"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="19"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.15"> <goal name="WP_parameter shortest_path_code.15" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.10" steps="291"/></proof> <proof prover="2"><result status="valid" time="0.10" steps="291"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.16"> <goal name="WP_parameter shortest_path_code.16" expl="loop invariant preservation" proved="true">
<transf name="introduce_premises" > <transf name="introduce_premises" proved="true">
<goal name="WP_parameter shortest_path_code.16.0"> <goal name="WP_parameter shortest_path_code.16.0" expl="loop invariant preservation" proved="true">
<transf name="cut" arg1="(is_empty su)"> <transf name="cut" proved="true"arg1="(is_empty su)">
<goal name="WP_parameter shortest_path_code.16.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0" expl="loop invariant preservation" proved="true">
<transf name="cut" arg1="(inv_succ src visited q d)"> <transf name="cut" proved="true"arg1="(inv_succ src visited q d)">
<goal name="WP_parameter shortest_path_code.16.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="cut" arg1="(mem src visited)"> <transf name="cut" proved="true"arg1="(mem src visited)">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="instantiate" arg1="inside_or_exit" arg2="visited"> <transf name="instantiate" proved="true"arg1="inside_or_exit" arg2="visited">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="instantiate" arg1="inside_or_exit" arg2="src"> <transf name="instantiate" proved="true"arg1="inside_or_exit" arg2="src">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="instantiate" arg1="inside_or_exit" arg2="x"> <transf name="instantiate" proved="true"arg1="inside_or_exit" arg2="x">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="instantiate" arg1="inside_or_exit" arg2="dx"> <transf name="instantiate" proved="true"arg1="inside_or_exit" arg2="dx">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="cut" arg1="(mem x visited \/ (exists y:vertex. exists z: vertex. exists dy:int. mem y visited /\ not mem z visited /\ mem z (g_succ y) /\ path src y dy /\ ((dy + weight y z) &lt;= dx)))"> <transf name="cut" proved="true"arg1="(mem x visited \/ (exists y:vertex. exists z: vertex. exists dy:int. mem y visited /\ not mem z visited /\ mem z (g_succ y) /\ path src y dy /\ ((dy + weight y z) &lt;= dx)))">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="destruct" arg1="h"> <transf name="destruct" proved="true"arg1="h">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.0" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="25"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="25"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1" expl="loop invariant preservation" proved="true">
<transf name="destruct" arg1="h"> <transf name="destruct" proved="true"arg1="h">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0" expl="loop invariant preservation" proved="true">
<transf name="destruct" arg1="h"> <transf name="destruct" proved="true"arg1="h">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0" expl="loop invariant preservation" proved="true">
<transf name="destruct" arg1="h"> <transf name="destruct" proved="true"arg1="h">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="cut" arg1="(mem z q)"> <transf name="cut" proved="true"arg1="(mem z q)">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0.0.0"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0.0.0" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.48" steps="405"/></proof> <proof prover="2"><result status="valid" time="0.48" steps="405"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0.0.1"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.20" steps="355"/></proof> <proof prover="2"><result status="valid" time="0.20" steps="355"/></proof>
</goal> </goal>
</transf> </transf>
...@@ -299,7 +287,7 @@ ...@@ -299,7 +287,7 @@
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.1"> <goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="68"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="68"/></proof>
</goal> </goal>
</transf> </transf>
...@@ -312,30 +300,30 @@ ...@@ -312,30 +300,30 @@
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.16.0.0.0.1"> <goal name="WP_parameter shortest_path_code.16.0.0.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="54"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="54"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.16.0.0.1"> <goal name="WP_parameter shortest_path_code.16.0.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.09" steps="268"/></proof> <proof prover="2"><result status="valid" time="0.09" steps="268"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.16.0.1"> <goal name="WP_parameter shortest_path_code.16.0.1" proved="true">
<proof prover="2"><result status="valid" time="0.00" steps="22"/></proof> <proof prover="2"><result status="valid" time="0.00" steps="22"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.17"> <goal name="WP_parameter shortest_path_code.17" expl="loop variant decrease" proved="true">
<proof prover="2"><result status="valid" time="0.04" steps="122"/></proof> <proof prover="2"><result status="valid" time="0.04" steps="122"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.18"> <goal name="WP_parameter shortest_path_code.18" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="22"/></proof> <proof prover="2"><result status="valid" time="0.01" steps="22"/></proof>
</goal> </goal>
<goal name="WP_parameter shortest_path_code.19"> <goal name="WP_parameter shortest_path_code.19" expl="postcondition" proved="true">
<proof prover="2"><result status="valid" time="0.18" steps="353"/></proof>