<?xml version="1.0"?>
<div>:: <span class="kw">deftheorem </span><span class="lab"><font color="Green" title="E10">Def2</font></span>   defines <a href="ntalgo_1.html#K2" title="NTALGO_1:func.2">ALGO_EXGCD</a> <a onclick="hs(this)" href="javascript:()">NTALGO_1:def 2 : <br/></a><span> for <font color="Olive" title="b1">x</font>, <font color="Olive" title="b2">y</font> being    <a href="subset_1.html#M1" title="SUBSET_1:mode.1">Element</a> of  <a href="numbers.html#K4" title="NUMBERS:func.4">INT</a> <br/>  for <font color="Olive">b<sub>3</sub></font> being    <a href="subset_1.html#M1" title="SUBSET_1:mode.1">Element</a> of <span class="p1"><a href="zfmisc_1.html#K3" title="ZFMISC_1:func.3">[:</a><span class="default"><a href="numbers.html#K4" title="NUMBERS:func.4">INT</a>,<a href="numbers.html#K4" title="NUMBERS:func.4">INT</a>,<a href="numbers.html#K4" title="NUMBERS:func.4">INT</a></span><a href="zfmisc_1.html#K3" title="ZFMISC_1:func.3">:]</a></span> holds <br/> ( <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="ntalgo_1.html#K2" title="NTALGO_1:func.2">ALGO_EXGCD</a> (<font color="Olive" title="b1">x</font>,<font color="Olive" title="b2">y</font>) iff  ex <font color="Olive" title="b4">g</font>, <font color="Olive" title="b5">w</font>, <font color="Olive" title="b6">q</font>, <font color="Olive" title="b7">t</font>, <font color="Olive" title="b8">a</font>, <font color="Olive" title="b9">b</font>, <font color="Olive" title="b10">v</font>, <font color="Olive" title="b11">u</font> being   <a href="nat_1.html#NM1" title="NAT_1:NM.1">sequence</a> of <a href="numbers.html#K4" title="NUMBERS:func.4">INT</a> ex <font color="Olive" title="b12">istop</font> being   <a href="ordinal1.html#NM6" title="ORDINAL1:NM.6">Nat</a> st <br/>( <font color="Olive" title="b8">a</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> 1 &amp; <font color="Olive" title="b9">b</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">0</a>  &amp; <font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b1">x</font> &amp; <font color="Olive" title="b6">q</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">0</a>  &amp; <font color="Olive" title="b11">u</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">0</a>  &amp; <font color="Olive" title="b10">v</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> 1 &amp; <font color="Olive" title="b5">w</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">y</font> &amp; <font color="Olive" title="b7">t</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <a href="numbers.html#K5" title="NUMBERS:func.5">0</a> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">0</a>  &amp; (  for <font color="Olive" title="b13">i</font> being   <a href="ordinal1.html#NM6" title="ORDINAL1:NM.6">Nat</a> holds <br/> ( <font color="Olive" title="b6">q</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span> <a href="int_1.html#K4" title="INT_1:func.4">div</a> <span class="p1">(<span class="default"><font color="Olive" title="b5">w</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span> &amp; <font color="Olive" title="b7">t</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span> <a href="int_1.html#K5" title="INT_1:func.5">mod</a> <span class="p1">(<span class="default"><font color="Olive" title="b5">w</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span> &amp; <font color="Olive" title="b8">a</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b11">u</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font> &amp; <font color="Olive" title="b9">b</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b10">v</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font> &amp; <font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b5">w</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font> &amp; <font color="Olive" title="b11">u</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Olive" title="b8">a</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span> <a href="xcmplx_0.html#K6" title="XCMPLX_0:func.6">-</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Olive" title="b6">q</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p3">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span></span>)</span> <a href="xcmplx_0.html#K3" title="XCMPLX_0:func.3">*</a> <span class="p2">(<span class="default"><font color="Olive" title="b11">u</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span></span>)</span> &amp; <font color="Olive" title="b10">v</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Olive" title="b9">b</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span> <a href="xcmplx_0.html#K6" title="XCMPLX_0:func.6">-</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Olive" title="b6">q</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p3">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span></span>)</span> <a href="xcmplx_0.html#K3" title="XCMPLX_0:func.3">*</a> <span class="p2">(<span class="default"><font color="Olive" title="b10">v</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font></span>)</span></span>)</span> &amp; <font color="Olive" title="b5">w</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b7">t</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <span class="p1">(<span class="default"><font color="Olive" title="b13">i</font> <a href="nat_1.html#K1" title="NAT_1:func.1">+</a> 1</span>)</span> ) ) &amp; <font color="Olive" title="b12">istop</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="nat_1.html#K3" title="NAT_1:func.3">min*</a> <span class="p1"> { <span class="default"> <font color="Olive" title="b13">i</font> where <font color="Olive" title="b13">i</font> is   <a href="ordinal1.html#NM6" title="ORDINAL1:NM.6">Nat</a> : <font color="Olive" title="b5">w</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b13">i</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">0</a>  </span> } </span>  &amp; (  <a href="numbers.html#K5" title="NUMBERS:func.5">0</a>  <a href="xxreal_0.html#R1" title="XXREAL_0:pred.1">&lt;=</a> <font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font> implies <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1"><a href="xtuple_0.html#K3" title="XTUPLE_0:func.3">[</a><span class="default"><span class="p2">(<span class="default"><font color="Olive" title="b8">a</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font></span>)</span>,<span class="p2">(<span class="default"><font color="Olive" title="b9">b</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font></span>)</span>,<span class="p2">(<span class="default"><font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font></span>)</span></span><a href="xtuple_0.html#K3" title="XTUPLE_0:func.3">]</a></span> ) &amp; ( <font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font> <a href="xxreal_0.html#NR3" title="XXREAL_0:NR.3">&lt;</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">0</a>  implies <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1"><a href="xtuple_0.html#K3" title="XTUPLE_0:func.3">[</a><span class="default"><span class="p2">(<span class="default"><a href="xcmplx_0.html#K4" title="XCMPLX_0:func.4">-</a> <span class="p3">(<span class="default"><font color="Olive" title="b8">a</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font></span>)</span></span>)</span>,<span class="p2">(<span class="default"><a href="xcmplx_0.html#K4" title="XCMPLX_0:func.4">-</a> <span class="p3">(<span class="default"><font color="Olive" title="b9">b</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font></span>)</span></span>)</span>,<span class="p2">(<span class="default"><a href="xcmplx_0.html#K4" title="XCMPLX_0:func.4">-</a> <span class="p3">(<span class="default"><font color="Olive" title="b4">g</font> <a href="nat_1.html#K8" title="NAT_1:func.8">.</a> <font color="Olive" title="b12">istop</font></span>)</span></span>)</span></span><a href="xtuple_0.html#K3" title="XTUPLE_0:func.3">]</a></span> ) ) );<br/></span></div>
