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

<b>set </b><font color="Maroon">f'</font> = the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font>;<br/>
<b>set </b><font color="Maroon">ff</font> = the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font>;<br/>
<b>set </b><font color="Maroon">g'</font> = the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font>;<br/>
<b>set </b><font color="Maroon">gg</font> = the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font>;<br/>
<a NAME="E1:39_1_2"/><i><font color="Green">E98</font></i>: 
(  <a href="relat_1.html#K1">dom</a> <span class="p1">(<span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font></span>)</span> <a href="hidden.html#R1">=</a> the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> &amp;  <a href="relat_1.html#K1">dom</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font></span>)</span> <a href="hidden.html#R1">=</a> the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> )
 
<b>by </b><i><a class="ref" href="pboole.html#D3">PBOOLE:def 3</a></i>;<br/>
<b>then reconsider </b><font color="Maroon">X</font> =  <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font></span>)</span>, <font color="Maroon">Y</font> =  <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font></span>)</span> as  non <a href="xboole_0.html#V1">empty</a>  <a href="hidden.html#M1">set</a>  <b>by </b><i><a class="ref" href="relat_1.html#T65">RELAT_1:65</a></i>;<br/>
<b>reconsider </b><font color="Maroon">f'</font> = the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font> as   <a href="funct_2.html#NM1">Function</a> of the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font>,<font color="Maroon">X</font> <b>by </b><i>, <a class="ref" href="funct_2.html#T3">FUNCT_2:3</a></i>;<br/>
<b>reconsider </b><font color="Maroon">g'</font> = the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font> as   <a href="funct_2.html#NM1">Function</a> of the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font>,<font color="Maroon">Y</font> <b>by </b><i>, <a class="ref" href="funct_2.html#T3">FUNCT_2:3</a></i>;<br/>
<b>consider </b><font color="Maroon">G</font> being    <a href="algspec1.html#M1" target="_self">rng-retract</a> of <font color="Maroon">g'</font>;<br/>
<a NAME="E6:39_1_2"/>
(  <a href="relat_1.html#K1">dom</a> <font color="Maroon">G</font> <a href="hidden.html#R1">=</a>  <a href="relset_1.html#K5">rng</a> <font color="Maroon">g'</font> &amp;  <a href="relat_1.html#K2">rng</a> <font color="Maroon">G</font> <a href="tarski.html#R1">c=</a> the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> )
 
<b>by </b><i>, <a class="ref" href="algspec1.html#T1" target="_self">Th1</a>, </i>;<br/>
<b>then reconsider </b><font color="Maroon">G</font> = <font color="Maroon">G</font> as   <a href="funct_2.html#NM1">Function</a> of <font color="Maroon">Y</font>,the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <b>by </b><i><a class="ref" href="funct_2.html#D1">FUNCT_2:def 1</a>, <a class="ref" href="relset_1.html#T11">RELSET_1:11</a></i>;<br/>
<b>set </b><font color="Maroon">r</font> = <span class="p1">(<span class="default"><font color="Maroon">f'</font> <a href="partfun1.html#K1">*</a> the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">S</font></span>)</span> <a href="partfun1.html#K1">*</a> <font color="Maroon">G</font>;<br/>
<b>take </b><font color="Maroon">R</font> =  <a href="msualg_1.html#G1">ManySortedSign</a>(# <font color="Maroon">X</font>,<font color="Maroon">Y</font>,<span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon">f'</font> <a href="lang1.html#K16">*</a> </span>)</span> <a href="partfun1.html#K1">*</a> the <a href="msualg_1.html#U2">Arity</a> of <font color="Maroon">S</font></span>)</span> <a href="partfun1.html#K1">*</a> <font color="Maroon">G</font></span>)</span>,<span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon">f'</font> <a href="partfun1.html#K1">*</a> the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">S</font></span>)</span> <a href="partfun1.html#K1">*</a> <font color="Maroon">G</font></span>)</span> #);<br/>

<b>thus </b><a NAME="E8:39_1_2"/>
the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font>,the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font> <a href="pua2mss1.html#R3">form_morphism_between</a> <font color="Maroon">S</font>,<font color="Maroon">R</font>
 <div><a class="txt" onclick="hs2(this)" href="javascript:()" title="39_1_2_1"><b>proof </b></a><div class="add">

<b>thus </b><a NAME="E1:39_1_2_1"/>
(  <a href="relat_1.html#K1">dom</a> <span class="p1">(<span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font></span>)</span> <a href="hidden.html#R1">=</a> the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> &amp;  <a href="relat_1.html#K1">dom</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font></span>)</span> <a href="hidden.html#R1">=</a> the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> )
 <b>by </b><i><a class="ref" href="pboole.html#D3">PBOOLE:def 3</a></i>; <i><font color="Red">:: according to </font></i><a class="ref" href="pua2mss1.html#D13">PUA2MSS1:def 13</a><br/>

<b>thus </b><a NAME="E2:39_1_2_1"/>
(  <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font></span>)</span> <a href="tarski.html#R1">c=</a> the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">R</font> &amp;  <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font></span>)</span> <a href="tarski.html#R1">c=</a> the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">R</font> )
 ;<br/>

<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="39_1_2_1_1"><b>now </b></a><div class="add"><b>let </b><font color="Maroon">x</font> be   <a href="msualg_1.html#NM2">OperSymbol</a> of <font color="Maroon">S</font>;<br/><a NAME="E1:39_1_2_1_1"/><i><font color="Green">E101</font></i>: 
<font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <span class="p1">(<span class="default"><font color="Maroon">G</font> <a href="funct_2.html#K3">.</a> <span class="p2">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span></span>)</span> <a href="hidden.html#R1">=</a> <font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font>
 <b>by </b><i/>;<br/><b>thus </b><span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon">f'</font> <a href="partfun1.html#K1">*</a> the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">S</font></span>)</span> <a href="partfun1.html#K1">*</a> <font color="Maroon">G</font></span>)</span> <a href="partfun1.html#K1">*</a> <font color="Maroon">g'</font></span>)</span> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font> = 
the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">R</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span>
<b>by </b><i><a class="ref" href="funct_2.html#T21">FUNCT_2:21</a></i>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon">f'</font> <a href="partfun1.html#K1">*</a> the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">S</font></span>)</span> <a href="funct_2.html#K3">.</a> <span class="p1">(<span class="default"><font color="Maroon">G</font> <a href="funct_2.html#K3">.</a> <span class="p2">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span></span>)</span>
<b>by </b><i><a class="ref" href="funct_2.html#T21">FUNCT_2:21</a></i>
<br/>.= 
<font color="Maroon">f'</font> <a href="funct_2.html#K3">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2">the_result_sort_of</a> <span class="p2">(<span class="default"><font color="Maroon">G</font> <a href="funct_2.html#K3">.</a> <span class="p3">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span></span>)</span></span>)</span>
<b>by </b><i><a class="ref" href="funct_2.html#T21">FUNCT_2:21</a></i>
<br/>.= 
<font color="Maroon">f'</font> <a href="funct_2.html#K3">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2">the_result_sort_of</a> <font color="Maroon">x</font></span>)</span>
<b>by </b><i>, , </i>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon">f'</font> <a href="partfun1.html#K1">*</a> the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">S</font></span>)</span> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font>
<b>by </b><i><a class="ref" href="funct_2.html#T21">FUNCT_2:21</a></i>
;<br/></div><b>end;</b></div>
<b>hence </b><a NAME="E4:39_1_2_1"/>
<span class="p1">(<span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font></span>)</span> <a href="pboole.html#K7">*</a> the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">S</font> <a href="hidden.html#R1">=</a> the <a href="msualg_1.html#U3">ResultSort</a> of <font color="Maroon">R</font> <a href="funct_1.html#NK3" target="_self">*</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font></span>)</span>
 <b>by </b><i><a class="ref" href="funct_2.html#T113">FUNCT_2:113</a></i>;<br/>

<b>let </b><font color="Maroon">o</font> be    <a href="hidden.html#M1">set</a> ;<br/><b>let </b><font color="Maroon">p</font> be   <a href="funct_1.html#NM1">Function</a>;<br/>



<b>assume </b><a NAME="E5:39_1_2_1"/><i><font color="Green">E102</font></i>: 
( <font color="Maroon">o</font> <a href="hidden.html#R2">in</a> the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> &amp; <font color="Maroon">p</font> <a href="hidden.html#R1">=</a> the <a href="msualg_1.html#U2">Arity</a> of <font color="Maroon">S</font> <a href="funct_1.html#K1">.</a> <font color="Maroon">o</font> )
 ;<br/>

<b>then reconsider </b><font color="Maroon">x</font> = <font color="Maroon">o</font> as   <a href="msualg_1.html#NM2">OperSymbol</a> of <font color="Maroon">S</font> ;<br/>
<a NAME="E7:39_1_2_1"/>
<font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <span class="p1">(<span class="default"><font color="Maroon">G</font> <a href="funct_2.html#K3">.</a> <span class="p2">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span></span>)</span> <a href="hidden.html#R1">=</a> <font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font>
 
<b>by </b><i/>;<br/>
<a NAME="E8:39_1_2_1"/><b>then </b>
<font color="Maroon">f'</font> <a href="lang1.html#K15">*</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K1">the_arity_of</a> <font color="Maroon">x</font></span>)</span> <a href="hidden.html#R1">=</a> <font color="Maroon">f'</font> <a href="lang1.html#K15">*</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K1">the_arity_of</a> <span class="p2">(<span class="default"><font color="Maroon">G</font> <a href="funct_2.html#K3">.</a> <span class="p3">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span></span>)</span></span>)</span>
 
<b>by </b><i>, </i>;<br/>
<b>hence </b><span class="p1">(<span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font></span>)</span> <a href="funct_1.html#NK3" target="_self">*</a> <font color="Maroon">p</font> = 
<span class="p1">(<span class="default"><font color="Maroon">f'</font> <a href="lang1.html#K16">*</a> </span>)</span> <a href="funct_2.html#K3">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K1">the_arity_of</a> <span class="p2">(<span class="default"><font color="Maroon">G</font> <a href="funct_2.html#K3">.</a> <span class="p3">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span></span>)</span></span>)</span>
<b>by </b><i>, <a class="ref" href="lang1.html#D14">LANG1:def 14</a></i>
<br/>.= 
<span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon">f'</font> <a href="lang1.html#K16">*</a> </span>)</span> <a href="partfun1.html#K1">*</a> the <a href="msualg_1.html#U2">Arity</a> of <font color="Maroon">S</font></span>)</span> <a href="funct_2.html#K3">.</a> <span class="p1">(<span class="default"><font color="Maroon">G</font> <a href="funct_2.html#K3">.</a> <span class="p2">(<span class="default"><font color="Maroon">g'</font> <a href="funct_2.html#K3">.</a> <font color="Maroon">x</font></span>)</span></span>)</span>
<b>by </b><i><a class="ref" href="funct_2.html#T21">FUNCT_2:21</a></i>
<br/>.= 
the <a href="msualg_1.html#U2">Arity</a> of <font color="Maroon">R</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default">the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">o</font></span>)</span>
<b>by </b><i><a class="ref" href="funct_2.html#T21">FUNCT_2:21</a></i>
;<br/><br/>


</div><b>end;</b></div>

<b>thus </b><a NAME="E9:39_1_2"/>
( the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">R</font> <a href="hidden.html#R1">=</a>  <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">f</font></span>)</span> &amp; the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">R</font> <a href="hidden.html#R1">=</a>  <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U1">OperSymbols</a> of <font color="Maroon">S</font> <a href="algspec1.html#K1" target="_self">-indexing</a> <font color="Maroon">g</font></span>)</span> )
 ;<br/>


</div>
