<?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.6.0" timelimit="1" steplimit="0" memlimit="1000"/>
<prover id="2" name="Z3" version="4.5.0" 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="2" timelimit="1"><result status="valid" time="0.01" steps="855"/></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.01" steps="3446"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.1" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3494"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.2" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="3834"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.3" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="3875"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.4" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3536"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.5" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3556"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.6" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3577"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.7" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="4000"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.8" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3631"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.9" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="5092"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.10" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="6765"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.11" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3797"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.12" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3850"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.13" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3953"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.14" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.05" steps="21855"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.15" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.08" steps="25388"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.16" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.08" steps="21788"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.17" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.06" steps="29690"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.18" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.06" steps="23052"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.19" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.08" steps="32995"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.20" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.06" steps="23125"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.21" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.05" steps="24534"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.22" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.08" steps="61427"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.23" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.06" steps="55778"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.24" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.05" steps="25390"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.25" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4568"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.26" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="32527"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.27" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.18" steps="77785"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.28" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.07" steps="27678"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.29" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.04" steps="34670"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.30" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.07" steps="32166"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.31" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.05" steps="21919"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.32" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.05" steps="23161"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.33" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.08" steps="58119"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.34" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.06" steps="47246"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.35" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4638"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.36" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4317"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.37" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4682"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.38" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4703"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.39" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.06" steps="24142"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.40" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.42" steps="80240"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.41" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="30638"/></proof>
  </goal>
  <goal name="isqrt16&#39;vc.42" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="27714"/></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="2" timelimit="20"><result status="valid" time="0.02" steps="851"/></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.02" steps="3446"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.1" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3494"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.2" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="3834"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.3" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3875"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.4" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3536"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.5" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3556"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.6" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3577"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.7" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="4000"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.8" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="3631"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.9" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="6020"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.10" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="9052"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.11" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3797"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.12" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3850"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.13" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3953"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.14" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.14" steps="65757"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.15" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.23" steps="82885"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.16" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.18" steps="69100"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.17" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.19" steps="95756"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.18" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.21" steps="70648"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.19" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.24" steps="103701"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.20" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.13" steps="67141"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.21" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.14" steps="69620"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.22" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.64" steps="200723"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.23" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.50" steps="174973"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.24" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.13" steps="71035"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.25" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4568"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.26" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.17" steps="87771"/></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.57" steps="140595"/></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.01" steps="4196"/></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.13" steps="75034"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.29" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.19" steps="88879"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.30" expl="loop variant decrease" proved="true">
  <proof prover="3"><result status="valid" time="0.23" steps="105378"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.31" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.11" steps="65576"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.32" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.14" steps="67364"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.33" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.51" steps="193705"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.34" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.30" steps="146266"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.35" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="4638"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.36" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.00" steps="4317"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.37" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4682"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.38" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4703"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.39" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.12" steps="68923"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.40" expl="loop invariant preservation" proved="true">
  <proof prover="3" timelimit="120"><result status="valid" time="86.22" steps="484663"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.41" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.16" steps="101504"/></proof>
  </goal>
  <goal name="isqrt32&#39;vc.42" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.15" steps="85378"/></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="2" timelimit="1"><result status="valid" time="0.01" steps="851"/></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.01" steps="3446"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.1" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3494"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.2" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3834"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.3" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3875"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.4" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3536"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.5" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3556"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.6" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3577"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.7" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4000"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.8" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3631"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.9" expl="loop invariant init" proved="true">
  <proof prover="3"><result status="valid" time="0.02" steps="7876"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.10" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.05" steps="13738"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.11" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3797"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.12" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3850"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.13" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="3953"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.14" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.49" steps="235098"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.15" expl="assertion" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="1.22" steps="302627"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.16" expl="assertion" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="1.54" steps="269420"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.17" expl="assertion" proved="true">
  <proof prover="3" timelimit="5"><result status="valid" time="1.24" steps="357992"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.18" expl="assertion" proved="true">
  <proof prover="3" timelimit="10" memlimit="4000"><result status="valid" time="2.08" steps="277765"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.19" expl="loop variant decrease" proved="true">
  <proof prover="3" timelimit="5"><result status="valid" time="1.92" steps="376055"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.20" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.36" steps="235048"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.21" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.48" steps="239728"/></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="2.84" steps="728232"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.23" expl="loop invariant preservation" proved="true">
  <proof prover="3" timelimit="60"><result status="valid" time="2.12" steps="621498"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.24" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.49" steps="242178"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.25" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4568"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.26" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.75" steps="284452"/></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="5.94" steps="549771"/></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.01" steps="4196"/></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.51" steps="249893"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.29" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.70" steps="278896"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.30" expl="loop variant decrease" proved="true">
  <proof prover="3" timelimit="5"><result status="valid" time="1.54" steps="395310"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.31" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.30" steps="233913"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.32" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.37" steps="235636"/></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.29" steps="708611"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.34" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="1.00" steps="524195"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.35" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4638"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.36" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4317"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.37" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4682"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.38" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4703"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.39" expl="loop invariant preservation" proved="true">
  <proof prover="3"><result status="valid" time="0.40" steps="238450"/></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.58" steps="284848"/></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="2"><result status="valid" time="0.01" steps="770"/></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.01" steps="4150"/></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.14" steps="277"/></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="2"><result status="valid" time="0.02" steps="8314"/></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.70" steps="404153"/></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.04" steps="613"/></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.96" steps="507435"/></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.56" steps="605770"/></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="2"><result status="valid" time="0.01" steps="850"/></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="2"><result status="valid" time="0.01" steps="876"/></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.06" steps="225"/></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"><result status="valid" time="0.01" steps="4893"/></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.02" steps="225"/></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="2"><result status="valid" time="0.02" steps="1951"/></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.37" steps="466"/></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="2.76" steps="597617"/></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.01" steps="4422"/></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.01" steps="5185"/></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.02" steps="225"/></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.89" steps="597416"/></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.02" steps="221"/></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="2"><result status="valid" time="0.01" steps="870"/></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.00" steps="390672"/></proof>
                                <proof prover="4"><result status="valid" time="0.02" steps="138"/></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.04" steps="597631"/></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.01" steps="4426"/></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.18" steps="227"/></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.01" steps="5189"/></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.71" steps="562055"/></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.85" steps="597416"/></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.02" steps="225"/></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="0.77" steps="1008"/></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.12" steps="569"/></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.62" steps="365498"/></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.01" steps="4163"/></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.22" steps="177625"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.42" expl="assertion" proved="true">
  <proof prover="3"><result status="valid" time="0.00" steps="3719"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.43" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.05" steps="24988"/></proof>
  </goal>
  <goal name="isqrt64&#39;vc.44" expl="postcondition" proved="true">
  <proof prover="3"><result status="valid" time="0.01" steps="4111"/></proof>
  </goal>
 </transf>
 </goal>
</theory>
</file>
</why3session>
