Mentions légales du service

Skip to content
Snippets Groups Projects
Commit eda3dfb6 authored by MARCHE Claude's avatar MARCHE Claude
Browse files

fixed proofs

parent 4920bbf3
No related branches found
No related tags found
No related merge requests found
...@@ -46,12 +46,28 @@ module DfaExample ...@@ -46,12 +46,28 @@ module DfaExample
all_in_r0 r all_in_r0 r
end end
lemma ends_with_one: lemma words_in_r1_end_with_one:
forall w: list char. forall w: list char.
mem w r1 <-> exists w': list char. w = w' ++ Cons One Nil mem w r1 <-> exists w': list char. w = w' ++ Cons One Nil
lemma zero_w_in_r1: forall w: list char. mem w r1 <-> mem (Cons Zero w) r1 let lemma words_in_r1_suffix_in_r1 (c c':char) (w: list char)
lemma one_w_in_r1: forall w: list char. mem w r2 <-> mem (Cons One w) r1 requires { mem (Cons c (Cons c' w)) r1 }
ensures { mem (Cons c' w) r1 }
= assert { exists w'. (Cons c (Cons c' w)) = w' ++ Cons One Nil }
let lemma zero_w_in_r1 (w: list char)
ensures { mem w r1 <-> mem (Cons Zero w) r1 }
= assert { mem (Cons Zero w) r1 ->
exists w'. (Cons Zero w) = w' ++ Cons One Nil }
let lemma one_w_in_r1 (w: list char)
ensures { mem w r2 <-> mem (Cons One w) r1 }
= match w with
| Nil -> ()
| Cons c r ->
assert { mem w r2 -> mem w r1 };
assert { mem (Cons One (Cons c r)) r1 -> mem w r1 }
end
lemma zero_w_in_r2: forall w: list char. mem w r1 <-> mem (Cons Zero w) r2 lemma zero_w_in_r2: forall w: list char. mem w r1 <-> mem (Cons Zero w) r2
lemma one_w_in_r2: forall w: list char. mem w r2 <-> mem (Cons One w) r2 lemma one_w_in_r2: forall w: list char. mem w r2 <-> mem (Cons One w) r2
......
...@@ -3,14 +3,13 @@ ...@@ -3,14 +3,13 @@
"http://why3.lri.fr/why3session.dtd"> "http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4"> <why3session shape_version="4">
<prover id="0" name="Coq" version="8.4pl4" timelimit="8" memlimit="1000"/> <prover id="0" name="Coq" version="8.4pl4" timelimit="8" memlimit="1000"/>
<prover id="2" name="CVC3" version="2.4.1" timelimit="8" memlimit="4000"/> <prover id="1" name="CVC4" version="1.4" timelimit="5" memlimit="1000"/>
<prover id="3" name="Z3" version="4.3.1" timelimit="5" memlimit="4000"/>
<prover id="4" name="Z3" version="3.2" timelimit="5" memlimit="4000"/> <prover id="4" name="Z3" version="3.2" timelimit="5" memlimit="4000"/>
<prover id="5" name="Alt-Ergo" version="0.95.2" timelimit="5" memlimit="4000"/> <prover id="5" name="Alt-Ergo" version="0.95.2" timelimit="5" memlimit="4000"/>
<prover id="6" name="CVC4" version="1.3" timelimit="5" memlimit="4000"/> <prover id="7" name="Alt-Ergo" version="0.99.1" timelimit="5" memlimit="1000"/>
<prover id="7" name="Alt-Ergo" version="0.99.1" timelimit="8" memlimit="1000"/> <prover id="8" name="Z3" version="4.4.0" timelimit="5" memlimit="1000"/>
<file name="../dfa_example.mlw" expanded="true"> <file name="../dfa_example.mlw" expanded="true">
<theory name="DfaExample" sum="664b149b9dfe62c43b205fb79b9f4fae" expanded="true"> <theory name="DfaExample" sum="660b70fa1d4035d9e6c3f57fd8521252" expanded="true">
<goal name="nil_notin_r1"> <goal name="nil_notin_r1">
<proof prover="0" edited="dfa_example_DfaExample_nil_notin_r1_1.v"><result status="valid" time="0.86"/></proof> <proof prover="0" edited="dfa_example_DfaExample_nil_notin_r1_1.v"><result status="valid" time="0.86"/></proof>
<proof prover="4"><result status="valid" time="0.10"/></proof> <proof prover="4"><result status="valid" time="0.10"/></proof>
...@@ -19,88 +18,96 @@ ...@@ -19,88 +18,96 @@
<goal name="WP_parameter all_in_r0" expl="VC for all_in_r0"> <goal name="WP_parameter all_in_r0" expl="VC for all_in_r0">
<proof prover="5"><result status="valid" time="0.40" steps="1040"/></proof> <proof prover="5"><result status="valid" time="0.40" steps="1040"/></proof>
</goal> </goal>
<goal name="ends_with_one"> <goal name="words_in_r1_end_with_one">
<proof prover="8"><result status="valid" time="0.06"/></proof>
</goal>
<goal name="WP_parameter words_in_r1_suffix_in_r1" expl="VC for words_in_r1_suffix_in_r1">
<transf name="split_goal_wp"> <transf name="split_goal_wp">
<goal name="ends_with_one.1" expl="1."> <goal name="WP_parameter words_in_r1_suffix_in_r1.1" expl="1. assertion">
<proof prover="2" timelimit="5"><result status="valid" time="0.76"/></proof> <proof prover="7"><result status="valid" time="0.04" steps="78"/></proof>
<proof prover="3"><result status="valid" time="0.10"/></proof>
<proof prover="4"><result status="valid" time="0.03"/></proof>
</goal> </goal>
<goal name="ends_with_one.2" expl="2."> <goal name="WP_parameter words_in_r1_suffix_in_r1.2" expl="2. postcondition">
<proof prover="3"><result status="valid" time="0.01"/></proof> <proof prover="1"><result status="valid" time="0.15"/></proof>
<proof prover="4"><result status="valid" time="0.01"/></proof>
<proof prover="5"><result status="valid" time="0.02" steps="10"/></proof>
<proof prover="6"><result status="valid" time="0.03"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="zero_w_in_r1"> <goal name="WP_parameter zero_w_in_r1" expl="VC for zero_w_in_r1">
<proof prover="4"><result status="valid" time="0.06"/></proof> <proof prover="8"><result status="valid" time="0.38"/></proof>
</goal> </goal>
<goal name="one_w_in_r1"> <goal name="WP_parameter one_w_in_r1" expl="VC for one_w_in_r1">
<proof prover="4"><result status="valid" time="0.20"/></proof> <transf name="split_goal_wp">
<goal name="WP_parameter one_w_in_r1.1" expl="1. postcondition">
<proof prover="7"><result status="valid" time="0.28" steps="385"/></proof>
</goal>
<goal name="WP_parameter one_w_in_r1.2" expl="2. assertion">
<proof prover="7"><result status="valid" time="0.68" steps="895"/></proof>
</goal>
<goal name="WP_parameter one_w_in_r1.3" expl="3. assertion">
<proof prover="7"><result status="valid" time="0.04" steps="40"/></proof>
</goal>
<goal name="WP_parameter one_w_in_r1.4" expl="4. postcondition">
<transf name="split_goal_wp">
<goal name="WP_parameter one_w_in_r1.4.1" expl="1. postcondition">
<proof prover="7"><result status="valid" time="0.25" steps="337"/></proof>
</goal>
<goal name="WP_parameter one_w_in_r1.4.2" expl="2. postcondition">
<proof prover="7"><result status="valid" time="0.01" steps="11"/></proof>
</goal>
</transf>
</goal>
</transf>
</goal> </goal>
<goal name="zero_w_in_r2"> <goal name="zero_w_in_r2">
<proof prover="4"><result status="valid" time="0.50"/></proof> <proof prover="7"><result status="valid" time="0.04" steps="75"/></proof>
<proof prover="5"><result status="valid" time="0.27" steps="993"/></proof>
</goal> </goal>
<goal name="one_w_in_r2"> <goal name="one_w_in_r2">
<proof prover="4"><result status="valid" time="0.47"/></proof> <proof prover="7"><result status="valid" time="0.03" steps="76"/></proof>
<proof prover="5"><result status="valid" time="0.21" steps="577"/></proof>
</goal> </goal>
<goal name="WP_parameter astate1" expl="VC for astate1"> <goal name="WP_parameter astate1" expl="VC for astate1">
<transf name="split_goal_wp"> <transf name="split_goal_wp">
<goal name="WP_parameter astate1.1" expl="1. postcondition"> <goal name="WP_parameter astate1.1" expl="1. postcondition">
<proof prover="2" timelimit="20" memlimit="1000"><result status="valid" time="0.09"/></proof> <proof prover="7"><result status="valid" time="0.02" steps="45"/></proof>
<proof prover="4"><result status="valid" time="0.03"/></proof>
</goal> </goal>
<goal name="WP_parameter astate1.2" expl="2. variant decrease"> <goal name="WP_parameter astate1.2" expl="2. variant decrease">
<proof prover="5"><result status="valid" time="0.02" steps="42"/></proof> <proof prover="7"><result status="valid" time="0.02" steps="27"/></proof>
</goal> </goal>
<goal name="WP_parameter astate1.3" expl="3. postcondition"> <goal name="WP_parameter astate1.3" expl="3. postcondition">
<transf name="split_goal_wp"> <transf name="split_goal_wp">
<goal name="WP_parameter astate1.3.1" expl="1. postcondition"> <goal name="WP_parameter astate1.3.1" expl="1. postcondition">
<proof prover="4"><result status="valid" time="0.02"/></proof> <proof prover="7"><result status="valid" time="0.04" steps="9"/></proof>
<proof prover="7" timelimit="20"><result status="valid" time="0.04" steps="9"/></proof>
</goal> </goal>
<goal name="WP_parameter astate1.3.2" expl="2. postcondition"> <goal name="WP_parameter astate1.3.2" expl="2. postcondition">
<proof prover="4"><result status="valid" time="0.03"/></proof>
<proof prover="7"><result status="valid" time="0.06" steps="48"/></proof> <proof prover="7"><result status="valid" time="0.06" steps="48"/></proof>
</goal> </goal>
<goal name="WP_parameter astate1.3.3" expl="3. postcondition"> <goal name="WP_parameter astate1.3.3" expl="3. postcondition">
<proof prover="4"><result status="valid" time="0.03"/></proof>
<proof prover="7"><result status="valid" time="0.05" steps="37"/></proof> <proof prover="7"><result status="valid" time="0.05" steps="37"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter astate1.4" expl="4. variant decrease"> <goal name="WP_parameter astate1.4" expl="4. variant decrease">
<proof prover="5"><result status="valid" time="0.02" steps="42"/></proof> <proof prover="7"><result status="valid" time="0.02" steps="27"/></proof>
</goal> </goal>
<goal name="WP_parameter astate1.5" expl="5. postcondition"> <goal name="WP_parameter astate1.5" expl="5. postcondition">
<proof prover="4"><result status="valid" time="0.10"/></proof> <proof prover="7"><result status="valid" time="0.12" steps="244"/></proof>
<proof prover="7"><result status="valid" time="0.12" steps="246"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
<goal name="WP_parameter astate2" expl="VC for astate2"> <goal name="WP_parameter astate2" expl="VC for astate2">
<transf name="split_goal_wp"> <transf name="split_goal_wp">
<goal name="WP_parameter astate2.1" expl="1. postcondition"> <goal name="WP_parameter astate2.1" expl="1. postcondition">
<proof prover="2" memlimit="1000"><result status="valid" time="0.09"/></proof> <proof prover="7"><result status="valid" time="0.02" steps="62"/></proof>
<proof prover="4"><result status="valid" time="0.05"/></proof>
</goal> </goal>
<goal name="WP_parameter astate2.2" expl="2. variant decrease"> <goal name="WP_parameter astate2.2" expl="2. variant decrease">
<proof prover="5"><result status="valid" time="0.02" steps="42"/></proof> <proof prover="7"><result status="valid" time="0.02" steps="27"/></proof>
</goal> </goal>
<goal name="WP_parameter astate2.3" expl="3. postcondition"> <goal name="WP_parameter astate2.3" expl="3. postcondition">
<proof prover="2" memlimit="1000"><result status="valid" time="0.09"/></proof> <proof prover="7"><result status="valid" time="0.06" steps="197"/></proof>
<proof prover="4"><result status="valid" time="0.16"/></proof>
</goal> </goal>
<goal name="WP_parameter astate2.4" expl="4. variant decrease"> <goal name="WP_parameter astate2.4" expl="4. variant decrease">
<proof prover="5"><result status="valid" time="0.02" steps="42"/></proof> <proof prover="7"><result status="valid" time="0.02" steps="27"/></proof>
</goal> </goal>
<goal name="WP_parameter astate2.5" expl="5. postcondition"> <goal name="WP_parameter astate2.5" expl="5. postcondition">
<proof prover="4"><result status="valid" time="0.13"/></proof> <proof prover="7"><result status="valid" time="0.12" steps="151"/></proof>
<proof prover="7"><result status="valid" time="0.12" steps="152"/></proof>
</goal> </goal>
</transf> </transf>
</goal> </goal>
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment