Attention une mise à jour du serveur va être effectuée le lundi 17 mai entre 13h et 13h30. Cette mise à jour va générer une interruption du service de quelques minutes.

Commit a465e9b2 authored by MARCHE Claude's avatar MARCHE Claude

restored why3session html

parent 420977e1
......@@ -822,9 +822,10 @@ install_local:: bin/why3webserver
###############
SESSION_FILES = why3session_lib why3session_info \
why3session_html \
why3session_main
# 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))
......
......@@ -3,69 +3,69 @@
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<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="3" name="Z3" version="4.5.0" timelimit="10" steplimit="0" memlimit="4000"/>
<prover id="4" name="Z3" version="3.2" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="5" name="Z3" version="4.4.1" timelimit="10" steplimit="0" memlimit="4000"/>
<file name="../dijkstra.mlw">
<theory name="DijkstraShortestPath" sum="6f8a056406b11e82a41224586d40a6e4">
<goal name="WP_parameter relax">
<prover id="3" 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="1" steplimit="0" memlimit="1000"/>
<file name="../dijkstra.mlw" proved="true">
<theory name="DijkstraShortestPath" proved="true" sum="97357c5fd333273c2b5e098cc1dbad40">
<goal name="WP_parameter relax" expl="VC for relax" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="11"/></proof>
</goal>
<goal name="Length_nonneg">
<transf name="induction_pr" >
<goal name="Length_nonneg.0">
<goal name="Length_nonneg" proved="true">
<transf name="induction_pr" proved="true">
<goal name="Length_nonneg.0" proved="true">
<proof prover="2"><result status="valid" time="0.00" steps="4"/></proof>
</goal>
<goal name="Length_nonneg.1">
<goal name="Length_nonneg.1" proved="true">
<proof prover="0"><result status="valid" time="0.02"/></proof>
</goal>
</transf>
</goal>
<goal name="Path_inversion">
<goal name="Path_inversion" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="9"/></proof>
</goal>
<goal name="Path_shortest_path">
<transf name="introduce_premises" >
<goal name="Path_shortest_path.0">
<transf name="induction" arg1="d" arg2="0">
<goal name="Path_shortest_path.0.0">
<proof prover="5" timelimit="1" memlimit="1000"><result status="valid" time="0.04"/></proof>
<goal name="Path_shortest_path" proved="true">
<transf name="introduce_premises" proved="true">
<goal name="Path_shortest_path.0" proved="true">
<transf name="induction" proved="true"arg1="d" arg2="0">
<goal name="Path_shortest_path.0.0" proved="true">
<proof prover="5"><result status="valid" time="0.04"/></proof>
</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>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="Main_lemma">
<goal name="Main_lemma" proved="true">
<proof prover="2"><result status="valid" time="0.04" steps="173"/></proof>
</goal>
<goal name="Completeness_lemma">
<transf name="induction_pr" >
<goal name="Completeness_lemma.0">
<goal name="Completeness_lemma" proved="true">
<transf name="induction_pr" proved="true">
<goal name="Completeness_lemma.0" proved="true">
<proof prover="2"><result status="valid" time="0.00" steps="5"/></proof>
</goal>
<goal name="Completeness_lemma.1">
<goal name="Completeness_lemma.1" proved="true">
<proof prover="0"><result status="valid" time="0.04"/></proof>
</goal>
</transf>
</goal>
<goal name="inside_or_exit">
<transf name="induction_pr" >
<goal name="inside_or_exit.0">
<goal name="inside_or_exit" proved="true">
<transf name="induction_pr" proved="true">
<goal name="inside_or_exit.0" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="5"/></proof>
</goal>
<goal name="inside_or_exit.1">
<transf name="introduce_premises" >
<goal name="inside_or_exit.1.0">
<transf name="case" arg1="(mem z s)">
<goal name="inside_or_exit.1.0.0">
<goal name="inside_or_exit.1" proved="true">
<transf name="introduce_premises" proved="true">
<goal name="inside_or_exit.1.0" proved="true">
<transf name="case" proved="true"arg1="(mem z s)">
<goal name="inside_or_exit.1.0.0" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="8"/></proof>
</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>
</goal>
</transf>
......@@ -74,141 +74,129 @@
</goal>
</transf>
</goal>
<goal name="WP_parameter shortest_path_code">
<transf name="split_goal_wp" >
<goal name="WP_parameter shortest_path_code.0">
<goal name="WP_parameter shortest_path_code" expl="VC for shortest_path_code" proved="true">
<transf name="split_goal_wp" proved="true">
<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>
</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>
</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>
</goal>
<goal name="WP_parameter shortest_path_code.3">
<proof prover="3" timelimit="1" memlimit="1000"><result status="valid" time="0.03"/></proof>
<goal name="WP_parameter shortest_path_code.3" expl="precondition" proved="true">
<proof prover="4" timelimit="1" memlimit="1000"><result status="valid" time="0.03"/></proof>
</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>
</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>
</goal>
<goal name="WP_parameter shortest_path_code.6">
<transf name="inline_goal" >
<goal name="WP_parameter shortest_path_code.6.0">
<transf name="split_goal_wp" >
<goal name="WP_parameter shortest_path_code.6.0.0">
<goal name="WP_parameter shortest_path_code.6" expl="loop invariant init" proved="true">
<transf name="inline_goal" proved="true">
<goal name="WP_parameter shortest_path_code.6.0" expl="loop invariant init" proved="true">
<transf name="split_goal_wp" proved="true">
<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>
</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>
</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>
</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>
</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>
</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>
</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>
</goal>
</transf>
</goal>
</transf>
</goal>
<goal name="WP_parameter shortest_path_code.7">
<transf name="split_goal_wp" >
<goal name="WP_parameter shortest_path_code.7.0">
<goal name="WP_parameter shortest_path_code.7" expl="loop invariant init" proved="true">
<transf name="split_goal_wp" proved="true">
<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>
</goal>
</transf>
</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>
</goal>
<goal name="WP_parameter shortest_path_code.9">
<proof prover="4"><result status="valid" time="0.18"/></proof>
<goal name="WP_parameter shortest_path_code.9" expl="assertion" proved="true">
<proof prover="3"><result status="valid" time="0.18"/></proof>
</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>
</goal>
<goal name="WP_parameter shortest_path_code.11">
<transf name="inline_goal" >
<goal name="WP_parameter shortest_path_code.11.0">
<transf name="split_goal_wp" >
<goal name="WP_parameter shortest_path_code.11.0.0">
<goal name="WP_parameter shortest_path_code.11" expl="loop invariant preservation" proved="true">
<transf name="inline_goal" proved="true">
<goal name="WP_parameter shortest_path_code.11.0" expl="loop invariant preservation" proved="true">
<transf name="split_goal_wp" proved="true">
<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>
</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>
</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>
</goal>
<goal name="WP_parameter shortest_path_code.11.0.3">
<proof prover="0"><result status="unknown" time="1.28"/></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 name="WP_parameter shortest_path_code.11.0.3" expl="VC for shortest_path_code" proved="true">
<proof prover="4"><result status="valid" time="7.45"/></proof>
</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>
</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>
</goal>
<goal name="WP_parameter shortest_path_code.11.0.6">
<transf name="introduce_premises" >
<goal name="WP_parameter shortest_path_code.11.0.6.0">
<transf name="destruct" arg1="H22">
<goal name="WP_parameter shortest_path_code.11.0.6.0.0">
<goal name="WP_parameter shortest_path_code.11.0.6" expl="VC for shortest_path_code" proved="true">
<transf name="introduce_premises" proved="true">
<goal name="WP_parameter shortest_path_code.11.0.6.0" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" proved="true"arg1="H22">
<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>
</goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1">
<transf name="destruct" 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" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" proved="true"arg1="H">
<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>
</goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1">
<transf name="destruct" arg1="H">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0">
<transf name="destruct" 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" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" proved="true"arg1="H">
<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" proved="true"arg1="H23">
<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>
</goal>
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1">
<transf name="destruct" arg1="H12">
<goal name="WP_parameter shortest_path_code.11.0.6.0.1.1.0.1.0">
<transf name="case" 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" expl="VC for shortest_path_code" proved="true">
<transf name="destruct" proved="true"arg1="H12">
<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" proved="true"arg1="(v = v1)">
<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>
</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>
</goal>
</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>
</transf>
</goal>
</transf>
</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>
</goal>
</transf>
......@@ -223,19 +211,19 @@
</goal>
</transf>
</goal>
<goal name="WP_parameter shortest_path_code.12">
<transf name="split_goal_wp" >
<goal name="WP_parameter shortest_path_code.12.0">
<transf name="inline_goal" >
<goal name="WP_parameter shortest_path_code.12.0.0">
<transf name="split_goal_wp" >
<goal name="WP_parameter shortest_path_code.12.0.0.0">
<goal name="WP_parameter shortest_path_code.12" expl="loop invariant preservation" proved="true">
<transf name="split_goal_wp" proved="true">
<goal name="WP_parameter shortest_path_code.12.0" expl="loop invariant preservation" proved="true">
<transf name="inline_goal" proved="true">
<goal name="WP_parameter shortest_path_code.12.0.0" expl="loop invariant preservation" proved="true">
<transf name="split_goal_wp" proved="true">
<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="1"><undone/></proof>
<proof prover="1" memlimit="1000"><undone/></proof>
</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="1"><undone/></proof>
<proof prover="1" timelimit="5"><undone/></proof>
</goal>
</transf>
</goal>
......@@ -243,50 +231,50 @@
</goal>
</transf>
</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>
</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>
</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>
</goal>
<goal name="WP_parameter shortest_path_code.16">
<transf name="introduce_premises" >
<goal name="WP_parameter shortest_path_code.16.0">
<transf name="cut" arg1="(is_empty su)">
<goal name="WP_parameter shortest_path_code.16.0.0">
<transf name="cut" arg1="(inv_succ src visited q d)">
<goal name="WP_parameter shortest_path_code.16.0.0.0">
<transf name="cut" arg1="(mem src visited)">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0">
<transf name="instantiate" arg1="inside_or_exit" arg2="visited">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0">
<transf name="instantiate" arg1="inside_or_exit" arg2="src">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0">
<transf name="instantiate" arg1="inside_or_exit" arg2="x">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0">
<transf name="instantiate" arg1="inside_or_exit" arg2="dx">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0">
<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)))">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0">
<transf name="destruct" 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" expl="loop invariant preservation" proved="true">
<transf name="introduce_premises" proved="true">
<goal name="WP_parameter shortest_path_code.16.0" expl="loop invariant preservation" proved="true">
<transf name="cut" proved="true"arg1="(is_empty su)">
<goal name="WP_parameter shortest_path_code.16.0.0" expl="loop invariant preservation" proved="true">
<transf name="cut" proved="true"arg1="(inv_succ src visited q d)">
<goal name="WP_parameter shortest_path_code.16.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="cut" proved="true"arg1="(mem src visited)">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0" expl="loop invariant preservation" proved="true">
<transf name="instantiate" proved="true"arg1="inside_or_exit" arg2="visited">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.01" steps="25"/></proof>
</goal>
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1">
<transf name="destruct" arg1="h">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0">
<transf name="destruct" arg1="h">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0">
<transf name="destruct" arg1="h">
<goal name="WP_parameter shortest_path_code.16.0.0.0.0.0.0.0.0.0.1.0.0.0">
<transf name="cut" 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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<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" expl="loop invariant preservation" proved="true">
<proof prover="2"><result status="valid" time="0.48" steps="405"/></proof>
</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>
</goal>
</transf>
......@@ -299,7 +287,7 @@
</goal>
</transf>
</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>
</goal>
</transf>
......@@ -312,30 +300,30 @@
</goal>
</transf>
</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>
</goal>
</transf>
</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>
</goal>
</transf>
</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>
</goal>
</transf>
</goal>
</transf>
</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>
</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>
</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>
</goal>
</transf>
......
......@@ -65,12 +65,12 @@ open Session_itp
type context =
(string ->
(formatter -> unit session -> unit) -> unit session
(formatter -> session -> unit) -> session
-> unit, formatter, unit) format
let run_file (context : context) print_session fname =
let project_dir = S.get_project_dir fname in
let session,_use_shapes = S.read_session project_dir in
let ses,_ = read_session fname in
let project_dir = get_dir ses in
let output_dir =
if !output_dir = "" then project_dir else !output_dir
in
......@@ -81,8 +81,8 @@ let run_file (context : context) print_session fname =
in
let fmt = formatter_of_out_channel cout in
if !opt_context
then fprintf fmt context basename (print_session basename) session
else print_session basename fmt session;
then fprintf fmt context basename (print_session basename) ses
else print_session basename fmt ses;
pp_print_flush fmt ();
if output_dir <> "-" then close_out cout
......@@ -91,21 +91,21 @@ module Table =
struct
let rec transf_depth tr =
let rec transf_depth s tr =
List.fold_left
(fun depth g -> max depth (goal_depth g)) 0 tr.S.transf_goals
and goal_depth g =
S.PHstr.fold
(fun _st tr depth -> max depth (1 + transf_depth tr))
(S.goal_transformations g) 1
(fun depth g -> max depth (goal_depth s g)) 0 (get_sub_tasks s tr)
and goal_depth s g =
List.fold_left
(fun depth tr -> max depth (1 + transf_depth s tr))
1 (get_transformations s g)
let theory_depth t =
let theory_depth s t =
List.fold_left
(fun depth g -> max depth (goal_depth g)) 0 t.S.theory_goals
(fun depth g -> max depth (goal_depth s g)) 0 (theory_goals t)
let provers_stats provers theory =
S.theory_iter_proof_attempt (fun a ->
Hprover.replace provers a.S.proof_prover a.S.proof_prover) theory
let provers_stats s provers theory =
theory_iter_proof_attempt s (fun a ->
Hprover.replace provers a.prover a.prover) theory
let print_prover = Whyconf.print_prover
......@@ -115,16 +115,16 @@ struct
if dark then "008000" else "C0FFC0"
else "FF0000")
let print_results fmt provers proofs =
let print_results fmt s provers proofs =
List.iter (fun p ->
fprintf fmt "<td bgcolor=\"#";
begin
try
let pr = S.PHprover.find proofs p in
let s = pr.S.proof_state in
let pr = get_proof_attempt_node s (Hprover.find proofs p) in
let s = pr.proof_state in
begin
match s with
| S.Done res ->
| Some res ->
begin
match res.Call_provers.pr_answer with
| Call_provers.Valid ->
......@@ -133,10 +133,10 @@ let print_results fmt provers proofs =
fprintf fmt "FF0000\">Invalid"
| Call_provers.Timeout ->
fprintf fmt "FF8000\">Timeout (%ds)"
pr.S.proof_limit.Call_provers.limit_time
pr.limit.Call_provers.limit_time
| Call_provers.OutOfMemory ->
fprintf fmt "FF8000\">Out Of Memory (%dM)"
pr.S.proof_limit.Call_provers.limit_mem
pr.limit.Call_provers.limit_mem
| Call_provers.StepLimitExceeded ->
fprintf fmt "FF8000\">Step limit exceeded"
| Call_provers.Unknown _ ->
......@@ -146,81 +146,78 @@ let print_results fmt provers proofs =
| Call_provers.HighFailure ->
fprintf fmt "FF8000\">High Failure"
end
| S.InternalFailure _ -> fprintf fmt "E0E0E0\">Internal Failure"
| S.Interrupted -> fprintf fmt "E0E0E0\">Not yet run"
| S.Unedited -> fprintf fmt "E0E0E0\">Not yet edited"
| S.Scheduled | S.Running
| S.JustEdited -> assert false
| None -> fprintf fmt "E0E0E0\">result missing"
end;
if pr.S.proof_obsolete then fprintf fmt " (obsolete)"
with Not_found -> fprintf fmt "E0E0E0\">---"
end;