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

<a NAME="E1:4_1"/><span class="lab"><font color="Green" title="E6">A4</font></span>: 
 for <font color="Olive" title="b1">A</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>()<br/>  for <font color="Olive" title="b2">B</font> being   <a href="msualg_1.html#V3" title="MSUALG_1:attr.3">strict</a>   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_2.html#M1" title="MSUALG_2:mode.1">MSSubAlgebra</a> of <font color="Olive" title="b1">A</font>  st <font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b1">A</font>] holds <br/><font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b2">B</font>]
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E2:4"><span class="lab"><font color="Green" title="E4">A2</font></span></a></span>;<br/>
<a NAME="E2:4_1"/><span class="lab"><font color="Green" title="E7">A5</font></span>: 
 for <font color="Olive" title="b1">I</font> being    <a href="hidden.html#M2" title="HIDDEN:mode.2">set</a> <br/>  for <font color="Olive" title="b2">F</font> being    <a href="pralg_2.html#M1" title="PRALG_2:mode.1">MSAlgebra-Family</a> of <font color="Olive" title="b1">I</font>,<font color="Maroon">F<sub>1</sub></font>()  st (  for <font color="Olive" title="b3">i</font> being    <a href="hidden.html#M2" title="HIDDEN:mode.2">set</a>   st <font color="Olive" title="b3">i</font> <a href="tarski.html#R2" title="TARSKI:pred.2">in</a> <font color="Olive" title="b1">I</font> holds <br/> ex <font color="Olive" title="b4">A</font> being    <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>() st <br/>( <font color="Olive" title="b4">A</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">F</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b3">i</font> &amp; <font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b4">A</font>] ) ) holds <br/><font color="Maroon">P<sub>1</sub></font>[ <a href="pralg_2.html#K14" title="PRALG_2:func.14">product</a> <font color="Olive" title="b2">F</font>]
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E3:4"><span class="lab"><font color="Green" title="E5">A3</font></span></a></span>;<br/>
<span class="kw">set </span><font color="Maroon" title="c1">FM</font> =  <a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a> <font color="Maroon">F<sub>2</sub></font>();<br/>
<a NAME="E3:4_1"/><span class="lab"><font color="Green" title="E8">A6</font></span>: 
 <a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>() is  <a href="msualg_3.html#V1" title="MSUALG_3:attr.1">"1-1"</a> 
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="msualg_9.html#T11" onmouseover="rs('msualg_9/T11')" onmouseout="rh()">MSUALG_9:11</a></span>;<br/>
<a NAME="E4:4_1"/><span class="lab"><font color="Green" title="E9">A7</font></span>: 
 for <font color="Olive" title="b1">A</font>, <font color="Olive" title="b2">B</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>()  st <font color="Olive" title="b1">A</font>,<font color="Olive" title="b2">B</font> <a href="msualg_3.html#R6" title="MSUALG_3:pred.6">are_isomorphic</a>  &amp; <font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b1">A</font>] holds <br/><font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b2">B</font>]
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:4"><span class="lab"><font color="Green" title="E3">A1</font></span></a></span>;<br/>
<span class="kw">consider </span><font color="Maroon" title="c2">A</font> being   <a href="msualg_1.html#V3" title="MSUALG_1:attr.3">strict</a>   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>(), <font color="Maroon" title="c3">F</font> being   <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">F<sub>2</sub></font>()</span>)</span>,<font color="Maroon" title="c2">A</font><span class="kw"> such that </span><br/><a NAME="E6:4_1"/><span class="lab"><font color="Green" title="E10">A8</font></span>: 
<font color="Maroon">P<sub>1</sub></font>[<font color="Maroon" title="c2">A</font>]
 <span class="kw">and </span><br/><a NAME="E7:4_1"/><span class="lab"><font color="Green" title="E11">A9</font></span>: 
<font color="Maroon" title="c3">F</font> <a href="msualg_3.html#R2" title="MSUALG_3:pred.2">is_epimorphism</a>  <a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a> <font color="Maroon">F<sub>2</sub></font>(),<font color="Maroon" title="c2">A</font>
 <span class="kw">and </span><br/><a NAME="E8:4_1"/><span class="lab"><font color="Green" title="E12">A10</font></span>: 
 for <font color="Olive" title="b1">B</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>()<br/>  for <font color="Olive" title="b2">G</font> being   <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">F<sub>2</sub></font>()</span>)</span>,<font color="Olive" title="b1">B</font>  st <font color="Olive" title="b2">G</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">F<sub>2</sub></font>(),<font color="Olive" title="b1">B</font> &amp; <font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b1">B</font>] holds <br/> ex <font color="Olive" title="b3">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> st <br/>( <font color="Olive" title="b3">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> &amp; <font color="Olive" title="b3">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">G</font> &amp; (  for <font color="Olive" title="b4">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font>  st <font color="Olive" title="b4">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">G</font> holds <br/><font color="Olive" title="b3">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b4">K</font> ) )
 <span class="kw">from</span> <span class="lab"><a class="ref" href="birkhoff.html#S1" target="_self" onmouseover="rs('birkhoff/S1')" onmouseout="rh()">BIRKHOFF:sch 1</a>(<a class="txt" href="#E4:4_1"><span class="lab"><font color="Green" title="E9">A7</font></span></a>, <a class="txt" href="#E1:4_1"><span class="lab"><font color="Green" title="E6">A4</font></span></a>, <a class="txt" href="#E2:4_1"><span class="lab"><font color="Green" title="E7">A5</font></span></a>);<br/></span>
<span class="kw">reconsider </span><font color="Maroon" title="c4">R</font> = <span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span> as    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon">F<sub>2</sub></font>(), the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font> ;<br/>
<span class="kw">take </span>
<font color="Maroon" title="c2">A</font>
; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide">  ex <font color="Olive" title="b1">F</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon">F<sub>2</sub></font>(), the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font> st <br/>( <font color="Maroon">P<sub>1</sub></font>[<font color="Maroon" title="c2">A</font>] &amp; (  for <font color="Olive" title="b2">B</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>()<br/>  for <font color="Olive" title="b3">G</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon">F<sub>2</sub></font>(), the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Olive" title="b2">B</font>  st <font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b2">B</font>] holds <br/> ex <font color="Olive" title="b4">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b2">B</font> st <br/>( <font color="Olive" title="b4">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b2">B</font> &amp; <font color="Olive" title="b4">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Olive" title="b1">F</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b3">G</font> &amp; (  for <font color="Olive" title="b5">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b2">B</font>  st <font color="Olive" title="b5">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b2">B</font> &amp; <font color="Olive" title="b5">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Olive" title="b1">F</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b3">G</font> holds <br/><font color="Olive" title="b4">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b5">K</font> ) ) ) )</span><br/>

<span class="kw">take </span>
<font color="Maroon" title="c4">R</font>
; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> ( <font color="Maroon">P<sub>1</sub></font>[<font color="Maroon" title="c2">A</font>] &amp; (  for <font color="Olive" title="b1">B</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>()<br/>  for <font color="Olive" title="b2">G</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon">F<sub>2</sub></font>(), the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Olive" title="b1">B</font>  st <font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b1">B</font>] holds <br/> ex <font color="Olive" title="b3">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> st <br/>( <font color="Olive" title="b3">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> &amp; <font color="Olive" title="b3">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">G</font> &amp; (  for <font color="Olive" title="b4">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font>  st <font color="Olive" title="b4">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> &amp; <font color="Olive" title="b4">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">G</font> holds <br/><font color="Olive" title="b3">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b4">K</font> ) ) ) )</span><br/>

<span class="kw">thus </span><a NAME="E10:4_1"/>
<font color="Maroon">P<sub>1</sub></font>[<font color="Maroon" title="c2">A</font>]
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E6:4_1"><span class="lab"><font color="Green" title="E10">A8</font></span></a></span>; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide">  for <font color="Olive" title="b1">B</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>()<br/>  for <font color="Olive" title="b2">G</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon">F<sub>2</sub></font>(), the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Olive" title="b1">B</font>  st <font color="Maroon">P<sub>1</sub></font>[<font color="Olive" title="b1">B</font>] holds <br/> ex <font color="Olive" title="b3">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> st <br/>( <font color="Olive" title="b3">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> &amp; <font color="Olive" title="b3">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">G</font> &amp; (  for <font color="Olive" title="b4">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font>  st <font color="Olive" title="b4">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Olive" title="b1">B</font> &amp; <font color="Olive" title="b4">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">G</font> holds <br/><font color="Olive" title="b3">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b4">K</font> ) )</span><br/>

<span class="kw">let </span><font color="Maroon" title="c5">B</font> be   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon">F<sub>1</sub></font>(); <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide">  for <font color="Olive" title="b1">G</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon">F<sub>2</sub></font>(), the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c5">B</font>  st <font color="Maroon">P<sub>1</sub></font>[<font color="Maroon" title="c5">B</font>] holds <br/> ex <font color="Olive" title="b2">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> st <br/>( <font color="Olive" title="b2">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b2">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b1">G</font> &amp; (  for <font color="Olive" title="b3">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>  st <font color="Olive" title="b3">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b3">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b1">G</font> holds <br/><font color="Olive" title="b2">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b3">K</font> ) )</span><br/><span class="kw">let </span><font color="Maroon" title="c6">G</font> be    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon">F<sub>2</sub></font>(), the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c5">B</font>; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> ( <font color="Maroon">P<sub>1</sub></font>[<font color="Maroon" title="c5">B</font>] implies  ex <font color="Olive" title="b1">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> st <br/>( <font color="Olive" title="b1">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b1">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> &amp; (  for <font color="Olive" title="b2">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>  st <font color="Olive" title="b2">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b2">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> holds <br/><font color="Olive" title="b1">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">K</font> ) ) )</span><br/>



<span class="kw">assume </span><a NAME="E11:4_1"/><span class="lab"><font color="Green" title="E13">A11</font></span>: 
<font color="Maroon">P<sub>1</sub></font>[<font color="Maroon" title="c5">B</font>]
 ; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide">  ex <font color="Olive" title="b1">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> st <br/>( <font color="Olive" title="b1">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b1">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> &amp; (  for <font color="Olive" title="b2">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>  st <font color="Olive" title="b2">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b2">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> holds <br/><font color="Olive" title="b1">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">K</font> ) )</span><br/>

<span class="kw">consider </span><font color="Maroon" title="c7">GG</font> being   <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">F<sub>2</sub></font>()</span>)</span>,<font color="Maroon" title="c5">B</font><span class="kw"> such that </span><br/><a NAME="E13:4_1"/><span class="lab"><font color="Green" title="E14">A12</font></span>: 
<font color="Maroon" title="c7">GG</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">F<sub>2</sub></font>(),<font color="Maroon" title="c5">B</font>
 <span class="kw">and </span><br/><a NAME="E14:4_1"/><span class="lab"><font color="Green" title="E15">A13</font></span>: 
<font color="Maroon" title="c7">GG</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">F<sub>2</sub></font>()</span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span>
 <span class="kw">by</span> <span class="lab"><a class="ref" href="msafree.html#D5" onmouseover="rs('msafree/D5')" onmouseout="rh()">MSAFREE:def 5</a></span>;<br/>
<span class="kw">consider </span><font color="Maroon" title="c8">H</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font><span class="kw"> such that </span><br/><a NAME="E16:4_1"/><span class="lab"><font color="Green" title="E16">A14</font></span>: 
<font color="Maroon" title="c8">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>
 <span class="kw">and </span><br/><a NAME="E17:4_1"/><span class="lab"><font color="Green" title="E17">A15</font></span>: 
<font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c7">GG</font>
 <span class="kw">and </span><br/><a NAME="E18:4_1"/>
 for <font color="Olive" title="b1">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>  st <font color="Olive" title="b1">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c7">GG</font> holds <br/><font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b1">K</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E8:4_1"><span class="lab"><font color="Green" title="E12">A10</font></span></a>, <a class="txt" href="#E11:4_1"><span class="lab"><font color="Green" title="E13">A11</font></span></a>, <a class="txt" href="#E13:4_1"><span class="lab"><font color="Green" title="E14">A12</font></span></a></span>;<br/>
<span class="kw">take </span>
<font color="Maroon" title="c8">H</font>
; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> ( <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> &amp; (  for <font color="Olive" title="b1">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>  st <font color="Olive" title="b1">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b1">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> holds <br/><font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b1">K</font> ) )</span><br/>

<span class="kw">thus </span><a NAME="E19:4_1"/>
<font color="Maroon" title="c8">H</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E16:4_1"><span class="lab"><font color="Green" title="E16">A14</font></span></a></span>; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> ( <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> &amp; (  for <font color="Olive" title="b1">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>  st <font color="Olive" title="b1">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b1">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> holds <br/><font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b1">K</font> ) )</span><br/>

<a NAME="E20:4_1"/><span class="lab"><font color="Green" title="E18">A16</font></span>: 
<font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c7">GG</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">F<sub>2</sub></font>()</span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E17:4_1"><span class="lab"><font color="Green" title="E17">A15</font></span></a>, <a class="ref" href="extens_1.html#T4" onmouseover="rs('extens_1/T4')" onmouseout="rh()">EXTENS_1:4</a></span>;<br/>
<a NAME="E21:4_1"/><span class="lab"><font color="Green" title="E19">A17</font></span>: 
<font color="Maroon" title="c3">F</font> is  <a href="msualg_3.html#V2" title="MSUALG_3:attr.2">"onto"</a> 
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E7:4_1"><span class="lab"><font color="Green" title="E11">A9</font></span></a>, <a class="ref" href="msualg_3.html#D8" onmouseover="rs('msualg_3/D8')" onmouseout="rh()">MSUALG_3:def 8</a></span>;<br/>
<a NAME="E22:4_1"/>
 <a href="funct_6.html#K2" title="FUNCT_6:func.2">rngs</a> <span class="p1">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon">F<sub>2</sub></font>()
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="extens_1.html#T10" onmouseover="rs('extens_1/T10')" onmouseout="rh()">EXTENS_1:10</a></span>;<br/>
<a NAME="E23:4_1"/><span class="kw">then </span><span class="lab"><font color="Green" title="E20">A18</font></span>: 
 <a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>() is  <a href="msualg_3.html#V2" title="MSUALG_3:attr.2">"onto"</a> 
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="extens_1.html#T9" onmouseover="rs('extens_1/T9')" onmouseout="rh()">EXTENS_1:9</a></span>;<br/>
<font color="Maroon" title="c4">R</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> = 
<span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="ref" href="pboole.html#T140" onmouseover="rs('pboole/T140')" onmouseout="rh()">PBOOLE:140</a></span>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><a href="msualg_3.html#K2" title="MSUALG_3:func.2">id</a> <span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E23:4_1"><span class="lab"><font color="Green" title="E20">A18</font></span></a>, <a class="txt" href="#E3:4_1"><span class="lab"><font color="Green" title="E8">A6</font></span></a>, <a class="ref" href="msualg_3.html#T5" onmouseover="rs('msualg_3/T5')" onmouseout="rh()">MSUALG_3:5</a></span>
<br/>.= 
<font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span>
<span class="kw">by</span> <span class="lab"><a class="ref" href="msualg_3.html#T3" onmouseover="rs('msualg_3/T3')" onmouseout="rh()">MSUALG_3:3</a></span>
;<br/>
<a NAME="E25:4_1"/><span class="kw">then </span><span class="lab"><font color="Green" title="E21">A19</font></span>: 
<span class="p1">(<span class="default"><font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E14:4_1"><span class="lab"><font color="Green" title="E15">A13</font></span></a>, <a class="txt" href="#E20:4_1"><span class="lab"><font color="Green" title="E18">A16</font></span></a>, <a class="ref" href="pboole.html#T140" onmouseover="rs('pboole/T140')" onmouseout="rh()">PBOOLE:140</a></span>;<br/>
<span class="kw">hence </span><a NAME="E26:4_1"/>
<font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E23:4_1"><span class="lab"><font color="Green" title="E20">A18</font></span></a>, <a class="ref" href="extens_1.html#T12" onmouseover="rs('extens_1/T12')" onmouseout="rh()">EXTENS_1:12</a></span>; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide">  for <font color="Olive" title="b1">K</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>  st <font color="Olive" title="b1">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Olive" title="b1">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> holds <br/><font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b1">K</font></span><br/>

<span class="kw">let </span><font color="Maroon" title="c9">K</font> be   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> ( <font color="Maroon" title="c9">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font> &amp; <font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> implies <font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c9">K</font> )</span><br/>

<span class="kw">assume </span><a NAME="E27:4_1"/><span class="lab"><font color="Green" title="E22">A20</font></span>: 
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c2">A</font>,<font color="Maroon" title="c5">B</font>
 ; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> (  not <font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font> or <font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c9">K</font> )</span><br/>

<span class="kw">assume </span><a NAME="E28:4_1"/>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c4">R</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c6">G</font>
 ; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> <font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c9">K</font></span><br/>

<a NAME="E29:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p4">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p4">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span></span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E25:4_1"><span class="lab"><font color="Green" title="E21">A19</font></span></a>, <a class="ref" href="pboole.html#T140" onmouseover="rs('pboole/T140')" onmouseout="rh()">PBOOLE:140</a></span>;<br/>
<a NAME="E30:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p4">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p4">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="pboole.html#T140" onmouseover="rs('pboole/T140')" onmouseout="rh()">PBOOLE:140</a></span>;<br/>
<a NAME="E31:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><span class="p3">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p4">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="pboole.html#T140" onmouseover="rs('pboole/T140')" onmouseout="rh()">PBOOLE:140</a></span>;<br/>
<a NAME="E32:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="pboole.html#T140" onmouseover="rs('pboole/T140')" onmouseout="rh()">PBOOLE:140</a></span>;<br/>
<a NAME="E33:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msualg_3.html#K2" title="MSUALG_3:func.2">id</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><span class="p3">(<span class="default"><span class="p4">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span> <a href="msualg_3.html#K4" title="MSUALG_3:func.4">""</a></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p3">(<span class="default"><a href="msafree.html#K15" title="MSAFREE:func.15">Reverse</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E23:4_1"><span class="lab"><font color="Green" title="E20">A18</font></span></a>, <a class="txt" href="#E3:4_1"><span class="lab"><font color="Green" title="E8">A6</font></span></a>, <a class="ref" href="msualg_3.html#T5" onmouseover="rs('msualg_3/T5')" onmouseout="rh()">MSUALG_3:5</a></span>;<br/>
<a NAME="E34:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msualg_3.html#K2" title="MSUALG_3:func.2">id</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msualg_3.html#K2" title="MSUALG_3:func.2">id</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E23:4_1"><span class="lab"><font color="Green" title="E20">A18</font></span></a>, <a class="txt" href="#E3:4_1"><span class="lab"><font color="Green" title="E8">A6</font></span></a>, <a class="ref" href="msualg_3.html#T5" onmouseover="rs('msualg_3/T5')" onmouseout="rh()">MSUALG_3:5</a></span>;<br/>
<a NAME="E35:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c3">F</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p2">(<span class="default"><a href="msualg_3.html#K2" title="MSUALG_3:func.2">id</a> <span class="p3">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon">F<sub>2</sub></font>()</span>)</span></span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="msualg_3.html#T3" onmouseover="rs('msualg_3/T3')" onmouseout="rh()">MSUALG_3:3</a></span>;<br/>
<a NAME="E36:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="msualg_3.html#T3" onmouseover="rs('msualg_3/T3')" onmouseout="rh()">MSUALG_3:3</a></span>;<br/>
<a NAME="E37:4_1"/><span class="kw">then </span>
<span class="p1">(<span class="default"><font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font></span>)</span> <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">F<sub>2</sub></font>()</span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><font color="Maroon" title="c3">F</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">F<sub>2</sub></font>()</span>)</span></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="extens_1.html#T4" onmouseover="rs('extens_1/T4')" onmouseout="rh()">EXTENS_1:4</a></span>;<br/>
<a NAME="E38:4_1"/><span class="kw">then </span><span class="lab"><font color="Green" title="E23">A21</font></span>: 
<span class="p1">(<span class="default"><font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font></span>)</span> <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">F<sub>2</sub></font>()</span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font></span>)</span> <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">F<sub>2</sub></font>()</span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="extens_1.html#T4" onmouseover="rs('extens_1/T4')" onmouseout="rh()">EXTENS_1:4</a></span>;<br/>
<a NAME="E39:4_1"/>
<font color="Maroon" title="c3">F</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">F<sub>2</sub></font>(),<font color="Maroon" title="c2">A</font>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E7:4_1"><span class="lab"><font color="Green" title="E11">A9</font></span></a>, <a class="ref" href="msualg_3.html#D8" onmouseover="rs('msualg_3/D8')" onmouseout="rh()">MSUALG_3:def 8</a></span>;<br/>
<a NAME="E40:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</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">F<sub>2</sub></font>(),<font color="Maroon" title="c5">B</font>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E27:4_1"><span class="lab"><font color="Green" title="E22">A20</font></span></a>, <a class="ref" href="msualg_3.html#T10" onmouseover="rs('msualg_3/T10')" onmouseout="rh()">MSUALG_3:10</a></span>;<br/>
<a NAME="E41:4_1"/><span class="kw">then </span>
<font color="Maroon" title="c9">K</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c8">H</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c3">F</font>
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E13:4_1"><span class="lab"><font color="Green" title="E14">A12</font></span></a>, <a class="txt" href="#E17:4_1"><span class="lab"><font color="Green" title="E17">A15</font></span></a>, <a class="txt" href="#E38:4_1"><span class="lab"><font color="Green" title="E23">A21</font></span></a>, <a class="ref" href="extens_1.html#T14" onmouseover="rs('extens_1/T14')" onmouseout="rh()">EXTENS_1:14</a></span>;<br/>
<span class="kw">hence </span><a NAME="E42:4_1"/>
<font color="Maroon" title="c8">H</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c9">K</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E21:4_1"><span class="lab"><font color="Green" title="E19">A17</font></span></a>, <a class="ref" href="extens_1.html#T12" onmouseover="rs('extens_1/T12')" onmouseout="rh()">EXTENS_1:12</a></span>; <a class="txt" onmouseover="tooltip.show('hs',this)" onmouseout="tooltip.hide()" onclick="hs(this)" href="javascript:()"><span class="comment"><font color="firebrick">::  thesis: </font></span></a><span class="hide"> verum</span><br/>


</div>
