Commit 78e6da29 authored by Martin Clochard's avatar Martin Clochard

in_progress(example): 2wp_gen, cont'd

parent ec692fa7
......@@ -126,9 +126,6 @@ module Game
forall start win. have_uniform_winning_strat g1 start win ->
have_uniform_winning_strat g2 (rel_map r start) (rel_map r win)
predicate subgame (g1 g2:game 'a) =
simulate g1 (=) g2 /\ g1.progress = g2.progress
end
(* A few properties of strategies on such games.
......@@ -1787,8 +1784,7 @@ module StratProofs
so st.h_total y))
so (maximum o1 st.h_proj a by forall u. st.h_proj u ->
o1 u a by exists v. st.h_pair (u,v) so op (u,v) (a,b))
so (supremum o1 st.h_proj a by forall ch x.
maximum o1 ch x -> supremum o1 ch x)
so supremum o1 st.h_proj a
so a = sup o1 st.h_proj
so (sc.g1.transition a s0 -> dmna s0 = a /\ s0 (dmna s0)
by match st.i_dmn s0 with
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
......@@ -39,9 +39,13 @@ module Order
predicate supremum (o:'a -> 'a -> bool) (s:'a -> bool) (x:'a) =
minimum o (upper_bound o s) x
lemma maximum_supremum : forall o s,x:'a. maximum o s x -> supremum o s x
predicate infimum (o:'a -> 'a -> bool) (s:'a -> bool) (x:'a) =
maximum o (lower_bound o s) x
lemma minimum_infimum : forall o s,x:'a. minimum o s x -> infimum o s x
predicate maximal (o:'a -> 'a -> bool) (x:'a) = forall y. o x y -> o y x
predicate minimal (o:'a -> 'a -> bool) (x:'a) = forall y. o y x -> o x y
......
......@@ -2,14 +2,20 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="1" name="Alt-Ergo" version="1.00.prv" timelimit="5" steplimit="1" memlimit="1000"/>
<prover id="1" name="Alt-Ergo" version="1.00.prv" timelimit="5" memlimit="1000"/>
<file name="../order.mlw">
<theory name="Order" sum="df6c0ebef0017af560ce2682ca750187">
<theory name="Order" sum="1cec4ba8e9b248e7c4e2d88768e35b7e">
<goal name="maximum_unique">
<proof prover="1"><result status="valid" time="0.01" steps="13"/></proof>
<proof prover="1" steplimit="1"><result status="valid" time="0.01" steps="13"/></proof>
</goal>
<goal name="minimum_unique">
<proof prover="1"><result status="valid" time="0.00" steps="13"/></proof>
<proof prover="1" steplimit="1"><result status="valid" time="0.00" steps="13"/></proof>
</goal>
<goal name="maximum_supremum">
<proof prover="1"><result status="valid" time="0.01" steps="12"/></proof>
</goal>
<goal name="minimum_infimum">
<proof prover="1"><result status="valid" time="0.01" steps="13"/></proof>
</goal>
</theory>
<theory name="Mono" sum="d41d8cd98f00b204e9800998ecf8427e">
......
......@@ -2,14 +2,14 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="1" name="CVC4" version="1.4" timelimit="5" steplimit="-1" memlimit="1000"/>
<prover id="2" name="Alt-Ergo" version="1.00.prv" timelimit="5" steplimit="-1" memlimit="1000"/>
<prover id="1" name="CVC4" version="1.4" timelimit="5" memlimit="1000"/>
<prover id="2" name="Alt-Ergo" version="1.00.prv" timelimit="5" memlimit="1000"/>
<file name="../transfinite.mlw">
<theory name="IterateCommon" sum="d41d8cd98f00b204e9800998ecf8427e">
</theory>
<theory name="Iterates" sum="d41d8cd98f00b204e9800998ecf8427e">
</theory>
<theory name="IterateProof" sum="f65db30eff3f3e57ac59f00d4a2fa6a5">
<theory name="IterateProof" sum="7110fa6c95abf2834680e9aea777adf9">
<goal name="tr_reach_compare">
<transf name="induction_pr">
<goal name="tr_reach_compare.1" expl="1.">
......@@ -19,7 +19,7 @@
<proof prover="2" steplimit="1"><result status="valid" time="0.01" steps="38"/></proof>
</goal>
<goal name="tr_reach_compare.3" expl="3.">
<proof prover="2" steplimit="1"><result status="valid" time="0.01" steps="24"/></proof>
<proof prover="2" steplimit="1"><result status="valid" time="0.01" steps="26"/></proof>
</goal>
</transf>
</goal>
......@@ -54,7 +54,7 @@
<goal name="separation.3.1.1" expl="1.">
<transf name="inline_goal">
<goal name="separation.3.1.1.1" expl="1.">
<proof prover="2"><result status="valid" time="0.08" steps="192"/></proof>
<proof prover="2"><result status="valid" time="0.08" steps="235"/></proof>
</goal>
</transf>
</goal>
......@@ -70,7 +70,7 @@
<proof prover="2"><result status="valid" time="0.01" steps="14"/></proof>
</goal>
<goal name="all_separation.2" expl="2.">
<proof prover="2"><result status="valid" time="0.03" steps="73"/></proof>
<proof prover="2"><result status="valid" time="0.03" steps="82"/></proof>
</goal>
<goal name="all_separation.3" expl="3.">
<proof prover="2"><result status="valid" time="0.01" steps="17"/></proof>
......@@ -79,13 +79,13 @@
<proof prover="2"><result status="valid" time="0.01" steps="31"/></proof>
</goal>
<goal name="all_separation.5" expl="5.">
<proof prover="2"><result status="valid" time="0.02" steps="73"/></proof>
<proof prover="2"><result status="valid" time="0.02" steps="76"/></proof>
</goal>
<goal name="all_separation.6" expl="6.">
<proof prover="2"><result status="valid" time="0.02" steps="104"/></proof>
<proof prover="2"><result status="valid" time="0.02" steps="108"/></proof>
</goal>
<goal name="all_separation.7" expl="7.">
<proof prover="2"><result status="valid" time="0.02" steps="60"/></proof>
<proof prover="2"><result status="valid" time="0.02" steps="64"/></proof>
</goal>
<goal name="all_separation.8" expl="8.">
<transf name="induction_pr">
......@@ -105,7 +105,7 @@
<goal name="all_separation.8.2.1" expl="1.">
<transf name="simplify_trivial_quantification_in_goal">
<goal name="all_separation.8.2.1.1" expl="1.">
<proof prover="2"><result status="valid" time="0.33" steps="423"/></proof>
<proof prover="2"><result status="valid" time="0.33" steps="475"/></proof>
</goal>
</transf>
</goal>
......@@ -116,7 +116,7 @@
<goal name="all_separation.8.3.1" expl="1.">
<transf name="simplify_trivial_quantification_in_goal">
<goal name="all_separation.8.3.1.1" expl="1.">
<proof prover="2"><result status="valid" time="0.25" steps="675"/></proof>
<proof prover="2"><result status="valid" time="0.25" steps="722"/></proof>
</goal>
</transf>
</goal>
......@@ -138,10 +138,10 @@
<proof prover="2"><result status="valid" time="0.01" steps="14"/></proof>
</goal>
<goal name="fixpoint_max_proof.4" expl="4.">
<proof prover="2"><result status="valid" time="0.08" steps="169"/></proof>
<proof prover="2"><result status="valid" time="0.08" steps="230"/></proof>
</goal>
<goal name="fixpoint_max_proof.5" expl="5.">
<proof prover="2"><result status="valid" time="0.02" steps="33"/></proof>
<proof prover="2"><result status="valid" time="0.02" steps="36"/></proof>
</goal>
</transf>
</goal>
......@@ -176,7 +176,7 @@
<goal name="fixpoint_is_max_proof.1.3.1" expl="1.">
<transf name="simplify_trivial_quantification_in_goal">
<goal name="fixpoint_is_max_proof.1.3.1.1" expl="1.">
<proof prover="2"><result status="valid" time="0.05" steps="73"/></proof>
<proof prover="2"><result status="valid" time="0.05" steps="85"/></proof>
</goal>
</transf>
</goal>
......@@ -185,17 +185,17 @@
</transf>
</goal>
<goal name="fixpoint_is_max_proof.2" expl="2.">
<proof prover="2"><result status="valid" time="0.02" steps="44"/></proof>
<proof prover="2"><result status="valid" time="0.02" steps="46"/></proof>
</goal>
</transf>
</goal>
<goal name="add_chain">
<transf name="split_goal_wp">
<goal name="add_chain.1" expl="1.">
<proof prover="2"><result status="valid" time="1.85" steps="1795"/></proof>
<proof prover="2"><result status="valid" time="1.85" steps="2404"/></proof>
</goal>
<goal name="add_chain.2" expl="2.">
<proof prover="2"><result status="valid" time="0.95" steps="935"/></proof>
<proof prover="2"><result status="valid" time="0.95" steps="1275"/></proof>
</goal>
</transf>
</goal>
......@@ -203,10 +203,9 @@
<transf name="split_goal_wp">
<goal name="accessibility.1" expl="1.">
<proof prover="1"><result status="valid" time="0.14"/></proof>
<proof prover="2" obsolete="true"><result status="timeout" time="5.00"/></proof>
</goal>
<goal name="accessibility.2" expl="2.">
<proof prover="2"><result status="valid" time="0.03" steps="78"/></proof>
<proof prover="2"><result status="valid" time="0.03" steps="95"/></proof>
</goal>
<goal name="accessibility.3" expl="3.">
<proof prover="2"><result status="valid" time="0.03" steps="16"/></proof>
......@@ -215,13 +214,13 @@
<proof prover="2"><result status="valid" time="0.03" steps="18"/></proof>
</goal>
<goal name="accessibility.5" expl="5.">
<proof prover="1"><result status="valid" time="0.22"/></proof>
<proof prover="1"><result status="valid" time="0.40"/></proof>
</goal>
<goal name="accessibility.6" expl="6.">
<proof prover="1"><result status="valid" time="0.25"/></proof>
</goal>
<goal name="accessibility.7" expl="7.">
<proof prover="2"><result status="valid" time="0.02" steps="34"/></proof>
<proof prover="2"><result status="valid" time="0.02" steps="35"/></proof>
</goal>
<goal name="accessibility.8" expl="8.">
<proof prover="1"><result status="valid" time="0.26"/></proof>
......@@ -230,7 +229,7 @@
<proof prover="2"><result status="valid" time="0.02" steps="14"/></proof>
</goal>
<goal name="accessibility.10" expl="10.">
<proof prover="2"><result status="valid" time="1.43" steps="3809"/></proof>
<proof prover="2"><result status="valid" time="1.99" steps="4383"/></proof>
</goal>
<goal name="accessibility.11" expl="11.">
<transf name="induction_pr">
......@@ -239,7 +238,7 @@
<goal name="accessibility.11.1.1" expl="1.">
<transf name="simplify_trivial_quantification_in_goal">
<goal name="accessibility.11.1.1.1" expl="1.">
<proof prover="2"><result status="valid" time="0.04" steps="180"/></proof>
<proof prover="2"><result status="valid" time="0.04" steps="190"/></proof>
</goal>
</transf>
</goal>
......@@ -261,7 +260,7 @@
<goal name="accessibility.11.3.1" expl="1.">
<transf name="simplify_trivial_quantification_in_goal">
<goal name="accessibility.11.3.1.1" expl="1.">
<proof prover="2"><result status="valid" time="0.04" steps="109"/></proof>
<proof prover="2"><result status="valid" time="0.04" steps="113"/></proof>
</goal>
</transf>
</goal>
......@@ -270,7 +269,7 @@
</transf>
</goal>
<goal name="accessibility.12" expl="12.">
<proof prover="1"><result status="valid" time="0.19"/></proof>
<proof prover="1"><result status="valid" time="0.31"/></proof>
</goal>
</transf>
</goal>
......@@ -309,7 +308,7 @@
<goal name="tr_reach_transitive.1.1.3" expl="3.">
<transf name="simplify_trivial_quantification_in_goal">
<goal name="tr_reach_transitive.1.1.3.1" expl="1.">
<proof prover="2"><result status="valid" time="0.02" steps="33"/></proof>
<proof prover="2"><result status="valid" time="0.02" steps="34"/></proof>
</goal>
</transf>
</goal>
......@@ -327,7 +326,7 @@
</theory>
<theory name="ChainExtension" sum="d41d8cd98f00b204e9800998ecf8427e">
</theory>
<theory name="ChainExtensionProof" sum="b2ec5a0c03a10d0cd3a2d42dfe8a544a">
<theory name="ChainExtensionProof" sum="eb25cf3911502cbbab86e46f7256e871">
<goal name="WP_parameter ext" expl="VC for ext">
<transf name="split_goal_wp">
<goal name="WP_parameter ext.1" expl="1. assertion">
......@@ -357,12 +356,12 @@
<proof prover="2"><result status="valid" time="0.01" steps="16"/></proof>
</goal>
<goal name="subchain_complete.5" expl="5.">
<proof prover="2"><result status="valid" time="0.05" steps="100"/></proof>
<proof prover="2"><result status="valid" time="0.05" steps="108"/></proof>
</goal>
</transf>
</goal>
<goal name="subchain_competion_chain">
<proof prover="2"><result status="valid" time="0.03" steps="75"/></proof>
<proof prover="2"><result status="valid" time="0.03" steps="96"/></proof>
</goal>
<goal name="extends_preserve_chain">
<proof prover="2"><result status="valid" time="0.02" steps="32"/></proof>
......@@ -398,7 +397,7 @@
<goal name="reach_only_chains.1.3.1" expl="1.">
<transf name="simplify_trivial_quantification_in_goal">
<goal name="reach_only_chains.1.3.1.1" expl="1.">
<proof prover="2"><result status="valid" time="0.44" steps="964"/></proof>
<proof prover="2"><result status="valid" time="0.44" steps="1096"/></proof>
</goal>
</transf>
</goal>
......
......@@ -2,12 +2,12 @@
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="4">
<prover id="1" name="CVC4" version="1.4" timelimit="5" steplimit="-1" memlimit="1000"/>
<prover id="2" name="Alt-Ergo" version="1.00.prv" timelimit="5" steplimit="-1" memlimit="1000"/>
<prover id="1" name="CVC4" version="1.4" timelimit="5" memlimit="1000"/>
<prover id="2" name="Alt-Ergo" version="1.00.prv" timelimit="5" memlimit="1000"/>
<file name="../zorn.mlw">
<theory name="Zorn" sum="d41d8cd98f00b204e9800998ecf8427e">
</theory>
<theory name="ZornProof" sum="3624ad2a03a1a1d233d072ee87a5a9fd">
<theory name="ZornProof" sum="0e970e51c81a73c1c9027c6d998611a7">
<goal name="choose_ub_builder">
<proof prover="1"><result status="valid" time="0.36"/></proof>
</goal>
......@@ -20,16 +20,16 @@
<proof prover="2"><result status="valid" time="0.02" steps="42"/></proof>
</goal>
<goal name="zorn_proof.3" expl="3.">
<proof prover="2"><result status="valid" time="0.03" steps="58"/></proof>
<proof prover="2"><result status="valid" time="0.03" steps="67"/></proof>
</goal>
<goal name="zorn_proof.4" expl="4.">
<proof prover="2"><result status="valid" time="0.03" steps="74"/></proof>
<proof prover="2"><result status="valid" time="0.03" steps="87"/></proof>
</goal>
<goal name="zorn_proof.5" expl="5.">
<proof prover="2"><result status="valid" time="0.03" steps="65"/></proof>
<proof prover="2"><result status="valid" time="0.03" steps="68"/></proof>
</goal>
<goal name="zorn_proof.6" expl="6.">
<proof prover="2"><result status="valid" time="0.08" steps="137"/></proof>
<proof prover="2"><result status="valid" time="0.08" steps="157"/></proof>
</goal>
<goal name="zorn_proof.7" expl="7.">
<proof prover="2"><result status="valid" time="0.02" steps="13"/></proof>
......@@ -42,7 +42,7 @@
</theory>
<theory name="WellOrder" sum="d41d8cd98f00b204e9800998ecf8427e">
</theory>
<theory name="WellOrderProof" sum="2a391548b082fb4fe43166bf9b5206b0">
<theory name="WellOrderProof" sum="81be3f5db7a9225b73e9d0bac8e2c489">
<goal name="completion_well_ordered">
<transf name="split_goal_wp">
<goal name="completion_well_ordered.1" expl="1.">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment