<?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.4" timelimit="5" steplimit="0" memlimit="4000"/>
<prover id="1" name="CVC4" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="Z3" version="4.4.1" alternative="noBV" timelimit="5" steplimit="0" memlimit="4000"/>
<prover id="4" name="CVC4" version="1.4" alternative="noBV" timelimit="5" steplimit="0" memlimit="4000"/>
<prover id="5" name="Z3" version="4.4.1" timelimit="5" steplimit="0" memlimit="4000"/>
<prover id="6" name="Alt-Ergo" version="2.0.0" timelimit="6" steplimit="0" memlimit="4000"/>
<file format="whyml" proved="true">
<path name=".."/><path name="bitcount.mlw"/>
<theory name="BitCount8bit_fact" proved="true">
 <goal name="nth_as_bv_is_int" proved="true">
 <proof prover="0"><result status="valid" time="0.05"/></proof>
 <proof prover="4"><result status="valid" time="0.08"/></proof>
 <proof prover="6" timelimit="5"><result status="valid" time="0.16" steps="166"/></proof>
 </goal>
 <goal name="step1&#39;vc" expl="VC for step1" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="step1&#39;vc.0" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="step1&#39;vc.0.0" expl="assertion" proved="true">
   <proof prover="5" memlimit="1000"><result status="valid" time="0.02"/></proof>
   </goal>
   <goal name="step1&#39;vc.0.1" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.56"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="step1&#39;vc.1" expl="postcondition" proved="true">
  <proof prover="6" timelimit="5"><result status="valid" time="0.20" steps="193"/></proof>
  </goal>
  <goal name="step1&#39;vc.2" expl="postcondition" proved="true">
  <proof prover="6"><result status="valid" time="0.03" steps="122"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="step2&#39;vc" expl="VC for step2" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="step2&#39;vc.0" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="78"/></proof>
  </goal>
  <goal name="step2&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.02" steps="80"/></proof>
  </goal>
  <goal name="step2&#39;vc.2" expl="precondition" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="step2&#39;vc.2.0" expl="VC for step2" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   <proof prover="2"><result status="valid" time="0.02"/></proof>
   <proof prover="4"><result status="valid" time="0.07"/></proof>
   <proof prover="5"><result status="valid" time="0.02"/></proof>
   <proof prover="6"><result status="valid" time="0.05" steps="81"/></proof>
   </goal>
   <goal name="step2&#39;vc.2.1" expl="VC for step2" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   <proof prover="2"><result status="valid" time="0.02"/></proof>
   <proof prover="4"><result status="valid" time="0.07"/></proof>
   <proof prover="5"><result status="valid" time="0.02"/></proof>
   <proof prover="6"><result status="valid" time="0.04" steps="81"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="step2&#39;vc.3" expl="precondition" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="step2&#39;vc.3.0" expl="precondition" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   <proof prover="2"><result status="valid" time="0.01"/></proof>
   <proof prover="4"><result status="valid" time="0.07"/></proof>
   <proof prover="5"><result status="valid" time="0.02"/></proof>
   <proof prover="6"><result status="valid" time="0.02" steps="83"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="step2&#39;vc.4" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="step2&#39;vc.4.0" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.11"/></proof>
   <proof prover="2"><result status="valid" time="0.47"/></proof>
   <proof prover="4"><result status="valid" time="0.10"/></proof>
   <proof prover="6"><result status="valid" time="0.10" steps="104"/></proof>
   </goal>
   <goal name="step2&#39;vc.4.1" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.16"/></proof>
   <proof prover="6"><result status="valid" time="0.10" steps="152"/></proof>
   </goal>
   <goal name="step2&#39;vc.4.2" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.12"/></proof>
   <proof prover="5"><result status="valid" time="0.07"/></proof>
   <proof prover="6"><result status="valid" time="0.73" steps="251"/></proof>
   </goal>
   <goal name="step2&#39;vc.4.3" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   </goal>
   <goal name="step2&#39;vc.4.4" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="2.73"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="step2&#39;vc.5" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="4"><result status="valid" time="0.12"/></proof>
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  <proof prover="6" timelimit="5" memlimit="1000"><result status="valid" time="2.70" steps="1399"/></proof>
  </goal>
  <goal name="step2&#39;vc.6" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.10"/></proof>
  <proof prover="4"><result status="valid" time="0.12"/></proof>
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  <proof prover="6"><result status="valid" time="0.08" steps="577"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="prove&#39;vc" expl="VC for prove" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="prove&#39;vc.0" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.03"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.04"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="79"/></proof>
  </goal>
  <goal name="prove&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.01"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="81"/></proof>
  </goal>
  <goal name="prove&#39;vc.2" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="81"/></proof>
  </goal>
  <goal name="prove&#39;vc.3" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.03"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.04"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="81"/></proof>
  </goal>
  <goal name="prove&#39;vc.4" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.03"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="83"/></proof>
  </goal>
  <goal name="prove&#39;vc.5" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="83"/></proof>
  </goal>
  <goal name="prove&#39;vc.6" expl="assertion" proved="true">
  <proof prover="4"><result status="valid" time="0.10"/></proof>
  <proof prover="6"><result status="valid" time="0.12" steps="153"/></proof>
  </goal>
  <goal name="prove&#39;vc.7" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.20"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="count&#39;vc" expl="VC for count" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="count&#39;vc.0" expl="precondition" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="count&#39;vc.0.0" expl="precondition" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   <proof prover="2"><result status="valid" time="0.02"/></proof>
   <proof prover="4"><result status="valid" time="0.07"/></proof>
   <proof prover="5"><result status="valid" time="0.01"/></proof>
   <proof prover="6"><result status="valid" time="0.04" steps="79"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="count&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="79"/></proof>
  </goal>
  <goal name="count&#39;vc.2" expl="precondition" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="count&#39;vc.2.0" expl="precondition" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   <proof prover="2"><result status="valid" time="0.02"/></proof>
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   <proof prover="5"><result status="valid" time="0.02"/></proof>
   <proof prover="6"><result status="valid" time="0.05" steps="79"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="count&#39;vc.3" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.05"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="76"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="BitCounting32" proved="true">
 <goal name="proof0&#39;vc" expl="VC for proof0" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="proof0&#39;vc.0" expl="assertion" proved="true">
  <proof prover="6"><result status="valid" time="0.03" steps="90"/></proof>
  </goal>
  <goal name="proof0&#39;vc.1" expl="assertion" proved="true">
  <proof prover="6"><result status="valid" time="0.04" steps="83"/></proof>
  </goal>
  <goal name="proof0&#39;vc.2" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="proof0&#39;vc.2.0" expl="VC for proof0" proved="true">
   <transf name="introduce_premises" proved="true" >
    <goal name="proof0&#39;vc.2.0.0" expl="VC for proof0" proved="true">
    <proof prover="0"><result status="valid" time="0.19"/></proof>
    </goal>
   </transf>
   </goal>
   <goal name="proof0&#39;vc.2.1" expl="VC for proof0" proved="true">
   <proof prover="4"><result status="valid" time="0.12"/></proof>
   <proof prover="6"><result status="valid" time="0.02" steps="116"/></proof>
   </goal>
   <goal name="proof0&#39;vc.2.2" expl="VC for proof0" proved="true">
   <proof prover="4"><result status="valid" time="0.12"/></proof>
   <proof prover="5"><result status="valid" time="0.02"/></proof>
   <proof prover="6"><result status="valid" time="0.16" steps="352"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="proof0&#39;vc.3" expl="postcondition" proved="true">
  <proof prover="4"><result status="valid" time="0.11"/></proof>
  <proof prover="5"><result status="valid" time="0.08"/></proof>
  <proof prover="6"><result status="valid" time="0.18" steps="296"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="proof1&#39;vc" expl="VC for proof1" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="proof1&#39;vc.0" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.04"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="78"/></proof>
  </goal>
  <goal name="proof1&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="80"/></proof>
  </goal>
  <goal name="proof1&#39;vc.2" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.03"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="80"/></proof>
  </goal>
  <goal name="proof1&#39;vc.3" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6"><result status="valid" time="0.02" steps="82"/></proof>
  </goal>
  <goal name="proof1&#39;vc.4" expl="assertion" proved="true">
  <proof prover="2"><result status="valid" time="0.61"/></proof>
  <proof prover="4"><result status="valid" time="0.10"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="104"/></proof>
  </goal>
  <goal name="proof1&#39;vc.5" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.12"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="154"/></proof>
  </goal>
  <goal name="proof1&#39;vc.6" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="proof1&#39;vc.6.0" expl="VC for proof1" proved="true">
   <proof prover="4"><result status="valid" time="0.10"/></proof>
   <proof prover="5"><result status="valid" time="0.06"/></proof>
   <proof prover="6"><result status="valid" time="0.03" steps="93"/></proof>
   </goal>
   <goal name="proof1&#39;vc.6.1" expl="VC for proof1" proved="true">
   <proof prover="0"><result status="valid" time="0.05"/></proof>
   <proof prover="5"><result status="valid" time="0.12"/></proof>
   </goal>
   <goal name="proof1&#39;vc.6.2" expl="VC for proof1" proved="true">
   <proof prover="4"><result status="valid" time="1.04"/></proof>
   <proof prover="6"><result status="valid" time="0.04" steps="96"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="proof1&#39;vc.7" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="4"><result status="valid" time="0.13"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="proof2&#39;vc" expl="VC for proof2" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="proof2&#39;vc.0" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.03"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="81"/></proof>
  </goal>
  <goal name="proof2&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.01"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="83"/></proof>
  </goal>
  <goal name="proof2&#39;vc.2" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="83"/></proof>
  </goal>
  <goal name="proof2&#39;vc.3" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.03"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="83"/></proof>
  </goal>
  <goal name="proof2&#39;vc.4" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="85"/></proof>
  </goal>
  <goal name="proof2&#39;vc.5" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="85"/></proof>
  </goal>
  <goal name="proof2&#39;vc.6" expl="assertion" proved="true">
  <proof prover="2"><result status="valid" time="0.57"/></proof>
  <proof prover="4"><result status="valid" time="0.11"/></proof>
  <proof prover="6"><result status="valid" time="0.06" steps="109"/></proof>
  </goal>
  <goal name="proof2&#39;vc.7" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="6"><result status="valid" time="0.14" steps="162"/></proof>
  </goal>
  <goal name="proof2&#39;vc.8" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.11"/></proof>
  <proof prover="6"><result status="valid" time="0.11" steps="99"/></proof>
  </goal>
  <goal name="proof2&#39;vc.9" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="proof2&#39;vc.9.0" expl="VC for proof2" proved="true">
   <proof prover="4"><result status="valid" time="0.10"/></proof>
   <proof prover="5"><result status="valid" time="0.27"/></proof>
   <proof prover="6"><result status="valid" time="0.03" steps="98"/></proof>
   </goal>
   <goal name="proof2&#39;vc.9.1" expl="VC for proof2" proved="true">
   <proof prover="0"><result status="valid" time="0.07"/></proof>
   <proof prover="5" memlimit="1000"><result status="valid" time="0.02"/></proof>
   </goal>
   <goal name="proof2&#39;vc.9.2" expl="VC for proof2" proved="true">
   <proof prover="4"><result status="valid" time="0.10"/></proof>
   <proof prover="5"><result status="valid" time="0.44"/></proof>
   <proof prover="6"><result status="valid" time="0.03" steps="97"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="proof2&#39;vc.10" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="4"><result status="valid" time="0.14"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="proof3&#39;vc" expl="VC for proof3" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="proof3&#39;vc.0" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.03"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="83"/></proof>
  </goal>
  <goal name="proof3&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.07"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="85"/></proof>
  </goal>
  <goal name="proof3&#39;vc.2" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="85"/></proof>
  </goal>
  <goal name="proof3&#39;vc.3" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="85"/></proof>
  </goal>
  <goal name="proof3&#39;vc.4" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.03"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.03"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="85"/></proof>
  </goal>
  <goal name="proof3&#39;vc.5" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="87"/></proof>
  </goal>
  <goal name="proof3&#39;vc.6" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="87"/></proof>
  </goal>
  <goal name="proof3&#39;vc.7" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="87"/></proof>
  </goal>
  <goal name="proof3&#39;vc.8" expl="assertion" proved="true">
  <proof prover="2"><result status="valid" time="0.49"/></proof>
  <proof prover="4"><result status="valid" time="0.10"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="114"/></proof>
  </goal>
  <goal name="proof3&#39;vc.9" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.12"/></proof>
  <proof prover="6"><result status="valid" time="0.09" steps="239"/></proof>
  </goal>
  <goal name="proof3&#39;vc.10" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.14"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="103"/></proof>
  </goal>
  <goal name="proof3&#39;vc.11" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="proof3&#39;vc.11.0" expl="VC for proof3" proved="true">
   <proof prover="4"><result status="valid" time="0.10"/></proof>
   <proof prover="5"><result status="valid" time="4.72"/></proof>
   <proof prover="6"><result status="valid" time="0.04" steps="102"/></proof>
   </goal>
   <goal name="proof3&#39;vc.11.1" expl="VC for proof3" proved="true">
   <proof prover="0"><result status="valid" time="0.07"/></proof>
   <proof prover="5"><result status="valid" time="0.02"/></proof>
   </goal>
   <goal name="proof3&#39;vc.11.2" expl="VC for proof3" proved="true">
   <proof prover="4"><result status="valid" time="0.08"/></proof>
   <proof prover="5"><result status="valid" time="3.27"/></proof>
   <proof prover="6"><result status="valid" time="0.03" steps="101"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="proof3&#39;vc.12" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.17"/></proof>
  <proof prover="4"><result status="valid" time="0.12"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="prove&#39;vc" expl="VC for prove" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="prove&#39;vc.0" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.04"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="83"/></proof>
  </goal>
  <goal name="prove&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="85"/></proof>
  </goal>
  <goal name="prove&#39;vc.2" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="85"/></proof>
  </goal>
  <goal name="prove&#39;vc.3" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="85"/></proof>
  </goal>
  <goal name="prove&#39;vc.4" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="85"/></proof>
  </goal>
  <goal name="prove&#39;vc.5" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.04"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="85"/></proof>
  </goal>
  <goal name="prove&#39;vc.6" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="87"/></proof>
  </goal>
  <goal name="prove&#39;vc.7" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="87"/></proof>
  </goal>
  <goal name="prove&#39;vc.8" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="87"/></proof>
  </goal>
  <goal name="prove&#39;vc.9" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.02"/></proof>
  <proof prover="4"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="87"/></proof>
  </goal>
  <goal name="prove&#39;vc.10" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="prove&#39;vc.10.0" expl="VC for prove" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   <proof prover="5"><result status="valid" time="0.03"/></proof>
   </goal>
   <goal name="prove&#39;vc.10.1" expl="VC for prove" proved="true">
   <proof prover="2"><result status="valid" time="0.10"/></proof>
   <proof prover="4"><result status="valid" time="0.09"/></proof>
   <proof prover="6"><result status="valid" time="0.04" steps="102"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="prove&#39;vc.11" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.20"/></proof>
  <proof prover="4"><result status="valid" time="0.11"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="count&#39;vc" expl="VC for count" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="count&#39;vc.0" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.02"/></proof>
  <proof prover="2"><result status="valid" time="0.10"/></proof>
  <proof prover="4"><result status="valid" time="0.08"/></proof>
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="84"/></proof>
  </goal>
  <goal name="count&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.03"/></proof>
  <proof prover="2"><result status="valid" time="0.53"/></proof>
  <proof prover="4"><result status="valid" time="0.08"/></proof>
  <proof prover="5"><result status="valid" time="0.06"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="85"/></proof>
  </goal>
  <goal name="count&#39;vc.2" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.02"/></proof>
  <proof prover="2"><result status="valid" time="0.61"/></proof>
  <proof prover="4"><result status="valid" time="0.08"/></proof>
  <proof prover="5"><result status="valid" time="0.12"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="86"/></proof>
  </goal>
  <goal name="count&#39;vc.3" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.03"/></proof>
  <proof prover="2"><result status="valid" time="0.54"/></proof>
  <proof prover="4"><result status="valid" time="0.08"/></proof>
  <proof prover="5"><result status="valid" time="0.08"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="87"/></proof>
  </goal>
  <goal name="count&#39;vc.4" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.03"/></proof>
  <proof prover="2"><result status="valid" time="0.59"/></proof>
  <proof prover="4"><result status="valid" time="0.09"/></proof>
  <proof prover="5"><result status="valid" time="0.10"/></proof>
  <proof prover="6"><result status="valid" time="0.04" steps="88"/></proof>
  </goal>
  <goal name="count&#39;vc.5" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="2"><result status="valid" time="0.22"/></proof>
  <proof prover="4"><result status="valid" time="0.09"/></proof>
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  <proof prover="6"><result status="valid" time="0.05" steps="86"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="Hamming" proved="true">
 <goal name="hammingD&#39;vc" expl="VC for hammingD" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="hammingD&#39;vc.0" expl="assertion" proved="true">
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="6"><result status="valid" time="4.58" steps="591"/></proof>
  </goal>
  <goal name="hammingD&#39;vc.1" expl="postcondition" proved="true">
  <proof prover="5"><result status="valid" time="0.19"/></proof>
  <proof prover="6" timelimit="5"><result status="valid" time="1.12" steps="849"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="symmetric" proved="true">
 <proof prover="5"><result status="valid" time="0.12"/></proof>
 <proof prover="6"><result status="valid" time="0.23" steps="471"/></proof>
 </goal>
 <goal name="numof_ytpmE" proved="true">
 <proof prover="0"><result status="valid" time="1.32"/></proof>
 <proof prover="4"><result status="valid" time="1.62"/></proof>
 </goal>
 <goal name="separation&#39;vc" expl="VC for separation" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="separation&#39;vc.0" expl="assertion" proved="true">
  <proof prover="5"><result status="valid" time="0.72"/></proof>
  </goal>
  <goal name="separation&#39;vc.1" expl="postcondition" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="separation&#39;vc.1.0" expl="VC for separation" proved="true">
   <proof prover="2"><result status="valid" time="0.22"/></proof>
   <proof prover="4"><result status="valid" time="0.08"/></proof>
   <proof prover="6"><result status="valid" time="0.04" steps="140"/></proof>
   </goal>
   <goal name="separation&#39;vc.1.1" expl="VC for separation" proved="true">
   <proof prover="5"><result status="valid" time="0.03"/></proof>
   <proof prover="6"><result status="valid" time="0.14" steps="207"/></proof>
   </goal>
  </transf>
  </goal>
 </transf>
 </goal>
 <goal name="numof_or&#39;vc" expl="VC for numof_or" proved="true">
 <proof prover="0"><result status="valid" time="0.34"/></proof>
 <proof prover="4"><result status="valid" time="0.39"/></proof>
 <proof prover="5"><result status="valid" time="0.06"/></proof>
 <proof prover="6" timelimit="5"><result status="valid" time="1.25" steps="987"/></proof>
 </goal>
 <goal name="triangleInequalityInt&#39;vc" expl="VC for triangleInequalityInt" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="triangleInequalityInt&#39;vc.0" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="triangleInequalityInt&#39;vc.0.0" expl="VC for triangleInequalityInt" proved="true">
   <proof prover="0"><result status="valid" time="0.07"/></proof>
   <proof prover="2"><result status="valid" time="0.09"/></proof>
   <proof prover="4"><result status="valid" time="0.09"/></proof>
   <proof prover="5" memlimit="1000"><result status="valid" time="0.02"/></proof>
   <proof prover="6"><result status="valid" time="0.03" steps="85"/></proof>
   </goal>
   <goal name="triangleInequalityInt&#39;vc.0.1" expl="VC for triangleInequalityInt" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="6.28"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="triangleInequalityInt&#39;vc.1" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.08"/></proof>
  <proof prover="2"><result status="valid" time="0.55"/></proof>
  <proof prover="4"><result status="valid" time="0.04"/></proof>
  <proof prover="5" memlimit="1000"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="87"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="triangleInequality" proved="true">
 <proof prover="0"><result status="valid" time="0.04"/></proof>
 <proof prover="2"><result status="valid" time="0.01"/></proof>
 <proof prover="4"><result status="valid" time="0.10"/></proof>
 <proof prover="5"><result status="valid" time="0.03"/></proof>
 <proof prover="6"><result status="valid" time="0.05" steps="85"/></proof>
 </goal>
</theory>
<theory name="AsciiCode" proved="true">
 <goal name="bv_even&#39;vc" expl="VC for bv_even" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="bv_even&#39;vc.0" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.06"/></proof>
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  </goal>
  <goal name="bv_even&#39;vc.1" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  </goal>
  <goal name="bv_even&#39;vc.2" expl="assertion" proved="true">
  <proof prover="6"><result status="valid" time="0.96" steps="1197"/></proof>
  </goal>
  <goal name="bv_even&#39;vc.3" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="bv_even&#39;vc.3.0" expl="VC for bv_even" proved="true">
   <proof prover="6" timelimit="5"><result status="valid" time="1.45" steps="1511"/></proof>
   </goal>
   <goal name="bv_even&#39;vc.3.1" expl="VC for bv_even" proved="true">
   <proof prover="6" timelimit="5"><result status="valid" time="0.06" steps="166"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="bv_even&#39;vc.4" expl="postcondition" proved="true">
  <proof prover="6"><result status="valid" time="0.14" steps="223"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="bv_odd" proved="true">
 <proof prover="0"><result status="valid" time="0.03"/></proof>
 <proof prover="4"><result status="valid" time="0.09"/></proof>
 <proof prover="5"><result status="valid" time="0.04"/></proof>
 <proof prover="6"><result status="valid" time="0.05" steps="122"/></proof>
 </goal>
 <goal name="numof_or&#39;vc" expl="VC for numof_or" proved="true">
 <proof prover="0"><result status="valid" time="0.31"/></proof>
 <proof prover="4"><result status="valid" time="0.44"/></proof>
 <proof prover="5"><result status="valid" time="0.06"/></proof>
 </goal>
 <goal name="count_or&#39;vc" expl="VC for count_or" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="count_or&#39;vc.0" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.09"/></proof>
  <proof prover="5"><result status="valid" time="0.05"/></proof>
  </goal>
  <goal name="count_or&#39;vc.1" expl="assertion" proved="true">
  <proof prover="2"><result status="valid" time="0.10"/></proof>
  <proof prover="4"><result status="valid" time="0.10"/></proof>
  <proof prover="6"><result status="valid" time="0.03" steps="96"/></proof>
  </goal>
  <goal name="count_or&#39;vc.2" expl="assertion" proved="true">
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  </goal>
  <goal name="count_or&#39;vc.3" expl="assertion" proved="true">
  <proof prover="4"><result status="valid" time="2.25"/></proof>
  </goal>
  <goal name="count_or&#39;vc.4" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.08"/></proof>
  <proof prover="4"><result status="valid" time="0.13"/></proof>
  <proof prover="5"><result status="valid" time="0.05"/></proof>
  <proof prover="6"><result status="valid" time="0.06" steps="88"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="ascii&#39;vc" expl="VC for ascii" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="ascii&#39;vc.0" expl="out-of-bounds shifting" proved="true">
  <proof prover="0"><result status="valid" time="0.05"/></proof>
  <proof prover="4"><result status="valid" time="0.11"/></proof>
  <proof prover="5"><result status="valid" time="0.01"/></proof>
  <proof prover="6" timelimit="5"><result status="valid" time="0.09" steps="88"/></proof>
  </goal>
  <goal name="ascii&#39;vc.1" expl="assertion" proved="true">
  <proof prover="0"><result status="valid" time="0.10"/></proof>
  </goal>
  <goal name="ascii&#39;vc.2" expl="assertion" proved="true">
  <proof prover="6"><result status="valid" time="0.18" steps="483"/></proof>
  </goal>
  <goal name="ascii&#39;vc.3" expl="assertion" proved="true">
  <transf name="split_goal_right" proved="true" >
   <goal name="ascii&#39;vc.3.0" expl="assertion" proved="true">
   <proof prover="2"><result status="valid" time="0.11"/></proof>
   <proof prover="4"><result status="valid" time="0.10"/></proof>
   <proof prover="6" timelimit="5"><result status="valid" time="0.02" steps="95"/></proof>
   </goal>
   <goal name="ascii&#39;vc.3.1" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.14"/></proof>
   <proof prover="6" timelimit="5"><result status="valid" time="0.04" steps="179"/></proof>
   </goal>
   <goal name="ascii&#39;vc.3.2" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.17"/></proof>
   <proof prover="4"><result status="valid" time="0.11"/></proof>
   <proof prover="6" timelimit="5"><result status="valid" time="0.02" steps="117"/></proof>
   </goal>
   <goal name="ascii&#39;vc.3.3" expl="assertion" proved="true">
   <proof prover="5"><result status="valid" time="0.09"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="ascii&#39;vc.4" expl="assertion" proved="true">
  <proof prover="1"><result status="valid" time="0.09" steps="23012"/></proof>
  </goal>
  <goal name="ascii&#39;vc.5" expl="postcondition" proved="true">
  <proof prover="0"><result status="valid" time="0.11"/></proof>
  <proof prover="4"><result status="valid" time="2.18"/></proof>
  </goal>
  <goal name="ascii&#39;vc.6" expl="postcondition" proved="true">
  <proof prover="4"><result status="valid" time="1.09"/></proof>
  <proof prover="5"><result status="valid" time="0.06"/></proof>
  <proof prover="6"><result status="valid" time="0.21" steps="444"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="tmp&#39;vc" expl="VC for tmp" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="tmp&#39;vc.0" expl="variant decrease" proved="true">
  <proof prover="0"><result status="valid" time="0.04"/></proof>
  <proof prover="2"><result status="valid" time="0.04"/></proof>
  <proof prover="4"><result status="valid" time="0.07"/></proof>
  <proof prover="5"><result status="valid" time="0.04"/></proof>
  <proof prover="6"><result status="valid" time="0.02" steps="86"/></proof>
  </goal>
  <goal name="tmp&#39;vc.1" expl="precondition" proved="true">
  <proof prover="0"><result status="valid" time="0.02"/></proof>
  <proof prover="2"><result status="valid" time="0.01"/></proof>
  <proof prover="4"><result status="valid" time="0.08"/></proof>
  <proof prover="5"><result status="valid" time="0.02"/></proof>
  <proof prover="6"><result status="valid" time="0.02" steps="84"/></proof>
  </goal>
  <goal name="tmp&#39;vc.2" expl="postcondition" proved="true">
  <proof prover="5"><result status="valid" time="1.24"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="asciiProp" proved="true">
 <proof prover="0"><result status="valid" time="0.05"/></proof>
 <proof prover="4"><result status="valid" time="0.13"/></proof>
 <proof prover="5"><result status="valid" time="0.28"/></proof>
 <proof prover="6"><result status="valid" time="0.12" steps="628"/></proof>
 </goal>
</theory>
</file>
</why3session>
