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

<span class="kw">let </span><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="struct_0.html#V11" title="STRUCT_0:attr.11">void</a>   <a href="msualg_1.html#L1" title="MSUALG_1:struct.1">ManySortedSign</a> ; <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">X</font> being  <a href="relat_1.html#V2" title="RELAT_1:attr.2">V5</a>() <a href="struct_0.html#NM8" title="STRUCT_0:NM.8">ManySortedSet</a> of <font color="Maroon" title="c1">S</font><br/>  for <font color="Olive" title="b2">T</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>  <font color="Olive">b<sub>1</sub></font>,<font color="Maroon" title="c1">S</font> <a href="msafree4.html#V5" title="MSAFREE4:attr.5">-terms</a>   <a href="msafree4.html#V8" title="MSAFREE4:attr.8">free_in_itself</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon" title="c1">S</font><br/>  for <font color="Olive" title="b3">A</font> being   <a href="msafree4.html#NM2" title="MSAFREE4:NM.2">image</a> of <font color="Olive" title="b2">T</font><br/>  for <font color="Olive" title="b4">G</font> being    <a href="msafree.html#M1" title="MSAFREE:mode.1">GeneratorSet</a> of <font color="Olive" title="b2">T</font>  st <font color="Olive" title="b4">G</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Olive" title="b1">X</font> holds <br/> for <font color="Olive" title="b5">f</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Olive" title="b4">G</font>, the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Olive" title="b3">A</font>  ex <font color="Olive" title="b6">h</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Olive" title="b2">T</font>,<font color="Olive" title="b3">A</font> st <br/>( <font color="Olive" title="b6">h</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Olive" title="b2">T</font>,<font color="Olive" title="b3">A</font> &amp; <font color="Olive" title="b5">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b6">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Olive" title="b4">G</font> )</span><br/><span class="kw">let </span><font color="Maroon" title="c2">X</font> be  <a href="relat_1.html#V2" title="RELAT_1:attr.2">V5</a>() <a href="struct_0.html#NM8" title="STRUCT_0:NM.8">ManySortedSet</a> of <font color="Maroon" title="c1">S</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">T</font> being   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>  <font color="Maroon" title="c2">X</font>,<font color="Maroon" title="c1">S</font> <a href="msafree4.html#V5" title="MSAFREE4:attr.5">-terms</a>   <a href="msafree4.html#V8" title="MSAFREE4:attr.8">free_in_itself</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon" title="c1">S</font><br/>  for <font color="Olive" title="b2">A</font> being   <a href="msafree4.html#NM2" title="MSAFREE4:NM.2">image</a> of <font color="Olive" title="b1">T</font><br/>  for <font color="Olive" title="b3">G</font> being    <a href="msafree.html#M1" title="MSAFREE:mode.1">GeneratorSet</a> of <font color="Olive" title="b1">T</font>  st <font color="Olive" title="b3">G</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c2">X</font> holds <br/> for <font color="Olive" title="b4">f</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Olive" title="b3">G</font>, the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Olive" title="b2">A</font>  ex <font color="Olive" title="b5">h</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Olive" title="b1">T</font>,<font color="Olive" title="b2">A</font> st <br/>( <font color="Olive" title="b5">h</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Olive" title="b1">T</font>,<font color="Olive" title="b2">A</font> &amp; <font color="Olive" title="b4">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b5">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Olive" title="b3">G</font> )</span><br/><span class="kw">let </span><font color="Maroon" title="c3">T</font> be   <a href="msualg_1.html#V4" title="MSUALG_1:attr.4">non-empty</a>  <font color="Maroon" title="c2">X</font>,<font color="Maroon" title="c1">S</font> <a href="msafree4.html#V5" title="MSAFREE4:attr.5">-terms</a>   <a href="msafree4.html#V8" title="MSAFREE4:attr.8">free_in_itself</a>   <a href="msualg_1.html#L3" title="MSUALG_1:struct.3">MSAlgebra</a> over <font color="Maroon" title="c1">S</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">A</font> being   <a href="msafree4.html#NM2" title="MSAFREE4:NM.2">image</a> of <font color="Maroon" title="c3">T</font><br/>  for <font color="Olive" title="b2">G</font> being    <a href="msafree.html#M1" title="MSAFREE:mode.1">GeneratorSet</a> of <font color="Maroon" title="c3">T</font>  st <font color="Olive" title="b2">G</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c2">X</font> holds <br/> for <font color="Olive" title="b3">f</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Olive" title="b2">G</font>, the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Olive" title="b1">A</font>  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="c3">T</font>,<font color="Olive" title="b1">A</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="c3">T</font>,<font color="Olive" title="b1">A</font> &amp; <font color="Olive" title="b3">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b4">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Olive" title="b2">G</font> )</span><br/><span class="kw">let </span><font color="Maroon" title="c4">A</font> be   <a href="msafree4.html#NM2" title="MSAFREE4:NM.2">image</a> of <font color="Maroon" title="c3">T</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="msafree.html#M1" title="MSAFREE:mode.1">GeneratorSet</a> of <font color="Maroon" title="c3">T</font>  st <font color="Olive" title="b1">G</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c2">X</font> holds <br/> for <font color="Olive" title="b2">f</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Olive" title="b1">G</font>, the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c4">A</font>  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="c3">T</font>,<font color="Maroon" title="c4">A</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="c3">T</font>,<font color="Maroon" title="c4">A</font> &amp; <font color="Olive" title="b2">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b3">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Olive" title="b1">G</font> )</span><br/><span class="kw">let </span><font color="Maroon" title="c5">G</font> be    <a href="msafree.html#M1" title="MSAFREE:mode.1">GeneratorSet</a> of <font color="Maroon" title="c3">T</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="c5">G</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c2">X</font> implies  for <font color="Olive" title="b1">f</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon" title="c5">G</font>, the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c4">A</font>  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="c3">T</font>,<font color="Maroon" title="c4">A</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="c3">T</font>,<font color="Maroon" title="c4">A</font> &amp; <font color="Olive" title="b1">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Maroon" title="c5">G</font> ) )</span><br/>









<span class="kw">assume </span><a NAME="E1:94"/><span class="lab"><font color="Green" title="E49">A1</font></span>: 
<font color="Maroon" title="c5">G</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c2">X</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">f</font> being    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon" title="c5">G</font>, the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c4">A</font>  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="c3">T</font>,<font color="Maroon" title="c4">A</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="c3">T</font>,<font color="Maroon" title="c4">A</font> &amp; <font color="Olive" title="b1">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b2">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Maroon" title="c5">G</font> )</span><br/>

<span class="kw">let </span><font color="Maroon" title="c6">f</font> be    <a href="pboole.html#M2" title="PBOOLE:mode.2">ManySortedFunction</a> of <font color="Maroon" title="c5">G</font>, the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c4">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">h</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c4">A</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="c3">T</font>,<font color="Maroon" title="c4">A</font> &amp; <font color="Maroon" title="c6">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Olive" title="b1">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Maroon" title="c5">G</font> )</span><br/>

<span class="kw">reconsider </span><font color="Maroon" title="c7">H</font> =  <a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a> <font color="Maroon" title="c2">X</font> as  <a href="relat_1.html#V2" title="RELAT_1:attr.2">V5</a>()  <a href="msafree.html#M1" title="MSAFREE:mode.1">GeneratorSet</a> of  <a href="msafree3.html#K1" title="MSAFREE3:func.1">Free</a> (<font color="Maroon" title="c1">S</font>,<font color="Maroon" title="c2">X</font>) <span class="kw">by</span> <span class="lab"><a class="ref" href="msafree3.html#T31" onmouseover="rs('msafree3/T31')" onmouseout="rh()">MSAFREE3:31</a></span>;<br/>
<span class="kw">consider </span><font color="Maroon" title="c8">j</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c4">A</font><span class="kw"> such that </span><br/><a NAME="E4:94"/><span class="lab"><font color="Green" title="E50">A2</font></span>: 
<font color="Maroon" title="c8">j</font> <a href="msualg_3.html#R2" title="MSUALG_3:pred.2">is_epimorphism</a> <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c4">A</font>
 <span class="kw">by</span> <span class="lab"><a class="ref" href="msafree4.html#D5" target="_self" onmouseover="rs('msafree4/D5')" onmouseout="rh()">Def5</a></span>;<br/>
<a NAME="E5:94"/><span class="lab"><font color="Green" title="E51">A3</font></span>: 
( <font color="Maroon" title="c8">j</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c4">A</font> &amp; <font color="Maroon" title="c8">j</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="#E4:94"><span class="lab"><font color="Green" title="E50">A2</font></span></a></span>;<br/>
<span class="kw">consider </span><font color="Maroon" title="c9">jj</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c4">A</font>,<font color="Maroon" title="c3">T</font><span class="kw"> such that </span><br/><a NAME="E7:94"/><span class="lab"><font color="Green" title="E52">A4</font></span>: 
<font color="Maroon" title="c8">j</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c9">jj</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="msualg_3.html#K2" title="MSUALG_3:func.2">id</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c4">A</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E5:94"><span class="lab"><font color="Green" title="E51">A3</font></span></a>, <a class="ref" href="msafree4.html#T23" target="_self" onmouseover="rs('msafree4/T23')" onmouseout="rh()">Th23</a>, <a class="ref" href="msafree4.html#T21" target="_self" onmouseover="rs('msafree4/T21')" onmouseout="rh()">Th21</a></span>;<br/>
<span class="kw">consider </span><font color="Maroon" title="c10">h</font> being   <a href="msualg_3.html#NM1" title="MSUALG_3:NM.1">ManySortedFunction</a> of <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c3">T</font><span class="kw"> such that </span><br/><a NAME="E9:94"/><span class="lab"><font color="Green" title="E53">A5</font></span>: 
( <font color="Maroon" title="c10">h</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c3">T</font> &amp; <font color="Maroon" title="c9">jj</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c6">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c10">h</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Maroon" title="c5">G</font> )
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:94"><span class="lab"><font color="Green" title="E49">A1</font></span></a>, <a class="ref" href="msafree4.html#D9" target="_self" onmouseover="rs('msafree4/D9')" onmouseout="rh()">Def9</a></span>;<br/>
<span class="kw">take </span><font color="Maroon" title="c11">k</font> = <font color="Maroon" title="c8">j</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c10">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="c11">k</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c4">A</font> &amp; <font color="Maroon" title="c6">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c11">k</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Maroon" title="c5">G</font> )</span><br/>

<span class="kw">thus </span><a NAME="E10:94"/>
<font color="Maroon" title="c11">k</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a> <font color="Maroon" title="c3">T</font>,<font color="Maroon" title="c4">A</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E5:94"><span class="lab"><font color="Green" title="E51">A3</font></span></a>, <a class="txt" href="#E9:94"><span class="lab"><font color="Green" title="E53">A5</font></span></a>, <a class="ref" href="msualg_3.html#T10" onmouseover="rs('msualg_3/T10')" onmouseout="rh()">MSUALG_3:10</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="c6">f</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c11">k</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Maroon" title="c5">G</font></span><br/>

<span class="kw">thus </span><font color="Maroon" title="c6">f</font> = 
<span class="p1">(<span class="default"><a href="msualg_3.html#K2" title="MSUALG_3:func.2">id</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c4">A</font></span>)</span> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c6">f</font>
<span class="kw">by</span> <span class="lab"><a class="ref" href="msualg_3.html#T4" onmouseover="rs('msualg_3/T4')" onmouseout="rh()">MSUALG_3:4</a></span>
<br/>.= 
<font color="Maroon" title="c8">j</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <span class="p1">(<span class="default"><font color="Maroon" title="c9">jj</font> <a href="msualg_3.html#K3" title="MSUALG_3:func.3">**</a> <font color="Maroon" title="c6">f</font></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E7:94"><span class="lab"><font color="Green" title="E52">A4</font></span></a>, <a class="ref" href="pboole.html#T140" onmouseover="rs('pboole/T140')" onmouseout="rh()">PBOOLE:140</a></span>
<br/>.= 
<font color="Maroon" title="c11">k</font> <a href="msafree.html#K1" title="MSAFREE:func.1">||</a> <font color="Maroon" title="c5">G</font>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E9:94"><span class="lab"><font color="Green" title="E53">A5</font></span></a>, <a class="ref" href="extens_1.html#T4" onmouseover="rs('extens_1/T4')" onmouseout="rh()">EXTENS_1:4</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>
