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

<span class="kw">let </span><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="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font></span>)</span>,<span class="p1">(<span class="default"><a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font></span>)</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="c4">h1</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font>, <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font> &amp;  <a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font> <a href="pboole.html#R2" title="PBOOLE:pred.2">c=</a> <font color="Maroon" title="c4">h1</font> &amp; <font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font>, <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font> &amp;  <a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font> <a href="pboole.html#R2" title="PBOOLE:pred.2">c=</a> <font color="Maroon" title="c5">h2</font> implies <font color="Maroon" title="c4">h1</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c5">h2</font> )</span><br/>

<span class="kw">assume </span><span class="kw">that </span><br/><a NAME="E1:4_1_2"/><span class="lab"><font color="Green" title="E4">A4</font></span>: 
<font color="Maroon" title="c4">h1</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font>, <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font>
 <span class="kw">and </span><br/><a NAME="E2:4_1_2"/><span class="lab"><font color="Green" title="E5">A5</font></span>: 
 <a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font> <a href="pboole.html#R2" title="PBOOLE:pred.2">c=</a> <font color="Maroon" title="c4">h1</font>
 <span class="kw">and </span><br/><a NAME="E3:4_1_2"/><span class="lab"><font color="Green" title="E6">A6</font></span>: 
<font color="Maroon" title="c5">h2</font> <a href="msualg_3.html#R1" title="MSUALG_3:pred.1">is_homomorphism</a>  <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font>, <a href="msafree2.html#K5" title="MSAFREE2:func.5">FreeEnv</a> <font color="Maroon" title="c2">A</font>
 <span class="kw">and </span><br/><a NAME="E4:4_1_2"/><span class="lab"><font color="Green" title="E7">A7</font></span>: 
 <a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font> <a href="pboole.html#R2" title="PBOOLE:pred.2">c=</a> <font color="Maroon" title="c5">h2</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="c4">h1</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c5">h2</font></span><br/>

<span class="kw">reconsider </span><font color="Maroon" title="c6">f1</font> = <font color="Maroon" title="c4">h1</font>, <font color="Maroon" title="c7">f2</font> = <font color="Maroon" title="c5">h2</font> as   <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>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span>,<span class="p1">(<span class="default"><a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> ;<br/>
<div><a class="txt" onmouseover="tooltip.show('hs2',this)" onmouseout="tooltip.hide()" onclick="hs2(this)" href="javascript:()" title="4_1_2_1"><span class="kw">now </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">i</font> being    <a href="hidden.html#M2" title="HIDDEN:mode.2">set</a>   st <font color="Olive" title="b1">i</font> <a href="tarski.html#R2" title="TARSKI:pred.2">in</a>  the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">IIG</font> holds <br/><span class="p1">(<span class="default"><font color="Maroon" title="c7">f2</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>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b1">i</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c6">f1</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b1">i</font></span>)</span> <a href="relat_1.html#K5" title="RELAT_1:func.5">|</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Olive" title="b1">i</font></span>)</span></span></a><div class="add"><span class="kw">let </span><font color="Maroon" title="c8">i</font> be    <a href="hidden.html#M2" title="HIDDEN:mode.2">set</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"> ( <font color="Maroon" title="c8">i</font> <a href="tarski.html#R2" title="TARSKI:pred.2">in</a>  the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">IIG</font> implies <span class="p1">(<span class="default"><font color="Maroon" title="c7">f2</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>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c6">f1</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span> <a href="relat_1.html#K5" title="RELAT_1:func.5">|</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span> )</span><br/><span class="kw">assume </span><a NAME="E1:4_1_2_1"/><span class="lab"><font color="Green" title="E8">A8</font></span>: 
<font color="Maroon" title="c8">i</font> <a href="tarski.html#R2" title="TARSKI:pred.2">in</a>  the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">IIG</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"> <span class="p1">(<span class="default"><font color="Maroon" title="c7">f2</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>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><font color="Maroon" title="c6">f1</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span> <a href="relat_1.html#K5" title="RELAT_1:func.5">|</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span></span><br/><span class="kw">reconsider </span><font color="Maroon" title="c9">g</font> = <font color="Maroon" title="c7">f2</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font> as   <a href="funct_2.html#NM1" title="FUNCT_2:NM.1">Function</a> of <span class="p1">(<span class="default"> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <span class="p2">(<span class="default"><a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span>,<span class="p1">(<span class="default"> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <span class="p2">(<span class="default"><a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span> <span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:4_1_2_1"><span class="lab"><font color="Green" title="E8">A8</font></span></a>, <a class="ref" href="pboole.html#D15" onmouseover="rs('pboole/D15')" onmouseout="rh()">PBOOLE:def 15</a></span>;<br/><a NAME="E3:4_1_2_1"/><span class="lab"><font color="Green" title="E9">A9</font></span>: 
<span class="p1">(<span class="default"><a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font> <a href="tarski.html#R1" title="TARSKI:pred.1">c=</a> <font color="Maroon" title="c9">g</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E4:4_1_2"><span class="lab"><font color="Green" title="E7">A7</font></span></a>, <a class="txt" href="#E1:4_1_2_1"><span class="lab"><font color="Green" title="E8">A8</font></span></a></span>;<br/><span class="kw">reconsider </span><font color="Maroon" title="c10">Fi</font> = <span class="p1">(<span class="default"><a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font> as   <a href="funct_1.html#NM1" title="FUNCT_1:NM.1">Function</a> ;<br/><a NAME="E5:4_1_2_1"/>
<font color="Maroon" title="c10">Fi</font> is   <a href="funct_2.html#NM1" title="FUNCT_2:NM.1">Function</a> of <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span>,<span class="p1">(<span class="default"> the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <span class="p2">(<span class="default"><a href="msafree.html#K11" title="MSAFREE:func.11">FreeMSA</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:4_1_2_1"><span class="lab"><font color="Green" title="E8">A8</font></span></a>, <a class="ref" href="pboole.html#D15" onmouseover="rs('pboole/D15')" onmouseout="rh()">PBOOLE:def 15</a></span>;<br/><a NAME="E6:4_1_2_1"/><span class="kw">then </span><span class="lab"><font color="Green" title="E10">A10</font></span>: 
 <a href="relat_1.html#NK1" title="RELAT_1:NK.1">dom</a> <font color="Maroon" title="c10">Fi</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:4_1_2_1"><span class="lab"><font color="Green" title="E8">A8</font></span></a>, <a class="ref" href="funct_2.html#D1" onmouseover="rs('funct_2/D1')" onmouseout="rh()">FUNCT_2:def 1</a></span>;<br/><a NAME="E7:4_1_2_1"/><span class="lab"><font color="Green" title="E11">A11</font></span>: 
<span class="p1">(<span class="default"><a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font> <a href="tarski.html#R1" title="TARSKI:pred.1">c=</a> <font color="Maroon" title="c6">f1</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E2:4_1_2"><span class="lab"><font color="Green" title="E5">A5</font></span></a>, <a class="txt" href="#E1:4_1_2_1"><span class="lab"><font color="Green" title="E8">A8</font></span></a></span>;<br/><span class="kw">thus </span><span class="p1">(<span class="default"><font color="Maroon" title="c7">f2</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>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font> = 
<font color="Maroon" title="c9">g</font> <a href="partfun1.html#K2" title="PARTFUN1:func.2">|</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:4_1_2_1"><span class="lab"><font color="Green" title="E8">A8</font></span></a>, <a class="ref" href="msafree.html#D1" onmouseover="rs('msafree/D1')" onmouseout="rh()">MSAFREE:def 1</a></span>
<br/>.= 
<span class="p1">(<span class="default"><a href="circuit2.html#K2" title="CIRCUIT2:func.2">Fix_inp</a> <font color="Maroon" title="c3">iv</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E6:4_1_2_1"><span class="lab"><font color="Green" title="E10">A10</font></span></a>, <a class="txt" href="#E3:4_1_2_1"><span class="lab"><font color="Green" title="E9">A9</font></span></a>, <a class="ref" href="grfunc_1.html#T23" onmouseover="rs('grfunc_1/T23')" onmouseout="rh()">GRFUNC_1:23</a></span>
<br/>.= 
<span class="p1">(<span class="default"><font color="Maroon" title="c6">f1</font> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span> <a href="relat_1.html#K5" title="RELAT_1:func.5">|</a> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><a href="msafree.html#K13" title="MSAFREE:func.13">FreeGen</a>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c8">i</font></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E6:4_1_2_1"><span class="lab"><font color="Green" title="E10">A10</font></span></a>, <a class="txt" href="#E7:4_1_2_1"><span class="lab"><font color="Green" title="E11">A11</font></span></a>, <a class="ref" href="grfunc_1.html#T23" onmouseover="rs('grfunc_1/T23')" onmouseout="rh()">GRFUNC_1:23</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><span class="kw">end;</span></div>
<a NAME="E7:4_1_2"/><span class="kw">then </span>
<font color="Maroon" title="c6">f1</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>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c7">f2</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>  the <a href="msualg_1.html#U3" title="MSUALG_1:sel.3">Sorts</a> of <font color="Maroon" title="c2">A</font></span>)</span>
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="msafree.html#D1" onmouseover="rs('msafree/D1')" onmouseout="rh()">MSAFREE:def 1</a></span>;<br/>
<span class="kw">hence </span><a NAME="E8:4_1_2"/>
<font color="Maroon" title="c4">h1</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a> <font color="Maroon" title="c5">h2</font>
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:4_1_2"><span class="lab"><font color="Green" title="E4">A4</font></span></a>, <a class="txt" href="#E3:4_1_2"><span class="lab"><font color="Green" title="E6">A6</font></span></a>, <a class="ref" href="extens_1.html#T14" onmouseover="rs('extens_1/T14')" onmouseout="rh()">EXTENS_1:14</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>
