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

<b>set </b><font color="Maroon" title="c5">rs</font> =  <a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font>;<br/>
<b>set </b><font color="Maroon" title="c6">D</font> = the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span>;<br/>
<b>deffunc </b><font color="Maroon">H<sub>1</sub></font>(   <a href="subset_1.html#M1" title="SUBSET_1:mode.1">Element</a> of the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span>) <b>-&gt; </b>  <a href="subset_1.html#NM2" title="SUBSET_1:NM.2">Subset</a> of <span class="p1">(<span class="default">the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p2">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span></span>)</span> =  <a href="msualg_4.html#K3" title="MSUALG_4:func.3">Class</a> <font color="Maroon" title="c4">R</font>,$1;<br/>
<b>consider </b><font color="Maroon" title="c7">f</font> being   <a href="funct_1.html#NM1" title="FUNCT_1:NM.1">Function</a><b> such that </b><br/><a NAME="E2:22_1_1"/><i><font color="Green" title="E9">A1</font></i>: 
(  <a href="relat_1.html#NK2" title="RELAT_1:NK.2">dom</a> <font color="Maroon" title="c7">f</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span> &amp; ( for <font color="Olive" title="b1">d</font> being   <a href="subset_1.html#M1" title="SUBSET_1:mode.1">Element</a> of the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span> holds  <font color="Maroon" title="c7">f</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b1">d</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon">H<sub>1</sub></font>(<font color="Olive" title="b1">d</font>) ) )
 <b>from </b><i><a class="ref" href="funct_1.html#S4" title="FUNCT_1:sch.4">FUNCT_1:sch 4</a>();<br/></i>
<a NAME="E3:22_1_1"/><i><font color="Green" title="E10">A2</font></i>: 
the <a href="msualg_1.html#U1" title="MSUALG_1:sel.1">OperSymbols</a> of <font color="Maroon" title="c1">S</font> <a href="hidden.html#NR2" title="HIDDEN:NR.2">&lt;&gt;</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> 
 
<b>by </b><i><a class="ref" href="msualg_1.html#D5" title="MSUALG_1:def.5">MSUALG_1:def 5</a></i>;<br/>
<a NAME="E4:22_1_1"/><b>then </b><i><font color="Green" title="E11">A3</font></i>: 
<font color="Maroon" title="c2">o</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a> the <a href="msualg_1.html#U1" title="MSUALG_1:sel.1">OperSymbols</a> of <font color="Maroon" title="c1">S</font>
 
;<br/>
<a NAME="E5:22_1_1"/><i><font color="Green" title="E12">A4</font></i>: 
(  <a href="relset_1.html#K4" title="RELSET_1:func.4">dom</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> the <a href="msualg_1.html#U1" title="MSUALG_1:sel.1">OperSymbols</a> of <font color="Maroon" title="c1">S</font> &amp;  <a href="relset_1.html#K5" title="RELSET_1:func.5">rng</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font> <a href="tarski.html#R1" title="TARSKI:pred.1">c=</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">S</font> )
 
<b>by </b><i><a class="ref" href="funct_2.html#D1" title="FUNCT_2:def.1">FUNCT_2:def 1</a></i>;<br/>
<a NAME="E6:22_1_1"/>
<font color="Maroon" title="c2">o</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="relat_1.html#NK2" title="RELAT_1:NK.2">dom</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="pboole.html#K7" title="PBOOLE:func.7">*</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font></span>)</span>
 
<b>by </b><i><a class="txt" href="msualg_4.html#E4:22_1_1"><i><font color="Green" title="E11">A3</font></i></a>, <a class="ref" href="pboole.html#D3" title="PBOOLE:def.3">PBOOLE:def 3</a></i>;<br/>
<b>then </b><i><font color="Green" title="E13">A5</font></i>: <span class="p1">(<span class="default">the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="pboole.html#K7" title="PBOOLE:func.7">*</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c2">o</font> = 
the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c2">o</font></span>)</span>
<b>by </b><i><a class="ref" href="funct_1.html#T22" title="FUNCT_1:th.22">FUNCT_1:22</a></i>
<br/>.= 
the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span>
<b>by </b><i><a class="ref" href="msualg_1.html#D7" title="MSUALG_1:def.7">MSUALG_1:def 7</a></i>
;<br/>
<a NAME="E8:22_1_1"/>
 <a href="relat_1.html#NK2" title="RELAT_1:NK.2">dom</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msualg_4.html#K4" title="MSUALG_4:func.4">Class</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="pboole.html#K7" title="PBOOLE:func.7">*</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font></span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="relset_1.html#K4" title="RELSET_1:func.4">dom</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font>
 
<b>by </b><i><a class="txt" href="msualg_4.html#E5:22_1_1"><i><font color="Green" title="E12">A4</font></i></a>, <a class="ref" href="pboole.html#D3" title="PBOOLE:def.3">PBOOLE:def 3</a></i>;<br/>
<b>then </b><i><font color="Green" title="E14">A6</font></i>: <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msualg_4.html#K4" title="MSUALG_4:func.4">Class</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="pboole.html#K7" title="PBOOLE:func.7">*</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c2">o</font> = 
<span class="p1">(<span class="default"><a href="msualg_4.html#K4" title="MSUALG_4:func.4">Class</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default">the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c2">o</font></span>)</span>
<b>by </b><i><a class="txt" href="msualg_4.html#E3:22_1_1"><i><font color="Green" title="E10">A2</font></i></a>, <a class="txt" href="msualg_4.html#E5:22_1_1"><i><font color="Green" title="E12">A4</font></i></a>, <a class="ref" href="funct_1.html#T22" title="FUNCT_1:th.22">FUNCT_1:22</a></i>
<br/>.= 
<span class="p1">(<span class="default"><a href="msualg_4.html#K4" title="MSUALG_4:func.4">Class</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span>
<b>by </b><i><a class="ref" href="msualg_1.html#D7" title="MSUALG_1:def.7">MSUALG_1:def 7</a></i>
;<br/>
<a NAME="E10:22_1_1"/>
for <font color="Olive" title="b1">x</font> being   <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a>   st <font color="Olive" title="b1">x</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a> the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span> holds <br/><font color="Maroon" title="c7">f</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b1">x</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a> <span class="p1">(<span class="default"><a href="msualg_4.html#K4" title="MSUALG_4:func.4">Class</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span>
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="22_1_1_3"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon" title="c8">x</font> be    <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a> ;<br/>

<b>assume </b><a NAME="E1:22_1_1_3"/>
<font color="Maroon" title="c8">x</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a> the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span>
 ;<br/>

<b>then reconsider </b><font color="Maroon" title="c9">x1</font> = <font color="Maroon" title="c8">x</font> as    <a href="subset_1.html#M1" title="SUBSET_1:mode.1">Element</a> of the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span> ;<br/>
<a NAME="E3:22_1_1_3"/>
<font color="Maroon" title="c7">f</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c9">x1</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="msualg_4.html#K3" title="MSUALG_4:func.3">Class</a> <font color="Maroon" title="c4">R</font>,<font color="Maroon" title="c9">x1</font>
 
<b>by </b><i><a class="txt" href="msualg_4.html#E2:22_1_1"><i><font color="Green" title="E9">A1</font></i></a></i>;<br/>
<a NAME="E4:22_1_1_3"/><b>then </b>
<font color="Maroon" title="c7">f</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c9">x1</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="eqrel_1.html#K8" title="EQREL_1:func.8">Class</a> <span class="p1">(<span class="default"><font color="Maroon" title="c4">R</font> <a href="msualg_4.html#K2" title="MSUALG_4:func.2">.</a> <span class="p2">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span></span>)</span>
 
<b>by </b><i><a class="ref" href="eqrel_1.html#D5" title="EQREL_1:def.5">EQREL_1:def 5</a></i>;<br/>
<b>hence </b><a NAME="E5:22_1_1_3"/>
<font color="Maroon" title="c7">f</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">x</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a> <span class="p1">(<span class="default"><a href="msualg_4.html#K4" title="MSUALG_4:func.4">Class</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span>
 <b>by </b><i><a class="ref" href="msualg_4.html#D8" target="_self" title="MSUALG_4:def.8">Def8</a></i>;<br/>


</div><b>end;</b></div>
<b>then reconsider </b><font color="Maroon" title="c8">f</font> = <font color="Maroon" title="c7">f</font> as   <a href="funct_2.html#NM1" title="FUNCT_2:NM.1">Function</a> of <span class="p1">(<span class="default">the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="pboole.html#K7" title="PBOOLE:func.7">*</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c2">o</font>,<span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msualg_4.html#K4" title="MSUALG_4:func.4">Class</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="pboole.html#K7" title="PBOOLE:func.7">*</a> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">ResultSort</a> of <font color="Maroon" title="c1">S</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c2">o</font> <b>by </b><i><a class="txt" href="msualg_4.html#E2:22_1_1"><i><font color="Green" title="E9">A1</font></i></a>, <a class="txt" href="msualg_4.html#E7:22_1_1"><i><font color="Green" title="E13">A5</font></i></a>, <a class="txt" href="msualg_4.html#E9:22_1_1"><i><font color="Green" title="E14">A6</font></i></a>, <a class="ref" href="funct_2.html#T5" title="FUNCT_2:th.5">FUNCT_2:5</a></i>;<br/>
<b>take </b>
<font color="Maroon" title="c8">f</font>
;<br/>

<b>thus </b><a NAME="E12:22_1_1"/>
for <font color="Olive" title="b1">x</font> being   <a href="subset_1.html#M1" title="SUBSET_1:mode.1">Element</a> of the <a href="msualg_1.html#U4" title="MSUALG_1:sel.4">Sorts</a> of <font color="Maroon" title="c3">A</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <span class="p1">(<span class="default"><a href="msualg_1.html#K2" title="MSUALG_1:func.2">the_result_sort_of</a> <font color="Maroon" title="c2">o</font></span>)</span> holds  <font color="Maroon" title="c8">f</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b1">x</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="msualg_4.html#K3" title="MSUALG_4:func.3">Class</a> <font color="Maroon" title="c4">R</font>,<font color="Olive" title="b1">x</font>
 <b>by </b><i><a class="txt" href="msualg_4.html#E2:22_1_1"><i><font color="Green" title="E9">A1</font></i></a></i>;<br/>


</div>
