<?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="CVC4" version="1.7" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="1" name="CVC4" version="1.4" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="Z3" version="4.11.2" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="3" name="CVC4" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="4" name="Alt-Ergo" version="2.1.0" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="5" name="Coq" version="8.11.2" timelimit="3" steplimit="0" memlimit="0"/>
<prover id="8" name="Eprover" version="1.8-001" timelimit="30" steplimit="0" memlimit="4000"/>
<file format="whyml" proved="true">
<path name=".."/><path name="wp2.mlw"/>
<theory name="Imp" proved="true">
 <goal name="eval_subst_term" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_subst_term.0" proved="true">
  <proof prover="4"><result status="valid" time="0.020000" steps="155"/></proof>
  </goal>
 </transf>
 </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">
  <proof prover="4"><result status="valid" time="0.010000" steps="89"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="eval_subst" proved="true">
 <transf name="induction_ty_lex" proved="true" >
  <goal name="eval_subst.0" proved="true">
  <proof prover="4"><result status="valid" time="0.120000" steps="807"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="eval_swap" proved="true">
 <proof prover="2"><result status="valid" time="0.010000" steps="14735"/></proof>
 </goal>
 <goal name="eval_change_free" proved="true">
 <proof prover="5" timelimit="5"><path name="wp2_Imp_eval_change_free_1.v"/><result status="valid" time="0.380000"/></proof>
 </goal>
 <goal name="check_skip" proved="true">
 <proof prover="4"><result status="valid" time="0.010000" steps="2"/></proof>
 </goal>
 <goal name="steps_non_neg" proved="true">
 <transf name="induction_pr" proved="true" >
  <goal name="steps_non_neg.0" proved="true">
  <proof prover="4"><result status="valid" time="0.020000" steps="16"/></proof>
  </goal>
  <goal name="steps_non_neg.1" proved="true">
  <proof prover="1"><result status="valid" time="0.040000"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="many_steps_seq" proved="true">
 <proof prover="5"><path name="wp2_Imp_many_steps_seq_1.v"/><result status="valid" time="0.400000"/></proof>
 </goal>
</theory>
<theory name="TestSemantics" proved="true">
 <goal name="Test13" proved="true">
 <proof prover="4"><result status="valid" time="0.020000" steps="4"/></proof>
 </goal>
 <goal name="Test42" proved="true">
 <proof prover="4"><result status="valid" time="0.020000" steps="20"/></proof>
 </goal>
 <goal name="Test0" proved="true">
 <proof prover="4"><result status="valid" time="0.020000" steps="20"/></proof>
 </goal>
 <goal name="Test55" proved="true">
 <proof prover="1"><result status="valid" time="0.050000"/></proof>
 </goal>
 <goal name="Ass42" proved="true">
 <proof prover="4"><result status="valid" time="0.050000" steps="174"/></proof>
 </goal>
 <goal name="If42" proved="true">
 <transf name="inversion_pr" proved="true" >
  <goal name="If42.0" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="20"/></proof>
  </goal>
  <goal name="If42.1" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="22"/></proof>
  </goal>
  <goal name="If42.2" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="20"/></proof>
  </goal>
  <goal name="If42.3" proved="true">
  <proof prover="4"><result status="valid" time="0.090000" steps="398"/></proof>
  </goal>
  <goal name="If42.4" proved="true">
  <proof prover="1"><result status="valid" time="0.130000"/></proof>
  </goal>
  <goal name="If42.5" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="22"/></proof>
  </goal>
  <goal name="If42.6" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="24"/></proof>
  </goal>
  <goal name="If42.7" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="24"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="HoareLogic" proved="true">
 <goal name="consequence_rule" proved="true">
 <transf name="introduce_premises" proved="true" >
  <goal name="consequence_rule.0" proved="true">
  <transf name="inline_goal" proved="true" >
   <goal name="consequence_rule.0.0" proved="true">
   <proof prover="8"><result status="valid" time="0.080000"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="skip_rule" proved="true">
 <proof prover="4"><result status="valid" time="0.080000" steps="1090"/></proof>
 </goal>
 <goal name="assign_rule" proved="true">
 <proof prover="4"><result status="valid" time="1.947640" steps="11998"/></proof>
 </goal>
 <goal name="seq_rule" proved="true">
 <proof prover="4"><result status="valid" time="0.020000" steps="115"/></proof>
 </goal>
 <goal name="if_rule" proved="true">
 <proof prover="5"><path name="wp2_HoareLogic_if_rule_1.v"/><result status="valid" time="0.480000"/></proof>
 </goal>
 <goal name="assert_rule" proved="true">
 <proof prover="4"><result status="valid" time="0.673363" steps="3607"/></proof>
 </goal>
 <goal name="assert_rule_ext" proved="true">
 <proof prover="4"><result status="valid" time="0.880680" steps="5670"/></proof>
 </goal>
 <goal name="while_rule" proved="true">
 <proof prover="5"><path name="wp2_HoareLogic_while_rule_1.v"/><result status="valid" time="0.480000"/></proof>
 </goal>
 <goal name="while_rule_ext" proved="true">
 <proof prover="5"><path name="wp2_HoareLogic_while_rule_ext_1.v"/><result status="valid" time="0.500000"/></proof>
 </goal>
</theory>
<theory name="WP" proved="true">
 <goal name="S.eq&#39;refn&#39;vc" expl="VC for eq&#39;refn" proved="true">
 <proof prover="3"><result status="valid" time="0.050000" steps="17256"/></proof>
 </goal>
 <goal name="assigns_refl" proved="true">
 <proof prover="4"><result status="valid" time="0.020000" steps="4"/></proof>
 </goal>
 <goal name="assigns_trans" proved="true">
 <proof prover="4"><result status="valid" time="0.020000" steps="18"/></proof>
 </goal>
 <goal name="assigns_union_left" proved="true">
 <proof prover="4"><result status="valid" time="0.030000" steps="18"/></proof>
 </goal>
 <goal name="assigns_union_right" proved="true">
 <proof prover="4"><result status="valid" time="0.020000" steps="20"/></proof>
 </goal>
 <goal name="compute_writes&#39;vc" expl="VC for compute_writes" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="compute_writes&#39;vc.0" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.040000" steps="66"/></proof>
  </goal>
  <goal name="compute_writes&#39;vc.1" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.040000" steps="66"/></proof>
  </goal>
  <goal name="compute_writes&#39;vc.2" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="73"/></proof>
  </goal>
  <goal name="compute_writes&#39;vc.3" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="73"/></proof>
  </goal>
  <goal name="compute_writes&#39;vc.4" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="73"/></proof>
  </goal>
  <goal name="compute_writes&#39;vc.5" expl="postcondition" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="compute_writes&#39;vc.5.0" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.090000" steps="263"/></proof>
   </goal>
   <goal name="compute_writes&#39;vc.5.1" expl="postcondition" proved="true">
   <proof prover="2"><result status="valid" time="0.040000" steps="135644"/></proof>
   </goal>
   <goal name="compute_writes&#39;vc.5.2" expl="postcondition" proved="true">
   <proof prover="4" timelimit="1"><result status="valid" time="0.130000" steps="124"/></proof>
   </goal>
   <goal name="compute_writes&#39;vc.5.3" expl="postcondition" proved="true">
   <proof prover="0"><result status="valid" time="0.130000" steps="26624"/></proof>
   </goal>
   <goal name="compute_writes&#39;vc.5.4" expl="postcondition" proved="true">
   <proof prover="5" timelimit="0"><path name="wp2_WP_VC_compute_writes_2.v"/><result status="valid" time="0.585843"/></proof>
   </goal>
   <goal name="compute_writes&#39;vc.5.5" expl="postcondition" proved="true">
   <proof prover="2" timelimit="5"><result status="valid" time="0.020000" steps="75694"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="wp&#39;vc" expl="VC for wp" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="wp&#39;vc.0" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.040000" steps="66"/></proof>
  </goal>
  <goal name="wp&#39;vc.1" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.040000" steps="75"/></proof>
  </goal>
  <goal name="wp&#39;vc.2" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.030000" steps="73"/></proof>
  </goal>
  <goal name="wp&#39;vc.3" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.040000" steps="82"/></proof>
  </goal>
  <goal name="wp&#39;vc.4" expl="variant decrease" proved="true">
  <proof prover="4"><result status="valid" time="0.040000" steps="73"/></proof>
  </goal>
  <goal name="wp&#39;vc.5" expl="postcondition" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="wp&#39;vc.5.0" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.020000" steps="8"/></proof>
   </goal>
   <goal name="wp&#39;vc.5.1" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.010000" steps="14"/></proof>
   </goal>
   <goal name="wp&#39;vc.5.2" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.020000" steps="14"/></proof>
   </goal>
   <goal name="wp&#39;vc.5.3" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.330000" steps="2790"/></proof>
   </goal>
   <goal name="wp&#39;vc.5.4" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.020000" steps="10"/></proof>
   </goal>
   <goal name="wp&#39;vc.5.5" expl="postcondition" proved="true">
   <proof prover="5" timelimit="0"><path name="wp2_WP_VC_wp_1.v"/><result status="valid" time="0.480000"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
</theory>
</file>
</why3session>
