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

<b>let </b><font color="Maroon" title="c1">S</font> be  non <a href="struct_0.html#V2" title="STRUCT_0:attr.2">empty</a> non <a href="msualg_1.html#V2" title="MSUALG_1:attr.2">void</a>  <a href="msualg_1.html#L1" title="MSUALG_1:struct.1">ManySortedSign</a> ;<br/><b>let </b><font color="Maroon" title="c2">U1</font> be  <a href="msualg_1.html#V5" title="MSUALG_1:attr.5">non-empty</a>  <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> of <font color="Maroon" title="c1">S</font>;<br/><b>let </b><font color="Maroon" title="c3">X</font> be  <a href="relat_1.html#V2" title="RELAT_1:attr.2">V2</a>  <a href="pboole.html#M1" title="PBOOLE:mode.1">ManySortedSet</a> of the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">S</font>;<br/><b>let </b><font color="Maroon" title="c4">h1</font>, <font color="Maroon" title="c5">h2</font> be   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <span class="p1">(<span class="default"><a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a> <font color="Maroon" title="c3">X</font></span>)</span>,<font color="Maroon" title="c2">U1</font>;<br/>







<b>assume </b><b>that </b><br/><a NAME="E1:15"/><i><font color="Green" title="E6">A1</font></i>: 
<font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a> <font color="Maroon" title="c3">X</font>,<font color="Maroon" title="c2">U1</font>
 <b>and </b><br/><a NAME="E2:15"/><i><font color="Green" title="E7">A2</font></i>: 
<font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a> <font color="Maroon" title="c3">X</font>,<font color="Maroon" title="c2">U1</font>
 <b>and </b><br/><a NAME="E3:15"/><i><font color="Green" title="E8">A3</font></i>: 
<font color="Maroon" title="c4">h1</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p1">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span> <a href="pboole.html#R6" title="PBOOLE:pred.6">=</a> <font color="Maroon" title="c5">h2</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p1">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span>
 ;<br/>

<a NAME="E4:15"/><i><font color="Green" title="E9">A4</font></i>: 
<font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a> <font color="Maroon" title="c3">X</font>,<font color="Maroon" title="c2">U1</font>
 
<b>by </b><i><a class="txt" href="extens_1.html#E1:15"><i><font color="Green" title="E6">A1</font></i></a></i>;<br/>
<b>defpred </b><font color="Maroon">S<sub>1</sub></font>[  <a href="msualg_1.html#NM1" title="MSUALG_1:NM.1">SortSymbol</a> of <font color="Maroon" title="c1">S</font>,   <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a> ,   <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a> ] <b>means </b><span class="p1">(<span class="default"><font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> $1</span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> $3 <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> $2;<br/>
<a NAME="E5:15"/><i><font color="Green" title="E10">A5</font></i>: 
for <font color="Olive" title="b1">s</font> being  <a href="msualg_1.html#NM1" title="MSUALG_1:NM.1">SortSymbol</a> of <font color="Maroon" title="c1">S</font><br/> for <font color="Olive" title="b2">x</font>, <font color="Olive" title="b3">y</font> being   <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a>   st <font color="Olive" title="b3">y</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="msafree.html#K12" title="MSAFREE:func.12">FreeGen</a> <font color="Olive" title="b1">s</font>,<font color="Maroon" title="c3">X</font> holds <br/>( <span class="p1">(<span class="default"><font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Olive" title="b1">s</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b3">y</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">x</font> iff <font color="Maroon">S<sub>1</sub></font>[<font color="Olive" title="b1">s</font>,<font color="Olive" title="b2">x</font>,<font color="Olive" title="b3">y</font>] )
 
;<br/>
<a NAME="E6:15"/><i><font color="Green" title="E11">A6</font></i>: 
<font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a> <font color="Maroon" title="c3">X</font>,<font color="Maroon" title="c2">U1</font>
 
<b>by </b><i><a class="txt" href="extens_1.html#E2:15"><i><font color="Green" title="E7">A2</font></i></a></i>;<br/>
<a NAME="E7:15"/><i><font color="Green" title="E12">A7</font></i>: 
for <font color="Olive" title="b1">s</font> being  <a href="msualg_1.html#NM1" title="MSUALG_1:NM.1">SortSymbol</a> of <font color="Maroon" title="c1">S</font><br/> for <font color="Olive" title="b2">x</font>, <font color="Olive" title="b3">y</font> being   <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a>   st <font color="Olive" title="b3">y</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="msafree.html#K12" title="MSAFREE:func.12">FreeGen</a> <font color="Olive" title="b1">s</font>,<font color="Maroon" title="c3">X</font> holds <br/>( <span class="p1">(<span class="default"><font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Olive" title="b1">s</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b3">y</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">x</font> iff <font color="Maroon">S<sub>1</sub></font>[<font color="Olive" title="b1">s</font>,<font color="Olive" title="b2">x</font>,<font color="Olive" title="b3">y</font>] )
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="15_1"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon" title="c6">s</font> be   <a href="msualg_1.html#NM1" title="MSUALG_1:NM.1">SortSymbol</a> of <font color="Maroon" title="c1">S</font>;<br/><b>let </b><font color="Maroon" title="c7">x</font>, <font color="Maroon" title="c8">y</font> be    <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a> ;<br/>



<b>assume </b><a NAME="E1:15_1"/><i><font color="Green" title="E13">A8</font></i>: 
<font color="Maroon" title="c8">y</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="msafree.html#K12" title="MSAFREE:func.12">FreeGen</a> <font color="Maroon" title="c6">s</font>,<font color="Maroon" title="c3">X</font>
 ;<br/>

<b>set </b><font color="Maroon" title="c9">FG</font> =  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font>;<br/>
<a NAME="E2:15_1"/><i><font color="Green" title="E14">A9</font></i>: 
( <span class="p1">(<span class="default"><font color="Maroon" title="c4">h1</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span></span>)</span> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> <a href="relset_1.html#K8" title="RELSET_1:func.8">|</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> &amp; <span class="p1">(<span class="default"><font color="Maroon" title="c5">h2</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span></span>)</span> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> <a href="relset_1.html#K8" title="RELSET_1:func.8">|</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> )
 
<b>by </b><i><a class="ref" href="msafree.html#D1" title="MSAFREE:def.1">MSAFREE:def 1</a></i>;<br/>
<a NAME="E3:15_1"/>
<font color="Maroon" title="c8">y</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a> <span class="p1">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c6">s</font>
 
<b>by </b><i><a class="txt" href="extens_1.html#E1:15_1"><i><font color="Green" title="E13">A8</font></i></a>, <a class="ref" href="msafree.html#D18" title="MSAFREE:def.18">MSAFREE:def 18</a></i>;<br/>
<a NAME="E4:15_1"/><b>then </b>
( <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> <a href="relset_1.html#K8" title="RELSET_1:func.8">|</a> <span class="p2">(<span class="default"><span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">y</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">y</font> &amp; <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> <a href="relset_1.html#K8" title="RELSET_1:func.8">|</a> <span class="p2">(<span class="default"><span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c3">X</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">y</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">y</font> )
 
<b>by </b><i><a class="ref" href="funct_1.html#T72" title="FUNCT_1:th.72">FUNCT_1:72</a></i>;<br/>
<b>hence </b><a NAME="E5:15_1"/>
( <span class="p1">(<span class="default"><font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#K1" title="MSUALG_3:func.1">.</a> <font color="Maroon" title="c6">s</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">y</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c7">x</font> iff <font color="Maroon">S<sub>1</sub></font>[<font color="Maroon" title="c6">s</font>,<font color="Maroon" title="c7">x</font>,<font color="Maroon" title="c8">y</font>] )
 <b>by </b><i><a class="txt" href="extens_1.html#E3:15"><i><font color="Green" title="E8">A3</font></i></a>, <a class="txt" href="extens_1.html#E2:15_1"><i><font color="Green" title="E14">A9</font></i></a></i>;<br/>


</div><b>end;</b></div>
<b>thus </b><a NAME="E8:15"/>
<font color="Maroon" title="c4">h1</font> <a href="pboole.html#R6" title="PBOOLE:pred.6">=</a> <font color="Maroon" title="c5">h2</font>
 <b>from </b><i><a class="ref" href="msafree1.html#S3" title="MSAFREE1:sch.3">MSAFREE1:sch 3</a>(<a class="txt" href="extens_1.html#E4:15"><i><font color="Green" title="E9">A4</font></i></a>, <a class="txt" href="extens_1.html#E5:15"><i><font color="Green" title="E10">A5</font></i></a>, <a class="txt" href="extens_1.html#E6:15"><i><font color="Green" title="E11">A6</font></i></a>, <a class="txt" href="extens_1.html#E7:15"><i><font color="Green" title="E12">A7</font></i></a>);</i><br/>


</div>
