<?xml version="1.0"?>
<div class="add">

<b>reconsider </b><font color="Maroon">e</font> = 0 as   <a href="funct_1.html#NM1">Function</a> ;<br/>
<b>defpred </b><font color="Maroon">S<sub>1</sub></font>[   <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> ,   <a href="hidden.html#M1">set</a> ,   <a href="hidden.html#M1">set</a> ] <b>means </b>( ( <font color="Maroon">a<sub>2</sub></font> is  not   <a href="funct_1.html#NM1">Function</a> &amp; <font color="Maroon">a<sub>3</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">e</font> ) or ( <font color="Maroon">a<sub>2</sub></font> is   <a href="funct_1.html#NM1">Function</a> &amp; ( for <font color="Olive">g</font>, <font color="Olive">h</font> being  <a href="funct_1.html#NM1">Function</a>  st <font color="Olive">g</font> <a href="hidden.html#R1">=</a> <font color="Maroon">a<sub>2</sub></font> &amp; <font color="Olive">h</font> <a href="hidden.html#R1">=</a> <font color="Maroon">p</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">a<sub>1</sub></font> <a href="nat_1.html#K1">+</a> 1</span>)</span> holds <br/><font color="Maroon">a<sub>3</sub></font> <a href="hidden.html#R1">=</a> <font color="Olive">h</font> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Olive">g</font> ) ) );<br/>
<a NAME="E2:55_1_2"/><i><font color="Green">E53</font></i>: 
for <font color="Olive">n</font> being   <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> <br/> for <font color="Olive">x</font> being   <a href="hidden.html#M1">set</a>   ex <font color="Olive">y</font> being   <a href="hidden.html#M1">set</a>  st <font color="Maroon">S<sub>1</sub></font>[<font color="Olive">n</font>,<font color="Olive">x</font>,<font color="Olive">y</font>]
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="55_1_2_1"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">n</font> be    <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> ;<br/><b>let </b><font color="Maroon">x</font> be    <a href="hidden.html#M1">set</a> ;<br/>



<b>reconsider </b><font color="Maroon">h</font> = <font color="Maroon">p</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">n</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> as   <a href="funct_1.html#NM1">Function</a> ;<br/>
<div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="55_1_2_1_1"><b>per </b></a><a class="txt" onclick="hs(this)" href="javascript:()"><b>cases </b></a><span class="hide"><a NAME="E1:55_1_2_1_1"/>
( <font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a> or  not <font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a> )
 </span>;<br/><div class="add"><div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="55_1_2_1_1_1"><b>suppose </b></a><a NAME="E1:55_1_2_1_1_1"/>
<font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a>
 ;<br/><div class="add"><b>then reconsider </b><font color="Maroon">g</font> = <font color="Maroon">x</font> as   <a href="funct_1.html#NM1">Function</a> ;<br/><b>take </b><font color="Maroon">y</font> = <font color="Maroon">h</font> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Maroon">g</font>;<br/><b>thus </b><a NAME="E3:55_1_2_1_1_1"/>
( ( <font color="Maroon">x</font> is  not   <a href="funct_1.html#NM1">Function</a> &amp; <font color="Maroon">y</font> <a href="hidden.html#R1">=</a> <font color="Maroon">e</font> ) or ( <font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a> &amp; ( for <font color="Olive">g</font>, <font color="Olive">h</font> being  <a href="funct_1.html#NM1">Function</a>  st <font color="Olive">g</font> <a href="hidden.html#R1">=</a> <font color="Maroon">x</font> &amp; <font color="Olive">h</font> <a href="hidden.html#R1">=</a> <font color="Maroon">p</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">n</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> holds <br/><font color="Maroon">y</font> <a href="hidden.html#R1">=</a> <font color="Olive">h</font> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Olive">g</font> ) ) )
 ;<br/></div><b>end;</b></div><div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="55_1_2_1_1_2"><b>suppose </b></a><a NAME="E1:55_1_2_1_1_2"/><i><font color="Green">E54</font></i>: 
<font color="Maroon">x</font> is  not   <a href="funct_1.html#NM1">Function</a>
 ;<br/><div class="add"><b>take </b><font color="Maroon">y</font> = 0;<br/><b>thus </b><a NAME="E2:55_1_2_1_1_2"/>
( ( <font color="Maroon">x</font> is  not   <a href="funct_1.html#NM1">Function</a> &amp; <font color="Maroon">y</font> <a href="hidden.html#R1">=</a> <font color="Maroon">e</font> ) or ( <font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a> &amp; ( for <font color="Olive">g</font>, <font color="Olive">h</font> being  <a href="funct_1.html#NM1">Function</a>  st <font color="Olive">g</font> <a href="hidden.html#R1">=</a> <font color="Maroon">x</font> &amp; <font color="Olive">h</font> <a href="hidden.html#R1">=</a> <font color="Maroon">p</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">n</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> holds <br/><font color="Maroon">y</font> <a href="hidden.html#R1">=</a> <font color="Olive">h</font> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Olive">g</font> ) ) )
 <b>by </b><i/>;<br/></div><b>end;</b></div></div><b>end;</b></div>

</div><b>end;</b></div>
<a NAME="E3:55_1_2"/><i><font color="Green">E55</font></i>: 
for <font color="Olive">n</font> being   <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> <br/> for <font color="Olive">x</font>, <font color="Olive">y1</font>, <font color="Olive">y2</font> being   <a href="hidden.html#M1">set</a>   st <font color="Maroon">S<sub>1</sub></font>[<font color="Olive">n</font>,<font color="Olive">x</font>,<font color="Olive">y1</font>] &amp; <font color="Maroon">S<sub>1</sub></font>[<font color="Olive">n</font>,<font color="Olive">x</font>,<font color="Olive">y2</font>] holds <br/><font color="Olive">y1</font> <a href="hidden.html#R1">=</a> <font color="Olive">y2</font>
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="55_1_2_2"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">n</font> be    <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> ;<br/><b>let </b><font color="Maroon">x</font> be    <a href="hidden.html#M1">set</a> , <font color="Maroon">y1</font> be    <a href="hidden.html#M1">set</a> , <font color="Maroon">y2</font> be    <a href="hidden.html#M1">set</a> ;<br/>



<b>assume </b><a NAME="E1:55_1_2_2"/><i><font color="Green">E72</font></i>: 
( <font color="Maroon">S<sub>1</sub></font>[<font color="Maroon">n</font>,<font color="Maroon">x</font>,<font color="Maroon">y1</font>] &amp; <font color="Maroon">S<sub>1</sub></font>[<font color="Maroon">n</font>,<font color="Maroon">x</font>,<font color="Maroon">y2</font>] )
 ;<br/>

<b>reconsider </b><font color="Maroon">h</font> = <font color="Maroon">p</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">n</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> as   <a href="funct_1.html#NM1">Function</a> ;<br/>
<div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="55_1_2_2_1"><b>per </b></a><a class="txt" onclick="hs(this)" href="javascript:()"><b>cases </b></a><span class="hide"><a NAME="E1:55_1_2_2_1"/>
( <font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a> or  not <font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a> )
 </span>;<br/><div class="add"><div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="55_1_2_2_1_1"><b>suppose </b></a><a NAME="E1:55_1_2_2_1_1"/>
<font color="Maroon">x</font> is   <a href="funct_1.html#NM1">Function</a>
 ;<br/><div class="add"><b>then reconsider </b><font color="Maroon">g</font> = <font color="Maroon">x</font> as   <a href="funct_1.html#NM1">Function</a> ;<br/><b>thus </b><font color="Maroon">y1</font> = 
<font color="Maroon">h</font> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Maroon">g</font>
<b>by </b><i/>
<br/>.= 
<font color="Maroon">y2</font>
<b>by </b><i/>
;<br/></div><b>end;</b></div><div><a class="txt" onclick="hsNdiv(this)" href="javascript:()" title="55_1_2_2_1_2"><b>suppose </b></a><a NAME="E1:55_1_2_2_1_2"/>
<font color="Maroon">x</font> is  not   <a href="funct_1.html#NM1">Function</a>
 ;<br/><div class="add"><b>hence </b><a NAME="E2:55_1_2_2_1_2"/>
<font color="Maroon">y1</font> <a href="hidden.html#R1">=</a> <font color="Maroon">y2</font>
 <b>by </b><i/>;<br/></div><b>end;</b></div></div><b>end;</b></div>

</div><b>end;</b></div>
<b>consider </b><font color="Maroon">f</font> being   <a href="funct_1.html#NM1">Function</a><b> such that </b><br/><a NAME="E5:55_1_2"/><i><font color="Green">E73</font></i>: 
(  <a href="relat_1.html#K1">dom</a> <font color="Maroon">f</font> <a href="hidden.html#R1">=</a>  <a href="numbers.html#K5">NAT</a>  &amp; <font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> 0 <a href="hidden.html#R1">=</a>  <a href="partfun1.html#K6">id</a> <font color="Maroon">X</font> )
 <b>and </b><br/><a NAME="E6:55_1_2"/><i><font color="Green">E95</font></i>: 
for <font color="Olive">n</font> being   <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a>  holds  <font color="Maroon">S<sub>1</sub></font>[<font color="Olive">n</font>,<font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <font color="Olive">n</font>,<font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Olive">n</font> <a href="nat_1.html#K1">+</a> 1</span>)</span>]
 <b>from </b><i><a class="ref" href="recdef_1.html#S1">RECDEF_1:sch 1</a>(, );<br/></i>
<b>defpred </b><font color="Maroon">S<sub>2</sub></font>[   <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> ] <b>means </b><font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <font color="Maroon">a<sub>1</sub></font> is   <a href="funct_1.html#NM1">Function</a>;<br/>
<a NAME="E7:55_1_2"/><i><font color="Green">E96</font></i>: 
<font color="Maroon">S<sub>2</sub></font>[0]
 
<b>by </b><i/>;<br/>
<a NAME="E8:55_1_2"/><i><font color="Green">E97</font></i>: 
for <font color="Olive">i</font> being   <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a>   st <font color="Maroon">S<sub>2</sub></font>[<font color="Olive">i</font>] holds <br/><font color="Maroon">S<sub>2</sub></font>[<font color="Olive">i</font> <a href="nat_1.html#K1">+</a> 1]
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="55_1_2_3"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">i</font> be    <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> ;<br/>

<b>assume </b><a NAME="E1:55_1_2_3"/>
<font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <font color="Maroon">i</font> is   <a href="funct_1.html#NM1">Function</a>
 ;<br/>

<b>then reconsider </b><font color="Maroon">g</font> = <font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <font color="Maroon">i</font> as   <a href="funct_1.html#NM1">Function</a> ;<br/>
<b>reconsider </b><font color="Maroon">h</font> = <font color="Maroon">p</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">i</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> as   <a href="funct_1.html#NM1">Function</a> ;<br/>
<a NAME="E4:55_1_2_3"/>
<font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">i</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> <a href="hidden.html#R1">=</a> <font color="Maroon">h</font> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Maroon">g</font>
 
<b>by </b><i/>;<br/>
<b>hence </b><a NAME="E5:55_1_2_3"/>
<font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">i</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> is   <a href="funct_1.html#NM1">Function</a>
 ;<br/>


</div><b>end;</b></div>
<a NAME="E9:55_1_2"/><i><font color="Green">E98</font></i>: 
for <font color="Olive">i</font> being   <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a>  holds  <font color="Maroon">S<sub>2</sub></font>[<font color="Olive">i</font>]
 
<b>from </b><i><a class="ref" href="nat_1.html#S1">NAT_1:sch 1</a>(, );<br/></i>
<b>then reconsider </b><font color="Maroon">F</font> = <font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><a href="finseq_1.html#K3">len</a> <font color="Maroon">p</font></span>)</span> as   <a href="funct_1.html#NM1">Function</a> ;<br/>
<b>take </b>
<font color="Maroon">F</font>
;<br/>

<a NAME="E11:55_1_2"/>
<font color="Maroon">f</font> is <a href="funcop_1.html#V1">Function-yielding</a>
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="55_1_2_4"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">x</font> be    <a href="hidden.html#M1">set</a> ; <i><font color="Red">:: according to </font></i><a class="ref" href="funcop_1.html#D6">FUNCOP_1:def 6</a><br/>

<b>assume </b><a NAME="E1:55_1_2_4"/>
<font color="Maroon">x</font> <a href="hidden.html#R2">in</a>  <a href="relat_1.html#K1">dom</a> <font color="Maroon">f</font>
 ;<br/>

<b>hence </b><a NAME="E2:55_1_2_4"/>
<font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <font color="Maroon">x</font> is    <a href="hidden.html#M1">set</a> 
 <b>by </b><i>, </i>;<br/>


</div><b>end;</b></div>
<b>then reconsider </b><font color="Maroon">f</font> = <font color="Maroon">f</font> as   <a href="pboole.html#NM2">ManySortedFunction</a> of  <a href="numbers.html#K5">NAT</a>  <b>by </b><i>, <a class="ref" href="pboole.html#D3">PBOOLE:def 3</a></i>;<br/>
<b>take </b>
<font color="Maroon">f</font>
;<br/>

<b>thus </b><a NAME="E13:55_1_2"/>
( <font color="Maroon">F</font> <a href="hidden.html#R1">=</a> <font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><a href="finseq_1.html#K3">len</a> <font color="Maroon">p</font></span>)</span> &amp; <font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> 0 <a href="hidden.html#R1">=</a>  <a href="partfun1.html#K6">id</a> <font color="Maroon">X</font> )
 <b>by </b><i/>;<br/>

<b>let </b><font color="Maroon">i</font> be    <a href="subset_1.html#M2">Element</a> of  <a href="numbers.html#K5">NAT</a> ;<br/>

<b>thus </b><a NAME="E14:55_1_2"/>
( <font color="Maroon">i</font> <a href="nat_1.html#K1">+</a> 1 <a href="hidden.html#R2">in</a>  <a href="finseq_1.html#K4">dom</a> <font color="Maroon">p</font> implies for <font color="Olive">g</font>, <font color="Olive">h</font> being  <a href="funct_1.html#NM1">Function</a>  st <font color="Olive">g</font> <a href="hidden.html#R1">=</a> <font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <font color="Maroon">i</font> &amp; <font color="Olive">h</font> <a href="hidden.html#R1">=</a> <font color="Maroon">p</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">i</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> holds <br/><font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">i</font> <a href="nat_1.html#K1">+</a> 1</span>)</span> <a href="hidden.html#R1">=</a> <font color="Olive">h</font> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Olive">g</font> )
 <b>by </b><i/>;<br/>


</div>
