<?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="0" name="Alt-Ergo" version="2.1.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="1" name="Coq" version="8.11.2" 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="0"><result status="valid" time="0.000000" steps="2"/></proof>
 </goal>
 <goal name="ident_decide" proved="true">
 <proof prover="0"><result status="valid" time="0.000000" steps="2"/></proof>
 </goal>
 <goal name="decide_is_skip" proved="true">
 <proof prover="0"><result status="valid" time="0.000000" steps="4"/></proof>
 </goal>
</theory>
<theory name="SemOp" proved="true">
 <goal name="get_stack_eq" proved="true">
 <proof prover="0"><result status="valid" time="0.000000" steps="6"/></proof>
 </goal>
 <goal name="get_stack_neq" proved="true">
 <proof prover="0"><result status="valid" time="0.010000" steps="8"/></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.310000"/></proof>
 </goal>
</theory>
<theory name="TestSemantics" proved="true">
 <goal name="Test13" proved="true">
 <proof prover="0"><result status="valid" time="0.010000" steps="6"/></proof>
 </goal>
 <goal name="Test42" proved="true">
 <proof prover="0"><result status="valid" time="0.020000" steps="6"/></proof>
 </goal>
 <goal name="Test0" proved="true">
 <proof prover="0"><result status="valid" time="0.010000" steps="32"/></proof>
 </goal>
 <goal name="Test55" proved="true">
 <proof prover="10"><result status="valid" time="0.040000"/></proof>
 </goal>
 <goal name="Ass42" proved="true">
 <proof prover="0"><result status="valid" time="0.030000" steps="199"/></proof>
 </goal>
 <goal name="If42" proved="true">
 <transf name="induction_pr" proved="true" >
  <goal name="If42.0" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="22"/></proof>
  </goal>
  <goal name="If42.1" proved="true">
  <proof prover="0"><result status="valid" time="0.010000" steps="23"/></proof>
  </goal>
  <goal name="If42.2" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="20"/></proof>
  </goal>
  <goal name="If42.3" proved="true">
  <proof prover="0"><result status="valid" time="0.040000" steps="425"/></proof>
  </goal>
  <goal name="If42.4" proved="true">
  <proof prover="10"><result status="valid" time="0.080000"/></proof>
  </goal>
  <goal name="If42.5" proved="true">
  <proof prover="0"><result status="valid" time="0.010000" steps="22"/></proof>
  </goal>
  <goal name="If42.6" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="24"/></proof>
  </goal>
  <goal name="If42.7" proved="true">
  <proof prover="0"><result status="valid" time="0.010000" steps="24"/></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="0"><result status="valid" time="0.020000" steps="81"/></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="0"><result status="valid" time="0.060000" steps="311"/></proof>
   </goal>
   <goal name="eval_type_term.0.1" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="158"/></proof>
   </goal>
   <goal name="eval_type_term.0.2" proved="true">
   <proof prover="0"><result status="valid" time="0.060000" steps="319"/></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.531763"/></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="0"><result status="valid" time="0.100000" steps="214"/></proof>
  </goal>
  <goal name="type_preservation.1" proved="true">
  <proof prover="0"><result status="valid" time="0.110000" steps="311"/></proof>
  </goal>
  <goal name="type_preservation.2" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="96"/></proof>
  </goal>
  <goal name="type_preservation.3" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="160"/></proof>
  </goal>
  <goal name="type_preservation.4" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="161"/></proof>
  </goal>
  <goal name="type_preservation.5" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="32"/></proof>
  </goal>
  <goal name="type_preservation.6" proved="true">
  <proof prover="0"><result status="valid" time="0.030000" steps="240"/></proof>
  </goal>
  <goal name="type_preservation.7" proved="true">
  <proof prover="0"><result status="valid" time="0.020000" steps="34"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="FreshVariables" proved="true">
 <goal name="Cons_append" proved="true">
 <proof prover="0"><result status="valid" time="0.020000" steps="6"/></proof>
 </goal>
 <goal name="Append_nil_l" proved="true">
 <proof prover="0"><result status="valid" time="0.010000" steps="6"/></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="0"><result status="valid" time="0.020000" steps="25"/></proof>
   </goal>
   <goal name="eval_msubst_term.0.1" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="27"/></proof>
   </goal>
   <goal name="eval_msubst_term.0.2" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="50"/></proof>
   </goal>
   <goal name="eval_msubst_term.0.3" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" 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="0"><result status="valid" time="0.020000" steps="32"/></proof>
   </goal>
   <goal name="eval_msubst.0.1" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="32"/></proof>
   </goal>
   <goal name="eval_msubst.0.2" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="80"/></proof>
   </goal>
   <goal name="eval_msubst.0.3" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="38"/></proof>
   </goal>
   <goal name="eval_msubst.0.4" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="32"/></proof>
   </goal>
   <goal name="eval_msubst.0.5" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="32"/></proof>
   </goal>
   <goal name="eval_msubst.0.6" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="38"/></proof>
   </goal>
   <goal name="eval_msubst.0.7" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="80"/></proof>
   </goal>
   <goal name="eval_msubst.0.8" proved="true">
   <proof prover="0"><result status="valid" time="0.110000" steps="170"/></proof>
   </goal>
   <goal name="eval_msubst.0.9" proved="true">
   <proof prover="0"><result status="valid" time="0.030000" steps="174"/></proof>
   </goal>
   <goal name="eval_msubst.0.10" proved="true">
   <proof prover="0"><result status="valid" time="0.230000" steps="1595"/></proof>
   </goal>
   <goal name="eval_msubst.0.11" proved="true">
   <proof prover="0"><result status="valid" time="0.060000" steps="695"/></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="0"><result status="valid" time="0.010000" steps="10"/></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="0" timelimit="1"><result status="valid" time="0.180000" steps="447"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="eval_swap_term.0.2" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="10"/></proof>
   </goal>
   <goal name="eval_swap_term.0.3" proved="true">
   <proof prover="0"><result status="valid" time="0.040000" steps="70"/></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="0"><result status="valid" time="0.020000" steps="72"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.1" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="72"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.2" proved="true">
   <proof prover="0"><result status="valid" time="0.030000" steps="75"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.3" proved="true">
   <proof prover="0"><result status="valid" time="0.030000" steps="75"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.4" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="72"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.5" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="72"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.6" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="75"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.7" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="75"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.8" proved="true">
   <proof prover="0"><result status="valid" time="0.040000" steps="196"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.9" proved="true">
   <proof prover="0"><result status="valid" time="0.040000" steps="196"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.10" proved="true">
   <proof prover="0"><result status="valid" time="0.330000" steps="1200"/></proof>
   </goal>
   <goal name="eval_swap_gen.0.11" proved="true">
   <proof prover="0"><result status="valid" time="0.330000" steps="1200"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="eval_swap" proved="true">
 <proof prover="10"><result status="valid" time="0.100000"/></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="0"><result status="valid" time="0.020000" steps="10"/></proof>
   </goal>
   <goal name="eval_term_change_free.0.1" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="37"/></proof>
   </goal>
   <goal name="eval_term_change_free.0.2" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="10"/></proof>
   </goal>
   <goal name="eval_term_change_free.0.3" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="43"/></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="0"><result status="valid" time="0.020000" steps="43"/></proof>
   </goal>
   <goal name="eval_change_free.0.1" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="43"/></proof>
   </goal>
   <goal name="eval_change_free.0.2" proved="true">
   <proof prover="0"><result status="valid" time="0.030000" steps="48"/></proof>
   </goal>
   <goal name="eval_change_free.0.3" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="93"/></proof>
   </goal>
   <goal name="eval_change_free.0.4" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="43"/></proof>
   </goal>
   <goal name="eval_change_free.0.5" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="43"/></proof>
   </goal>
   <goal name="eval_change_free.0.6" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="91"/></proof>
   </goal>
   <goal name="eval_change_free.0.7" proved="true">
   <proof prover="0"><result status="valid" time="0.020000" steps="48"/></proof>
   </goal>
   <goal name="eval_change_free.0.8" proved="true">
   <proof prover="0"><result status="valid" time="0.050000" steps="126"/></proof>
   </goal>
   <goal name="eval_change_free.0.9" proved="true">
   <proof prover="0"><result status="valid" time="0.030000" steps="126"/></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.180000" steps="30031"/></proof>
       </goal>
       <goal name="eval_change_free.0.10.0.0.0.1" proved="true">
       <proof prover="7"><result status="valid" time="0.130000" steps="29695"/></proof>
       </goal>
       <goal name="eval_change_free.0.10.0.0.0.2" proved="true">
       <proof prover="7"><result status="valid" time="0.150000" steps="21555"/></proof>
       </goal>
      </transf>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="eval_change_free.0.11" proved="true">
   <proof prover="0"><result status="valid" time="0.090000" steps="683"/></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.080000" steps="18534"/></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.060000" steps="18578"/></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.060000" steps="19244"/></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.080000" steps="21155"/></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.080000" steps="18869"/></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.060000" steps="18948"/></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.060000" steps="18974"/></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.090000" steps="19151"/></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.090000" steps="19278"/></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.070000" steps="19407"/></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.240000"/></proof>
 </goal>
 <goal name="skip_rule" proved="true">
 <proof prover="0"><result status="valid" time="0.070000" steps="1052"/></proof>
 </goal>
 <goal name="assign_rule" proved="true">
 <proof prover="0"><result status="valid" time="1.406351" steps="6215"/></proof>
 </goal>
 <goal name="seq_rule" proved="true">
 <proof prover="0"><result status="valid" time="0.120000" steps="117"/></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="0"><result status="valid" time="0.020000" steps="22"/></proof>
   </goal>
   <goal name="if_rule.0.1" proved="true">
   <proof prover="10" timelimit="10" memlimit="4000"><result status="valid" time="3.153216"/></proof>
   <transf name="inversion_pr" proved="true" >
    <goal name="if_rule.0.1.0" proved="true">
    <proof prover="10"><result status="valid" time="0.080000"/></proof>
    </goal>
    <goal name="if_rule.0.1.1" proved="true">
    <proof prover="0"><result status="valid" time="0.020000" steps="38"/></proof>
    </goal>
    <goal name="if_rule.0.1.2" proved="true">
    <proof prover="0"><result status="valid" time="0.020000" steps="36"/></proof>
    </goal>
    <goal name="if_rule.0.1.3" proved="true">
    <proof prover="7"><result status="valid" time="0.110000" steps="24161"/></proof>
    </goal>
    <goal name="if_rule.0.1.4" proved="true">
    <proof prover="7"><result status="valid" time="0.100000" steps="24168"/></proof>
    </goal>
    <goal name="if_rule.0.1.5" proved="true">
    <proof prover="0"><result status="valid" time="0.020000" steps="38"/></proof>
    </goal>
    <goal name="if_rule.0.1.6" proved="true">
    <proof prover="10"><result status="valid" time="0.060000"/></proof>
    </goal>
    <goal name="if_rule.0.1.7" proved="true">
    <proof prover="0"><result status="valid" time="0.020000" steps="40"/></proof>
    </goal>
   </transf>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="assert_rule" proved="true">
 <proof prover="0"><result status="valid" time="0.450000" steps="3273"/></proof>
 </goal>
 <goal name="assert_rule_ext" proved="true">
 <proof prover="0"><result status="valid" time="0.786287" steps="4995"/></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.520000"/></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="0"><result status="valid" time="0.030000" steps="18"/></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.140000" steps="32608"/></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="0"><result status="valid" time="0.020000" steps="54"/></proof>
   </goal>
   <goal name="monotonicity.0.3" proved="true">
   <proof prover="3"><result status="valid" time="0.240000"/></proof>
   </goal>
   <goal name="monotonicity.0.4" proved="true">
   <proof prover="3"><result status="valid" time="0.090000"/></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.522885"/></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="0"><result status="valid" time="0.030000" steps="42"/></proof>
   </goal>
   <goal name="distrib_conj.0.1" proved="true">
   <proof prover="0"><result status="valid" time="0.230000" steps="1142"/></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.130000" steps="28375"/></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.350000"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
   <goal name="distrib_conj.0.3" proved="true">
   <proof prover="0"><result status="valid" time="0.060000" steps="357"/></proof>
   </goal>
   <goal name="distrib_conj.0.4" proved="true">
   <proof prover="0"><result status="valid" time="0.040000" steps="176"/></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.410000"/></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="0" timelimit="10" memlimit="4000"><result status="valid" time="0.050000" steps="202"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.1" proved="true">
  <proof prover="7"><result status="valid" time="0.090000" steps="26054"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.2" proved="true">
  <proof prover="7"><result status="valid" time="0.100000" steps="24777"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.3" proved="true">
  <proof prover="7"><result status="valid" time="0.100000" steps="26249"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.4" proved="true">
  <proof prover="7"><result status="valid" time="0.110000" steps="26296"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.5" proved="true">
  <proof prover="7"><result status="valid" time="0.120000" steps="26489"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.6" proved="true">
  <proof prover="7"><result status="valid" time="0.460000" steps="80998"/></proof>
  </goal>
  <goal name="wp_preserved_by_reduction.7" proved="true">
  <proof prover="7"><result status="valid" time="0.420000" steps="72703"/></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="0"><result status="valid" time="0.020000" steps="20"/></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.510701"/></proof>
   <proof prover="10"><result status="valid" time="0.200000"/></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.150000"/></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.070000" steps="23266"/></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.932631"/></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.080000" steps="25273"/></proof>
      </goal>
      <goal name="progress.0.2.0.1.3" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.100000" steps="25780"/></proof>
      </goal>
      <goal name="progress.0.2.0.1.4" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.110000" steps="25156"/></proof>
      </goal>
      <goal name="progress.0.2.0.1.5" expl="false case" proved="true">
      <proof prover="7"><result status="valid" time="0.100000" steps="25964"/></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.450000"/></proof>
   <proof prover="10" timelimit="10" memlimit="4000"><result status="valid" time="4.335140"/></proof>
   </goal>
   <goal name="progress.0.4" proved="true">
   <proof prover="0"><result status="valid" time="0.050000" steps="141"/></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.420000"/></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.602037"/></proof>
 </goal>
</theory>
</file>
</why3session>
