<?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="Z3" version="4.12.2" timelimit="5" steplimit="0" memlimit="1000"/>
<prover id="3" name="CVC4" version="1.5" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="4" name="Alt-Ergo" version="2.0.0" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="5" name="Alt-Ergo" version="2.2.0" timelimit="5" steplimit="0" memlimit="1000"/>
<file format="whyml" proved="true">
<path name=".."/><path name="isqrt_von_neumann.mlw"/>
<theory name="VonNeumann16" proved="true">
 <goal name="sqr_add2" proved="true">
 <proof prover="0" timelimit="1"><result status="valid" time="0.010000" steps="1148"/></proof>
 </goal>
 <goal name="isqrt16&#39;vc" expl="VC for isqrt16" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="isqrt16&#39;vc.0" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4092"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.1" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4140"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.2" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="4506"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.3" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="4553"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.4" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4182"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.5" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4202"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.6" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4223"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.7" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="4676"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.8" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4277"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.9" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5768"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.10" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="7443"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.11" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4443"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.12" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4496"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.13" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4599"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.14" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.050000" steps="22527"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.15" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.080000" steps="26060"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.16" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.080000" steps="22444"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.17" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.060000" steps="30362"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.18" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.060000" steps="23708"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.19" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.080000" steps="33669"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.20" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.060000" steps="23781"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.21" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.050000" steps="25190"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.22" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.190000" steps="62103"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.23" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.060000" steps="56452"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.24" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.050000" steps="26046"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.25" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5214"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.26" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="33183"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.27" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.180000" steps="78459"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.28" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.070000" steps="28334"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.29" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.040000" steps="35342"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.30" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.070000" steps="32840"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.31" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.050000" steps="22575"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.32" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.050000" steps="23817"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.33" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.080000" steps="58795"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.34" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.060000" steps="47920"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.35" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5284"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.36" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4963"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.37" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5328"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.38" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5349"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.39" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.060000" steps="24798"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.40" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.420000" steps="80914"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.41" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="31312"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.42" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="28388"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="VonNeumann32" proved="true">
 <goal name="sqr_add2" proved="true">
 <transf name="unfold" proved="true" arg1="sqr">
  <goal name="sqr_add2.0" proved="true">
  <proof prover="0" timelimit="20"><result status="valid" time="0.010000" steps="1148"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="isqrt32&#39;vc" expl="VC for isqrt32" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="isqrt32&#39;vc.0" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="4092"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.1" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4140"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.2" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="4506"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.3" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4553"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.4" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4182"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.5" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4202"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.6" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4223"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.7" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="4676"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.8" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="4277"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.9" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="6696"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.10" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="9730"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.11" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4443"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.12" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4496"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.13" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4599"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.14" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.140000" steps="66429"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.15" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.230000" steps="83557"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.16" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.180000" steps="69756"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.17" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.190000" steps="96428"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.18" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.210000" steps="71304"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.19" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.383333" steps="104375"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.20" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.130000" steps="67797"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.21" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.140000" steps="70276"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.22" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.845662" steps="201378"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.23" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.500000" steps="175515"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.24" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.130000" steps="71691"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.25" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5214"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.26" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.290051" steps="88427"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.27" expl="loop invariant preservation" proved="true">
  <transf name="introduce_premises" proved="true" >
   <goal name="isqrt32&#39;vc.27.0" expl="loop invariant preservation" proved="true">
   <transf name="replace" proved="true" arg1="res_g" arg2="(add res_g1 bits_g1)">
    <goal name="isqrt32&#39;vc.27.0.0" expl="loop invariant preservation" proved="true">
    <transf name="rewrite" proved="true" arg1="sqr_add2">
     <goal name="isqrt32&#39;vc.27.0.0.0" expl="loop invariant preservation" proved="true">
     <proof prover="3"><result status="valid" time="0.770000" steps="141201"/></proof>
     </goal>
    </transf>
    </goal>
    <goal name="isqrt32&#39;vc.27.0.1" expl="equality hypothesis" proved="true">
    <proof prover="3"><result status="valid" time="0.010000" steps="4794"/></proof>
    </goal>
   </transf>
   </goal>
  </transf>
  </goal>
  <goal name="isqrt32&#39;vc.28" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.130000" steps="75690"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.29" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.190000" steps="89551"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.30" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.230000" steps="106052"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.31" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.110000" steps="66232"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.32" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.140000" steps="68020"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.33" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.730000" steps="194381"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.34" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.300000" steps="146940"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.35" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="5284"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.36" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.000000" steps="4963"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.37" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5328"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.38" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5349"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.39" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.120000" steps="69579"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.40" expl="loop invariant preservation" proved="true">
  <proof prover="3" timelimit="120"><result status="valid" time="86.220000" steps="485337"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.41" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.160000" steps="102178"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.42" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.150000" steps="86052"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
<theory name="VonNeumann64" proved="true">
 <goal name="sqr_add2" proved="true">
 <transf name="unfold" proved="true" arg1="sqr">
  <goal name="sqr_add2.0" proved="true">
  <proof prover="0" timelimit="1"><result status="valid" time="0.010000" steps="1148"/></proof>
  </goal>
 </transf>
 </goal>
 <goal name="isqrt64&#39;vc" expl="VC for isqrt64" proved="true">
 <transf name="split_goal_right" proved="true" >
  <goal name="isqrt64&#39;vc.0" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4092"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.1" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4140"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.2" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4506"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.3" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4553"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.4" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4182"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.5" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4202"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.6" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4223"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.7" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4676"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.8" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4277"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.9" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.020000" steps="8552"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.10" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.050000" steps="14416"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.11" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4443"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.12" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4496"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.13" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4599"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.14" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.740000" steps="235770"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.15" expl="assertion" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="1.600000" steps="303299"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.16" expl="assertion" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="1.685720" steps="270076"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.17" expl="assertion" proved="true">
  <proof prover="3" timelimit="5"><result status="valid" time="1.264693" steps="358664"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.18" expl="assertion" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="2.045185" steps="278421"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.19" expl="loop variant decrease" proved="true">
  <proof prover="3" timelimit="5"><result status="valid" time="1.920000" steps="376729"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.20" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.500000" steps="235704"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.21" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.480000" steps="240384"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.22" expl="loop invariant preservation" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="3.262483" steps="728912"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.23" expl="loop invariant preservation" proved="true">
  <proof prover="3" timelimit="60"><result status="valid" time="2.356394" steps="622259"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.24" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.490000" steps="242834"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.25" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5214"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.26" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.913049" steps="285108"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.27" expl="loop invariant preservation" proved="true">
  <transf name="introduce_premises" proved="true" >
   <goal name="isqrt64&#39;vc.27.0" expl="loop invariant preservation" proved="true">
   <transf name="replace" proved="true" arg1="res_g" arg2="(add res_g1 bits_g1)">
    <goal name="isqrt64&#39;vc.27.0.0" expl="loop invariant preservation" proved="true">
    <transf name="rewrite" proved="true" arg1="sqr_add2">
     <goal name="isqrt64&#39;vc.27.0.0.0" expl="loop invariant preservation" proved="true">
     <proof prover="3" timelimit="30"><result status="valid" time="7.788297" steps="550377"/></proof>
     </goal>
    </transf>
    </goal>
    <goal name="isqrt64&#39;vc.27.0.1" expl="equality hypothesis" proved="true">
    <proof prover="3"><result status="valid" time="0.010000" steps="4794"/></proof>
    </goal>
   </transf>
   </goal>
  </transf>
  </goal>
  <goal name="isqrt64&#39;vc.28" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.510000" steps="250549"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.29" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.675419" steps="279568"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.30" expl="loop variant decrease" proved="true">
  <proof prover="3" timelimit="5"><result status="valid" time="1.528492" steps="395984"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.31" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.450000" steps="234569"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.32" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.510000" steps="236292"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.33" expl="loop invariant preservation" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="2.870000" steps="709287"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.34" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="1.495005" steps="524869"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.35" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5284"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.36" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4963"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.37" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5328"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.38" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="5349"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.39" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.400000" steps="239106"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.40" expl="loop invariant preservation" proved="true">
  <transf name="introduce_premises" proved="true" >
   <goal name="isqrt64&#39;vc.40.0" expl="loop invariant preservation" proved="true">
   <transf name="unfold" proved="true" arg1="ule">
    <goal name="isqrt64&#39;vc.40.0.0" expl="VC for isqrt64" proved="true">
    <transf name="rewrite" proved="true" arg1="sqr_add2">
     <goal name="isqrt64&#39;vc.40.0.0.0" expl="VC for isqrt64" proved="true">
     <transf name="assert" proved="true" arg1="(x = add (sqr res_g) num)">
      <goal name="isqrt64&#39;vc.40.0.0.0.0" expl="asserted formula" proved="true">
      <proof prover="3" timelimit="5"><result status="valid" time="0.580000" steps="285454"/></proof>
      </goal>
      <goal name="isqrt64&#39;vc.40.0.0.0.1" expl="VC for isqrt64" proved="true">
      <transf name="unfold" proved="true" arg1="sqr">
       <goal name="isqrt64&#39;vc.40.0.0.0.1.0" expl="VC for isqrt64" proved="true">
       <transf name="rewrite" proved="true" arg1="h">
        <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0" expl="VC for isqrt64" proved="true">
        <transf name="assert" proved="true" arg1="(ule num (pred (mul bits_g1 (add (mul (2:t) res_g) bits_g1))))">
         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.0" expl="asserted formula" proved="true">
         <transf name="assert" proved="true" arg1="(ult num b)">
          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.0.0" expl="asserted formula" proved="true">
          <proof prover="0"><result status="valid" time="0.010000" steps="1264"/></proof>
          </goal>
          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.0.1" expl="asserted formula" proved="true">
          <transf name="assert" proved="true" arg1="(forall a b. mul a b = mul b a)">
           <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.0.1.0" expl="asserted formula" proved="true">
           <proof prover="3"><result status="valid" time="0.010000" steps="4748"/></proof>
           </goal>
           <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.0.1.1" expl="asserted formula" proved="true">
           <proof prover="4"><result status="valid" time="0.140000" steps="265"/></proof>
           </goal>
          </transf>
          </goal>
         </transf>
         </goal>
         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1" expl="VC for isqrt64" proved="true">
         <transf name="replace" proved="true" arg1="(pow2 m)" arg2="bits_g1">
          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0" expl="VC for isqrt64" proved="true">
          <transf name="assert" proved="true" arg1="(ule (add res_g (pow2 m1)) (0x100000000:t))">
           <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.0" expl="asserted formula" proved="true">
           <proof prover="0"><result status="valid" time="0.010000" steps="1856"/></proof>
           </goal>
           <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1" expl="VC for isqrt64" proved="true">
           <transf name="assert" proved="true" arg1="(ule (add res_g bits_g1) (0x100000000:t))">
            <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.0" expl="asserted formula" proved="true">
            <proof prover="3" timelimit="5"><result status="valid" time="0.700000" steps="404759"/></proof>
            </goal>
            <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1" expl="VC for isqrt64" proved="true">
            <transf name="unfold" proved="true" arg1="pred">
             <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0" expl="VC for isqrt64" proved="true">
             <transf name="unfold" proved="true" arg1="pred" arg2="in" arg3="h2">
              <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0" expl="VC for isqrt64" proved="true">
              <transf name="assert" proved="true" arg1="(forall a b c. t&#39;int b + t&#39;int c &lt; two_power_size -&gt; ule a b -&gt; ule (add a c) (add b c))">
               <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.0" expl="asserted formula" proved="true">
               <proof prover="5"><result status="valid" time="0.160856" steps="581"/></proof>
               </goal>
               <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1" expl="VC for isqrt64" proved="true">
               <transf name="case" proved="true" arg1="(add (sqr res_g) (mul bits_g1 (add (mul (2:t) res_g) bits_g1)) = (0:t))">
                <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.0" expl="true case" proved="true">
                <transf name="unfold" proved="true" arg1="sqr" arg2="in" arg3="h">
                 <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.0.0" expl="true case" proved="true">
                 <proof prover="3" timelimit="5"><result status="valid" time="2.331951" steps="508053"/></proof>
                 </goal>
                </transf>
                </goal>
                <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1" expl="false case" proved="true">
                <transf name="case" proved="true" arg1="(res_g = (0:t))">
                 <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.0" expl="false case (true case)" proved="true">
                 <proof prover="3" timelimit="5"><result status="valid" time="3.607718" steps="607235"/></proof>
                 </goal>
                 <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1" expl="false case" proved="true">
                 <transf name="rewrite" proved="true" arg1="to_uint_sub_bounded">
                  <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0" expl="false case" proved="true">
                  <transf name="rewrite" proved="true" arg1="to_uint_add_bounded">
                   <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0" expl="false case" proved="true">
                   <transf name="rewrite" proved="true" arg1="to_uint_add_bounded">
                    <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0" expl="false case" proved="true">
                    <transf name="unfold" proved="true" arg1="sqr">
                     <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0" expl="false case" proved="true">
                     <transf name="assert" proved="true" arg1="(forall a b c. b &lt;= c -&gt; a + b &lt;= a + c)">
                      <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.0" expl="asserted formula" proved="true">
                      <proof prover="0"><result status="valid" time="0.010000" steps="1460"/></proof>
                      </goal>
                      <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1" expl="false case" proved="true">
                      <transf name="unfold" proved="true" arg1="ule" arg2="in" arg3="h6">
                       <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1.0" expl="false case" proved="true">
                       <transf name="rewrite" proved="true" arg1="to_uint_sub_bounded" arg2="in" arg3="h6">
                        <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1.0.0" expl="false case" proved="true">
                        <proof prover="0"><result status="valid" time="0.010000" steps="1513"/></proof>
                        </goal>
                        <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1.0.1" expl="rewrite premises" proved="true">
                        <transf name="split_all_right" proved="true" >
                         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1.0.1.0" proved="true">
                         <transf name="assert" proved="true" arg1="(0 &lt;= t&#39;int b - t&#39;int (1:t))">
                          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1.0.1.0.0" expl="asserted formula" proved="true">
                          <proof prover="5"><result status="valid" time="0.060000" steps="217"/></proof>
                          </goal>
                          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1.0.1.0.1" proved="true">
                          <proof prover="0" timelimit="1"><result status="valid" time="0.020000" steps="10325"/></proof>
                          </goal>
                         </transf>
                         </goal>
                         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.0.0.1.0.1.1" proved="true">
                         <proof prover="5" timelimit="1"><result status="valid" time="0.020000" steps="217"/></proof>
                         </goal>
                        </transf>
                        </goal>
                       </transf>
                       </goal>
                      </transf>
                      </goal>
                     </transf>
                     </goal>
                    </transf>
                    </goal>
                    <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1" expl="rewrite premises" proved="true">
                    <transf name="rewrite" proved="true" arg1="to_uint_mul_bounded">
                     <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0" expl="rewrite premises" proved="true">
                     <transf name="rewrite" proved="true" arg1="to_uint_mul_bounded">
                      <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0" expl="rewrite premises" proved="true">
                      <transf name="rewrite" proved="true" arg1="to_uint_add_bounded">
                       <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0" expl="rewrite premises" proved="true">
                       <transf name="rewrite" proved="true" arg1="to_uint_mul_bounded">
                        <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0" expl="rewrite premises" proved="true">
                        <transf name="assert" proved="true" arg1="(forall a b. a * a + b * ((2 * a) + b) = (a + b) * (a + b))">
                         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.0" expl="asserted formula" proved="true">
                         <proof prover="0"><result status="valid" time="0.010000" steps="5332"/></proof>
                         </goal>
                         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1" expl="rewrite premises" proved="true">
                         <transf name="replace" proved="true" arg1="(t&#39;int (2:t))" arg2="2">
                          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1.0" expl="rewrite premises" proved="true">
                          <transf name="rewrite" proved="true" arg1="h">
                           <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1.0.0" expl="rewrite premises" proved="true">
                           <transf name="replace" proved="true" arg1="two_power_size" arg2="(0x100000000 * 0x100000000)">
                            <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1.0.0.0" expl="rewrite premises" proved="true">
                            <transf name="rewrite" proved="true" arg1="&lt;-" arg2="to_uint_add_bounded">
                             <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1.0.0.0.0" expl="rewrite premises" proved="true">
                             <proof prover="4" timelimit="10" memlimit="4000"><result status="valid" time="2.916036" steps="544"/></proof>
                             </goal>
                             <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1.0.0.0.1" expl="rewrite premises" proved="true">
                             <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="3.140000" steps="598241"/></proof>
                             </goal>
                            </transf>
                            </goal>
                            <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1.0.0.1" expl="equality hypothesis" proved="true">
                            <proof prover="3" timelimit="5"><result status="valid" time="0.010000" steps="5020"/></proof>
                            </goal>
                           </transf>
                           </goal>
                          </transf>
                          </goal>
                          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.0.1.1" expl="equality hypothesis" proved="true">
                          <proof prover="3"><result status="valid" time="0.010000" steps="5783"/></proof>
                          </goal>
                         </transf>
                         </goal>
                        </transf>
                        </goal>
                        <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.0.1" expl="rewrite premises" proved="true">
                        <proof prover="5" timelimit="1"><result status="valid" time="0.020000" steps="217"/></proof>
                        </goal>
                       </transf>
                       </goal>
                       <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.0.1" expl="rewrite premises" proved="true">
                       <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="2.890000" steps="598040"/></proof>
                       </goal>
                      </transf>
                      </goal>
                      <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1" expl="rewrite premises" proved="true">
                      <transf name="rewrite" proved="true" arg1="to_uint_add_bounded">
                       <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0" expl="rewrite premises" proved="true">
                       <transf name="rewrite" proved="true" arg1="to_uint_mul_bounded">
                        <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0" expl="rewrite premises" proved="true">
                        <transf name="assert" proved="true" arg1="(forall a b. a * ((2 * b) + a) = (a + b) * (a + b) - b * b)">
                         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.0" expl="asserted formula" proved="true">
                         <proof prover="5"><result status="valid" time="0.020000" steps="213"/></proof>
                         </goal>
                         <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1" expl="rewrite premises" proved="true">
                         <transf name="replace" proved="true" arg1="(t&#39;int (2:t))" arg2="2">
                          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0" expl="rewrite premises" proved="true">
                          <transf name="rewrite" proved="true" arg1="h">
                           <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0" expl="rewrite premises" proved="true">
                           <transf name="assert" proved="true" arg1="(((t&#39;int bits_g1 + t&#39;int res_g) * (t&#39;int bits_g1 + t&#39;int res_g)) &lt;= two_power_size)">
                            <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0" expl="asserted formula" proved="true">
                            <transf name="replace" proved="true" arg1="two_power_size" arg2="(0x100000000 * 0x100000000)">
                             <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0.0" expl="asserted formula" proved="true">
                             <transf name="rewrite" proved="true" arg1="&lt;-" arg2="to_uint_add_bounded">
                              <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0.0.0" expl="asserted formula" proved="true">
                              <transf name="assert" proved="true" arg1="(forall a b. add a b = add b a)">
                               <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0.0.0.0" expl="asserted formula" proved="true">
                               <proof prover="0"><result status="valid" time="0.010000" steps="1517"/></proof>
                               </goal>
                               <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0.0.0.1" expl="asserted formula" proved="true">
                               <transf name="rewrite" proved="true" arg1="h1">
                                <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0.0.0.1.0" expl="asserted formula" proved="true">
                                <proof prover="3"><result status="timeout" time="1.000000" steps="391308"/></proof>
                                <proof prover="4"><result status="valid" time="0.020000" steps="134"/></proof>
                                </goal>
                               </transf>
                               </goal>
                              </transf>
                              </goal>
                              <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0.0.1" expl="rewrite premises" proved="true">
                              <proof prover="3" timelimit="5"><result status="valid" time="3.040000" steps="598259"/></proof>
                              </goal>
                             </transf>
                             </goal>
                             <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.0.1" expl="equality hypothesis" proved="true">
                             <proof prover="3" timelimit="5"><result status="valid" time="0.010000" steps="5024"/></proof>
                             </goal>
                            </transf>
                            </goal>
                            <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.0.0.1" expl="rewrite premises" proved="true">
                            <proof prover="5"><result status="valid" time="0.180000" steps="219"/></proof>
                            </goal>
                           </transf>
                           </goal>
                          </transf>
                          </goal>
                          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.0.1.1" expl="equality hypothesis" proved="true">
                          <proof prover="3" timelimit="5"><result status="valid" time="0.010000" steps="5787"/></proof>
                          </goal>
                         </transf>
                         </goal>
                        </transf>
                        </goal>
                        <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.0.1" expl="rewrite premises" proved="true">
                        <proof prover="3" timelimit="5"><result status="valid" time="1.721112" steps="562655"/></proof>
                        </goal>
                       </transf>
                       </goal>
                       <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.0.1.1" expl="rewrite premises" proved="true">
                       <proof prover="3" timelimit="5"><result status="valid" time="2.957880" steps="598040"/></proof>
                       </goal>
                      </transf>
                      </goal>
                     </transf>
                     </goal>
                     <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.0.1.1" expl="rewrite premises" proved="true">
                     <proof prover="5"><result status="valid" time="0.130843" steps="217"/></proof>
                     </goal>
                    </transf>
                    </goal>
                   </transf>
                   </goal>
                   <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.0.1" expl="rewrite premises" proved="true">
                   <proof prover="5"><result status="valid" time="1.020000" steps="1058"/></proof>
                   </goal>
                  </transf>
                  </goal>
                  <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.1" expl="rewrite premises" proved="true">
                  <transf name="split_all_right" proved="true" >
                   <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.1.0" proved="true">
                   <proof prover="5"><result status="valid" time="0.120000" steps="541"/></proof>
                   </goal>
                   <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.0.1.1.0.0.1.1.1.1.1" proved="true">
                   <proof prover="3" timelimit="5"><result status="valid" time="0.620000" steps="366104"/></proof>
                   </goal>
                  </transf>
                  </goal>
                 </transf>
                 </goal>
                </transf>
                </goal>
               </transf>
               </goal>
              </transf>
              </goal>
             </transf>
             </goal>
            </transf>
            </goal>
           </transf>
           </goal>
          </transf>
          </goal>
          <goal name="isqrt64&#39;vc.40.0.0.0.1.0.0.1.1" expl="equality hypothesis" proved="true">
          <proof prover="3"><result status="valid" time="0.010000" steps="4761"/></proof>
          </goal>
         </transf>
         </goal>
        </transf>
        </goal>
       </transf>
       </goal>
      </transf>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
  </transf>
  </goal>
  <goal name="isqrt64&#39;vc.41" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.350000" steps="178297"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.42" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.000000" steps="4365"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.43" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.050000" steps="25650"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.44" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.010000" steps="4757"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
</file>
</why3session>
