<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE why3session PUBLIC "-//Why3//proof session v5//EN"
"http://why3.lri.fr/why3session.dtd">
<why3session shape_version="6">
<prover id="1" name="Coq" version="8.11.2" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="2" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="3" name="CVC3" version="2.4.1" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="4" name="Eprover" version="2.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="5" name="Eprover" version="1.8-001" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="7" name="CVC4" version="1.5" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="10" name="CVC4" version="1.4" timelimit="1" steplimit="0" memlimit="1000"/>
<file format="whyml" proved="true">
<path name=".."/><path name="blocking_semantics5.mlw"/>
<theory name="Syntax" proved="true">
 <goal name="mident_decide" proved="true">
 <proof prover="2"><result status="valid" time="0.00" steps="2"/></proof>
 </goal>
 <goal name="ident_decide" proved="true">
 <proof prover="2"><result status="valid" time="0.00" steps="2"/></proof>
 </goal>
 <goal name="decide_is_skip" proved="true">
 <proof prover="2"><result status="valid" time="0.00" steps="3"/></proof>
 </goal>
</theory>
<theory name="SemOp" proved="true">
 <goal name="get_stack_eq" proved="true">
 <proof prover="2"><result status="valid" time="0.00" steps="4"/></proof>
 </goal>
 <goal name="get_stack_neq" proved="true">
 <proof prover="2"><result status="valid" time="0.01" steps="9"/></proof>
 </goal>
 <goal name="steps_non_neg" proved="true">
 <proof prover="1"><path name="blocking_semantics5_SemOp_steps_non_neg_1.v"/><result status="valid" time="0.31"/></proof>
 </goal>
</theory>
<theory name="TestSemantics" proved="true">
 <goal name="Test13" proved="true">
 <proof prover="2"><result status="valid" time="0.01" steps="4"/></proof>
 </goal>
 <goal name="Test42" proved="true">
 <proof prover="2"><result status="valid" time="0.02" steps="4"/></proof>
 </goal>
 <goal name="Test0" proved="true">
 <proof prover="2"><result status="valid" time="0.01" steps="18"/></proof>
 </goal>
 <goal name="Test55" proved="true">
 <proof prover="10"><result status="valid" time="0.04"/></proof>
 </goal>
 <goal name="Ass42" proved="true">
 <proof prover="2"><result status="valid" time="0.03" steps="124"/></proof>
 </goal>
 <goal name="If42" proved="true">
 <transf name="induction_pr" proved="true" >
  <goal name="If42.0" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="12"/></proof>
  </goal>
  <goal name="If42.1" proved="true">
  <proof prover="2"><result status="valid" time="0.01" steps="13"/></proof>
  </goal>
  <goal name="If42.2" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="11"/></proof>
  </goal>
  <goal name="If42.3" proved="true">
  <proof prover="2"><result status="valid" time="0.04" steps="199"/></proof>
  </goal>
  <goal name="If42.4" proved="true">
  <proof prover="10"><result status="valid" time="0.08"/></proof>
  </goal>
  <goal name="If42.5" proved="true">
  <proof prover="2"><result status="valid" time="0.01" steps="12"/></proof>
  </goal>
  <goal name="If42.6" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="15"/></proof>
  </goal>
  <goal name="If42.7" proved="true">
  <proof prover="2"><result status="valid" time="0.01" steps="15"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="TypingAndSemantics" proved="true">
 <goal name="type_inversion" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="type_inversion.0" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="68"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="eval_type_term" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_type_term.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="eval_type_term.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.06" steps="212"/></proof>
   </goal>
   <goal name="eval_type_term.0.1" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="69"/></proof>
   </goal>
   <goal name="eval_type_term.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.06" steps="143"/></proof>
   </goal>
   <goal name="eval_type_term.0.3" proved="true">
   <proof prover="1"><path name="blocking_semantics5_TypingAndSemantics_eval_type_term_1.v"/><result status="valid" time="0.36"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="type_preservation" proved="true">
 <transf name="induction_pr" proved="true" >
  <goal name="type_preservation.0" proved="true">
  <proof prover="2"><result status="valid" time="0.10" steps="278"/></proof>
  </goal>
  <goal name="type_preservation.1" proved="true">
  <proof prover="2"><result status="valid" time="0.11" steps="160"/></proof>
  </goal>
  <goal name="type_preservation.2" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="61"/></proof>
  </goal>
  <goal name="type_preservation.3" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="72"/></proof>
  </goal>
  <goal name="type_preservation.4" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="81"/></proof>
  </goal>
  <goal name="type_preservation.5" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="17"/></proof>
  </goal>
  <goal name="type_preservation.6" proved="true">
  <proof prover="2"><result status="valid" time="0.03" steps="123"/></proof>
  </goal>
  <goal name="type_preservation.7" proved="true">
  <proof prover="2"><result status="valid" time="0.02" steps="18"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="FreshVariables" proved="true">
 <goal name="Cons_append" proved="true">
 <proof prover="2"><result status="valid" time="0.02" steps="4"/></proof>
 </goal>
 <goal name="Append_nil_l" proved="true">
 <proof prover="2"><result status="valid" time="0.01" steps="4"/></proof>
 </goal>
 <goal name="eval_msubst_term" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_msubst_term.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="eval_msubst_term.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="12"/></proof>
   </goal>
   <goal name="eval_msubst_term.0.1" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="12"/></proof>
   </goal>
   <goal name="eval_msubst_term.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="32"/></proof>
   </goal>
   <goal name="eval_msubst_term.0.3" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="33"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="eval_msubst" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_msubst.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="eval_msubst.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="34"/></proof>
   </goal>
   <goal name="eval_msubst.0.1" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="35"/></proof>
   </goal>
   <goal name="eval_msubst.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="84"/></proof>
   </goal>
   <goal name="eval_msubst.0.3" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="92"/></proof>
   </goal>
   <goal name="eval_msubst.0.4" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="35"/></proof>
   </goal>
   <goal name="eval_msubst.0.5" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="37"/></proof>
   </goal>
   <goal name="eval_msubst.0.6" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="57"/></proof>
   </goal>
   <goal name="eval_msubst.0.7" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="90"/></proof>
   </goal>
   <goal name="eval_msubst.0.8" proved="true">
   <proof prover="2"><result status="valid" time="0.11" steps="424"/></proof>
   </goal>
   <goal name="eval_msubst.0.9" proved="true">
   <proof prover="2"><result status="valid" time="0.03" steps="114"/></proof>
   </goal>
   <goal name="eval_msubst.0.10" proved="true">
   <proof prover="2"><result status="valid" time="0.23" steps="1050"/></proof>
   </goal>
   <goal name="eval_msubst.0.11" proved="true">
   <proof prover="2"><result status="valid" time="0.06" steps="300"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="eval_swap_term" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_swap_term.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="eval_swap_term.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.01" steps="6"/></proof>
   </goal>
   <goal name="eval_swap_term.0.1" proved="true">
   <transf name="introduce_premises" proved="true" >
    <goal name="eval_swap_term.0.1.0" proved="true">
    <transf name="induction_arg_ty_lex" proved="true" arg1="l">
     <goal name="eval_swap_term.0.1.0.0" proved="true">
     <proof prover="2" timelimit="1"><result status="valid" time="0.18" steps="676"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="eval_swap_term.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="6"/></proof>
   </goal>
   <goal name="eval_swap_term.0.3" proved="true">
   <proof prover="2"><result status="valid" time="0.04" steps="66"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="eval_swap_gen" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_swap_gen.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="eval_swap_gen.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="48"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.1" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="48"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.03" steps="131"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.3" proved="true">
   <proof prover="2"><result status="valid" time="0.03" steps="131"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.4" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="52"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.5" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="52"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.6" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="63"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.7" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="63"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.8" proved="true">
   <proof prover="2"><result status="valid" time="0.04" steps="170"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.9" proved="true">
   <proof prover="2"><result status="valid" time="0.04" steps="170"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.10" proved="true">
   <proof prover="2"><result status="valid" time="3.34" steps="1591"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.11" proved="true">
   <proof prover="2"><result status="valid" time="3.31" steps="1591"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="eval_swap" proved="true">
 <proof prover="10"><result status="valid" time="0.10"/></proof>
 </goal>
 <goal name="eval_term_change_free" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_term_change_free.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="eval_term_change_free.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="6"/></proof>
   </goal>
   <goal name="eval_term_change_free.0.1" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="27"/></proof>
   </goal>
   <goal name="eval_term_change_free.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="6"/></proof>
   </goal>
   <goal name="eval_term_change_free.0.3" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="34"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="eval_change_free" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_change_free.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="eval_change_free.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="37"/></proof>
   </goal>
   <goal name="eval_change_free.0.1" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="31"/></proof>
   </goal>
   <goal name="eval_change_free.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.03" steps="136"/></proof>
   </goal>
   <goal name="eval_change_free.0.3" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="78"/></proof>
   </goal>
   <goal name="eval_change_free.0.4" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="41"/></proof>
   </goal>
   <goal name="eval_change_free.0.5" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="30"/></proof>
   </goal>
   <goal name="eval_change_free.0.6" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="114"/></proof>
   </goal>
   <goal name="eval_change_free.0.7" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="36"/></proof>
   </goal>
   <goal name="eval_change_free.0.8" proved="true">
   <proof prover="2"><result status="valid" time="0.05" steps="176"/></proof>
   </goal>
   <goal name="eval_change_free.0.9" proved="true">
   <proof prover="2"><result status="valid" time="0.03" steps="110"/></proof>
   </goal>
   <goal name="eval_change_free.0.10" proved="true">
   <transf name="introduce_premises" proved="true" >
    <goal name="eval_change_free.0.10.0" proved="true">
    <transf name="subst" proved="true" arg1="f">
     <goal name="eval_change_free.0.10.0.0" proved="true">
     <transf name="compute_in_goal" proved="true" >
      <goal name="eval_change_free.0.10.0.0.0" proved="true">
      <transf name="destruct_term" proved="true" arg1="x1">
       <goal name="eval_change_free.0.10.0.0.0.0" proved="true">
       <proof prover="7"><result status="valid" time="0.18" steps="30352"/></proof>
       </goal>
       <goal name="eval_change_free.0.10.0.0.0.1" proved="true">
       <proof prover="7"><result status="valid" time="0.13" steps="30056"/></proof>
       </goal>
       <goal name="eval_change_free.0.10.0.0.0.2" proved="true">
       <proof prover="7"><result status="valid" time="0.15" steps="21930"/></proof>
       </goal>
      </transf>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="eval_change_free.0.11" proved="true">
   <proof prover="2"><result status="valid" time="0.09" steps="445"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="HoareLogic" proved="true">
 <goal name="many_steps_seq" proved="true">
 <transf name="introduce_premises" proved="true" >
  <goal name="many_steps_seq.0" proved="true">
  <transf name="induction" proved="true" arg1="n">
   <goal name="many_steps_seq.0.0" expl="base case" proved="true">
   <proof prover="7"><result status="valid" time="0.08" steps="18957"/></proof>
   </goal>
   <goal name="many_steps_seq.0.1" expl="recursive case" proved="true">
   <transf name="inversion_arg_pr" proved="true" arg1="H">
    <goal name="many_steps_seq.0.1.0" expl="recursive case" proved="true">
    <proof prover="7"><result status="valid" time="0.06" steps="18984"/></proof>
    </goal>
    <goal name="many_steps_seq.0.1.1" expl="recursive case" proved="true">
    <transf name="simplify_trivial_quantification_in_goal" proved="true" >
     <goal name="many_steps_seq.0.1.1.0" expl="recursive case" proved="true">
     <transf name="introduce_premises" proved="true" >
      <goal name="many_steps_seq.0.1.1.0.0" expl="recursive case" proved="true">
      <transf name="inversion_arg_pr" proved="true" arg1="H2">
       <goal name="many_steps_seq.0.1.1.0.0.0" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.06" steps="19667"/></proof>
       </goal>
       <goal name="many_steps_seq.0.1.1.0.0.1" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.08" steps="21549"/></proof>
       </goal>
       <goal name="many_steps_seq.0.1.1.0.0.2" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.08" steps="19296"/></proof>
       </goal>
       <goal name="many_steps_seq.0.1.1.0.0.3" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.06" steps="19370"/></proof>
       </goal>
       <goal name="many_steps_seq.0.1.1.0.0.4" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.06" steps="19393"/></proof>
       </goal>
       <goal name="many_steps_seq.0.1.1.0.0.5" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.09" steps="19575"/></proof>
       </goal>
       <goal name="many_steps_seq.0.1.1.0.0.6" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.09" steps="19700"/></proof>
       </goal>
       <goal name="many_steps_seq.0.1.1.0.0.7" expl="recursive case" proved="true">
       <proof prover="7"><result status="valid" time="0.07" steps="19824"/></proof>
       </goal>
      </transf>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="consequence_rule" proved="true">
 <proof prover="3" timelimit="30"><result status="valid" time="0.24"/></proof>
 </goal>
 <goal name="skip_rule" proved="true">
 <proof prover="2"><result status="valid" time="0.07" steps="267"/></proof>
 </goal>
 <goal name="assign_rule" proved="true">
 <proof prover="2"><result status="valid" time="0.53" steps="1797"/></proof>
 </goal>
 <goal name="seq_rule" proved="true">
 <proof prover="2"><result status="valid" time="0.12" steps="408"/></proof>
 </goal>
 <goal name="if_rule" proved="true">
 <transf name="inline_all" proved="true" >
  <goal name="if_rule.0" proved="true">
  <transf name="induction_pr" proved="true" >
   <goal name="if_rule.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="13"/></proof>
   </goal>
   <goal name="if_rule.0.1" proved="true">
   <proof prover="10" timelimit="10" memlimit="4000"><result status="valid" time="3.10"/></proof>
   <transf name="inversion_pr" proved="true" >
    <goal name="if_rule.0.1.0" proved="true">
    <proof prover="10"><result status="valid" time="0.08"/></proof>
    </goal>
    <goal name="if_rule.0.1.1" proved="true">
    <proof prover="2"><result status="valid" time="0.02" steps="21"/></proof>
    </goal>
    <goal name="if_rule.0.1.2" proved="true">
    <proof prover="2"><result status="valid" time="0.02" steps="20"/></proof>
    </goal>
    <goal name="if_rule.0.1.3" proved="true">
    <proof prover="7"><result status="valid" time="0.11" steps="24534"/></proof>
    </goal>
    <goal name="if_rule.0.1.4" proved="true">
    <proof prover="7"><result status="valid" time="0.10" steps="24563"/></proof>
    </goal>
    <goal name="if_rule.0.1.5" proved="true">
    <proof prover="2"><result status="valid" time="0.02" steps="21"/></proof>
    </goal>
    <goal name="if_rule.0.1.6" proved="true">
    <proof prover="10"><result status="valid" time="0.06"/></proof>
    </goal>
    <goal name="if_rule.0.1.7" proved="true">
    <proof prover="2"><result status="valid" time="0.02" steps="24"/></proof>
    </goal>
   </transf>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="assert_rule" proved="true">
 <proof prover="2"><result status="valid" time="0.15" steps="516"/></proof>
 </goal>
 <goal name="assert_rule_ext" proved="true">
 <proof prover="2"><result status="valid" time="0.17" steps="833"/></proof>
 </goal>
 <goal name="while_rule" proved="true">
 <proof prover="1"><path name="blocking_semantics5_HoareLogic_while_rule_1.v"/><result status="valid" time="0.52"/></proof>
 </goal>
</theory>
<theory name="WP" proved="true">
 <goal name="monotonicity" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="monotonicity.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="monotonicity.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.03" steps="16"/></proof>
   </goal>
   <goal name="monotonicity.0.1" proved="true">
   <transf name="introduce_premises" proved="true" >
    <goal name="monotonicity.0.1.0" proved="true">
    <transf name="subst" proved="true" arg1="s">
     <goal name="monotonicity.0.1.0.0" proved="true">
     <transf name="unfold" proved="true" arg1="wp">
      <goal name="monotonicity.0.1.0.0.0" proved="true">
      <transf name="compute_specified" proved="true" >
       <goal name="monotonicity.0.1.0.0.0.0" proved="true">
       <transf name="unfold" proved="true" arg1="valid_fmla">
        <goal name="monotonicity.0.1.0.0.0.0.0" proved="true">
        <transf name="unfold" proved="true" arg1="valid_fmla" arg2="in" arg3="H">
         <goal name="monotonicity.0.1.0.0.0.0.0.0" proved="true">
         <transf name="unfold" proved="true" arg1="eval_fmla" arg2="in" arg3="H">
          <goal name="monotonicity.0.1.0.0.0.0.0.0.0" proved="true">
          <transf name="unfold" proved="true" arg1="eval_fmla">
           <goal name="monotonicity.0.1.0.0.0.0.0.0.0.0" proved="true">
           <transf name="compute_specified" proved="true" >
            <goal name="monotonicity.0.1.0.0.0.0.0.0.0.0.0" proved="true">
            <proof prover="7"><result status="valid" time="0.14" steps="33014"/></proof>
            </goal>
           </transf>
           </goal>
          </transf>
          </goal>
         </transf>
         </goal>
        </transf>
        </goal>
       </transf>
       </goal>
      </transf>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="monotonicity.0.2" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="67"/></proof>
   </goal>
   <goal name="monotonicity.0.3" proved="true">
   <proof prover="3"><result status="valid" time="0.24"/></proof>
   </goal>
   <goal name="monotonicity.0.4" proved="true">
   <proof prover="3"><result status="valid" time="0.09"/></proof>
   </goal>
   <goal name="monotonicity.0.5" proved="true">
   <proof prover="1"><path name="blocking_semantics5_WP_monotonicity_3.v"/><result status="valid" time="0.36"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="distrib_conj" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="distrib_conj.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="distrib_conj.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.03" steps="28"/></proof>
   </goal>
   <goal name="distrib_conj.0.1" proved="true">
   <proof prover="2"><result status="valid" time="0.23" steps="1153"/></proof>
   </goal>
   <goal name="distrib_conj.0.2" proved="true">
   <transf name="introduce_premises" proved="true" >
    <goal name="distrib_conj.0.2.0" proved="true">
    <transf name="assert" proved="true" arg1="(valid_fmla (Fimplies (Fand (wp x p) (wp x q)) (wp x (Fand p q))))">
     <goal name="distrib_conj.0.2.0.0" expl="asserted formula" proved="true">
     <proof prover="7"><result status="valid" time="0.13" steps="28780"/></proof>
     </goal>
     <goal name="distrib_conj.0.2.0.1" proved="true">
     <transf name="instantiate" proved="true" arg1="monotonicity" arg2="x1,(Fand (wp x p) (wp x q)),(wp x (Fand p q))">
      <goal name="distrib_conj.0.2.0.1.0" proved="true">
      <proof prover="4"><result status="valid" time="0.35"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="distrib_conj.0.3" proved="true">
   <proof prover="2"><result status="valid" time="0.06" steps="303"/></proof>
   </goal>
   <goal name="distrib_conj.0.4" proved="true">
   <proof prover="2"><result status="valid" time="0.04" steps="175"/></proof>
   </goal>
   <goal name="distrib_conj.0.5" proved="true">
   <proof prover="1"><path name="blocking_semantics5_WP_distrib_conj_3.v"/><result status="valid" time="0.41"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="wp_preserved_by_reduction" proved="true">
 <transf name="induction_pr" proved="true" >
  <goal name="wp_preserved_by_reduction.0" proved="true">
  <proof prover="2" timelimit="10" memlimit="4000"><result status="valid" time="2.92" steps="3551"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.1" proved="true">
  <proof prover="7"><result status="valid" time="0.09" steps="26480"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.2" proved="true">
  <proof prover="7"><result status="valid" time="0.10" steps="25225"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.3" proved="true">
  <proof prover="7"><result status="valid" time="0.10" steps="26676"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.4" proved="true">
  <proof prover="7"><result status="valid" time="0.11" steps="26733"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.5" proved="true">
  <proof prover="7"><result status="valid" time="0.12" steps="26920"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.6" proved="true">
  <proof prover="7"><result status="valid" time="0.46" steps="81415"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.7" proved="true">
  <proof prover="7"><result status="valid" time="0.42" steps="73140"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="progress" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="progress.0" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="progress.0.0" proved="true">
   <proof prover="2"><result status="valid" time="0.02" steps="11"/></proof>
   </goal>
   <goal name="progress.0.1" proved="true">
   <proof prover="1"><path name="blocking_semantics5_WP_progress_1.v"/><result status="valid" time="0.34"/></proof>
   <proof prover="10"><result status="valid" time="0.20"/></proof>
   </goal>
   <goal name="progress.0.2" proved="true">
   <transf name="introduce_premises" proved="true" >
    <goal name="progress.0.2.0" proved="true">
    <transf name="case" proved="true" arg1="(x1 = Sskip)">
     <goal name="progress.0.2.0.0" expl="true case" proved="true">
     <proof prover="5"><result status="valid" time="0.15"/></proof>
     </goal>
     <goal name="progress.0.2.0.1" expl="false case" proved="true">
     <transf name="inversion_arg_pr" proved="true" arg1="H2">
      <goal name="progress.0.2.0.1.0" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.07" steps="23529"/></proof>
      </goal>
      <goal name="progress.0.2.0.1.1" expl="false case" proved="true">
      <transf name="introduce_premises" proved="true" >
       <goal name="progress.0.2.0.1.1.0" expl="false case" proved="true">
       <transf name="instantiate" proved="true" arg1="H8" arg2="sigma1,pi1,sigmat,pit,(wp s2 q)">
        <goal name="progress.0.2.0.1.1.0.0" expl="false case" proved="true">
        <proof prover="4"><result status="valid" time="1.98"/></proof>
        </goal>
       </transf>
       </goal>
      </transf>
      </goal>
      <goal name="progress.0.2.0.1.2" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.08" steps="25727"/></proof>
      </goal>
      <goal name="progress.0.2.0.1.3" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.10" steps="26234"/></proof>
      </goal>
      <goal name="progress.0.2.0.1.4" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.11" steps="25610"/></proof>
      </goal>
      <goal name="progress.0.2.0.1.5" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.10" steps="26418"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="progress.0.3" proved="true">
   <proof prover="1"><path name="blocking_semantics5_WP_progress_3.v"/><result status="valid" time="0.45"/></proof>
   <proof prover="10" timelimit="10" memlimit="4000"><result status="valid" time="4.62"/></proof>
   </goal>
   <goal name="progress.0.4" proved="true">
   <proof prover="2"><result status="valid" time="0.05" steps="179"/></proof>
   </goal>
   <goal name="progress.0.5" proved="true">
   <proof prover="1"><path name="blocking_semantics5_WP_progress_5.v"/><result status="valid" time="0.42"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="wp_soundness" proved="true">
 <proof prover="1" timelimit="30"><path name="blocking_semantics5_WP_wp_soundness_1.v"/><result status="valid" time="0.44"/></proof>
 </goal>
</theory>
</file>
</why3session>
