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

<b>let </b><font color="Maroon">c<sub>3</sub></font>, <font color="Maroon">c<sub>4</sub></font> be   <a href="msualg_3.html#NM1">ManySortedFunction</a> of <span class="p1">(<span class="default"><a href="msafree2.html#K6" target="_self">FreeEnv</a> <font color="Maroon">c<sub>2</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font>;<br/>

<b>reconsider </b><font color="Maroon">c<sub>5</sub></font> = <font color="Maroon">c<sub>3</sub></font>, <font color="Maroon">c<sub>6</sub></font> = <font color="Maroon">c<sub>4</sub></font> as   <a href="msualg_3.html#NM1">ManySortedFunction</a> of <span class="p1">(<span class="default"><a href="msafree.html#K11">FreeMSA</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font></span>)</span>,<font color="Maroon">c<sub>2</sub></font> ;<br/>
<b>assume </b><a NAME="E2:19_1_2"/>
<font color="Maroon">c<sub>3</sub></font> <a href="msualg_3.html#R1">is_homomorphism</a>  <a href="msafree2.html#K6" target="_self">FreeEnv</a> <font color="Maroon">c<sub>2</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 ;<br/>

<a NAME="E3:19_1_2"/><b>then </b><i><font color="Green">E7</font></i>: 
<font color="Maroon">c<sub>5</sub></font> <a href="msualg_3.html#R1">is_homomorphism</a>  <a href="msafree.html#K11">FreeMSA</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 
;<br/>
<b>assume </b><a NAME="E4:19_1_2"/><i><font color="Green">E8</font></i>: 
for <font color="Olive">b<sub>1</sub></font> being  <a href="msualg_1.html#NM1">SortSymbol</a> of <font color="Maroon">c<sub>1</sub></font><br/>for <font color="Olive">b<sub>2</sub></font>, <font color="Olive">b<sub>3</sub></font> being   <a href="hidden.html#M1">set</a>  st <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K7">FreeSort</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>,<font color="Olive">b<sub>1</sub></font> &amp; <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Olive">b<sub>2</sub></font>,<font color="Olive">b<sub>1</sub></font></span><a href="tarski.html#K4">]</a></span> &amp; <font color="Olive">b<sub>2</sub></font> <a href="hidden.html#R2">in</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font> <a href="funct_1.html#K1">.</a> <font color="Olive">b<sub>1</sub></font> holds <br/><span class="p1">(<span class="default"><font color="Maroon">c<sub>3</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Olive">b<sub>1</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1">=</a> <font color="Olive">b<sub>2</sub></font>
 ;<br/>

<b>defpred </b><font color="Maroon">S<sub>1</sub></font>[   <a href="hidden.html#M1">set</a> ,   <a href="hidden.html#M1">set</a> ,   <a href="hidden.html#M1">set</a> ] means <font color="Maroon">a<sub>3</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">a<sub>2</sub></font>,<font color="Maroon">a<sub>1</sub></font></span><a href="tarski.html#K4">]</a></span>;<br/>
<a NAME="E5:19_1_2"/><i><font color="Green">E9</font></i>: 
for <font color="Olive">b<sub>1</sub></font> being  <a href="msualg_1.html#NM1">SortSymbol</a> of <font color="Maroon">c<sub>1</sub></font><br/>for <font color="Olive">b<sub>2</sub></font>, <font color="Olive">b<sub>3</sub></font> being   <a href="hidden.html#M1">set</a>  st <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K12">FreeGen</a> <font color="Olive">b<sub>1</sub></font>,the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font> holds <br/>( <span class="p1">(<span class="default"><font color="Maroon">c<sub>5</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Olive">b<sub>1</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1">=</a> <font color="Olive">b<sub>2</sub></font> iff <font color="Maroon">S<sub>1</sub></font>[<font color="Olive">b<sub>1</sub></font>,<font color="Olive">b<sub>2</sub></font>,<font color="Olive">b<sub>3</sub></font>] )
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="19_1_2_1"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">c<sub>7</sub></font> be   <a href="msualg_1.html#NM1">SortSymbol</a> of <font color="Maroon">c<sub>1</sub></font>;<br/><b>let </b><font color="Maroon">c<sub>8</sub></font>, <font color="Maroon">c<sub>9</sub></font> be    <a href="hidden.html#M1">set</a> ;<br/>



<b>assume </b><a NAME="E1:19_1_2_1"/><i><font color="Green">E10</font></i>: 
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K12">FreeGen</a> <font color="Maroon">c<sub>7</sub></font>,the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>
 ;<br/>

<a NAME="E2:19_1_2_1"/><b>then </b>
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R2">in</a> <span class="p1">(<span class="default"><a href="msafree.html#K8">FreeSort</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font>
 
;<br/>
<a NAME="E3:19_1_2_1"/><b>then </b><i><font color="Green">E11</font></i>: 
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K7">FreeSort</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>,<font color="Maroon">c<sub>7</sub></font>
 
<b>by </b><i><a class="ref" href="msafree.html#D13">MSAFREE:def 13</a></i>;<br/>
<b>consider </b><font color="Maroon">c<sub>10</sub></font> being    <a href="hidden.html#M1">set</a> <b> such that </b><br/><a NAME="E5:19_1_2_1"/><i><font color="Green">E12</font></i>: 
<font color="Maroon">c<sub>10</sub></font> <a href="hidden.html#R2">in</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font>
 <b>and </b><br/><a NAME="E6:19_1_2_1"/><i><font color="Green">E13</font></i>: 
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>10</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span>
 <b>by </b><i><a class="txt" href="msafree2.html#E1:19_1_2_1"><i><font color="Green">E10</font></i></a>, <a class="ref" href="msafree.html#D17">MSAFREE:def 17</a></i>;<br/>
<b>thus </b><a NAME="E7:19_1_2_1"/>
( <span class="p1">(<span class="default"><font color="Maroon">c<sub>5</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>8</sub></font> implies <font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>8</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span> )
 <b>by </b><i><a class="txt" href="msafree2.html#E4:19_1_2"><i><font color="Green">E8</font></i></a>, <a class="txt" href="msafree2.html#E3:19_1_2_1"><i><font color="Green">E11</font></i></a>, <a class="txt" href="msafree2.html#E5:19_1_2_1"><i><font color="Green">E12</font></i></a>, <a class="txt" href="msafree2.html#E6:19_1_2_1"><i><font color="Green">E13</font></i></a></i>;<br/>

<b>assume </b><a NAME="E8:19_1_2_1"/>
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>8</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span>
 ;<br/>

<a NAME="E9:19_1_2_1"/><b>then </b>
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>8</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R1">=</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>10</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span>
 
<b>by </b><i><a class="txt" href="msafree2.html#E6:19_1_2_1"><i><font color="Green">E13</font></i></a>, <a class="ref" href="trees_4.html#T4">TREES_4:4</a></i>;<br/>
<a NAME="E10:19_1_2_1"/><b>then </b>
<font color="Maroon">c<sub>8</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>10</sub></font>
 
<b>by </b><i><a class="ref" href="zfmisc_1.html#T33">ZFMISC_1:33</a></i>;<br/>
<b>hence </b><a NAME="E11:19_1_2_1"/>
<span class="p1">(<span class="default"><font color="Maroon">c<sub>5</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>8</sub></font>
 <b>by </b><i><a class="txt" href="msafree2.html#E4:19_1_2"><i><font color="Green">E8</font></i></a>, <a class="txt" href="msafree2.html#E3:19_1_2_1"><i><font color="Green">E11</font></i></a>, <a class="txt" href="msafree2.html#E5:19_1_2_1"><i><font color="Green">E12</font></i></a>, <a class="txt" href="msafree2.html#E6:19_1_2_1"><i><font color="Green">E13</font></i></a></i>;<br/>


</div><b>end;</b></div>
<b>assume </b><a NAME="E6:19_1_2"/>
<font color="Maroon">c<sub>4</sub></font> <a href="msualg_3.html#R1">is_homomorphism</a>  <a href="msafree2.html#K6" target="_self">FreeEnv</a> <font color="Maroon">c<sub>2</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 ;<br/>

<a NAME="E7:19_1_2"/><b>then </b><i><font color="Green">E10</font></i>: 
<font color="Maroon">c<sub>6</sub></font> <a href="msualg_3.html#R1">is_homomorphism</a>  <a href="msafree.html#K11">FreeMSA</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>,<font color="Maroon">c<sub>2</sub></font>
 
;<br/>
<b>assume </b><a NAME="E8:19_1_2"/><i><font color="Green">E11</font></i>: 
for <font color="Olive">b<sub>1</sub></font> being  <a href="msualg_1.html#NM1">SortSymbol</a> of <font color="Maroon">c<sub>1</sub></font><br/>for <font color="Olive">b<sub>2</sub></font>, <font color="Olive">b<sub>3</sub></font> being   <a href="hidden.html#M1">set</a>  st <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K7">FreeSort</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>,<font color="Olive">b<sub>1</sub></font> &amp; <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Olive">b<sub>2</sub></font>,<font color="Olive">b<sub>1</sub></font></span><a href="tarski.html#K4">]</a></span> &amp; <font color="Olive">b<sub>2</sub></font> <a href="hidden.html#R2">in</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font> <a href="funct_1.html#K1">.</a> <font color="Olive">b<sub>1</sub></font> holds <br/><span class="p1">(<span class="default"><font color="Maroon">c<sub>4</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Olive">b<sub>1</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1">=</a> <font color="Olive">b<sub>2</sub></font>
 ;<br/>

<a NAME="E9:19_1_2"/><i><font color="Green">E12</font></i>: 
for <font color="Olive">b<sub>1</sub></font> being  <a href="msualg_1.html#NM1">SortSymbol</a> of <font color="Maroon">c<sub>1</sub></font><br/>for <font color="Olive">b<sub>2</sub></font>, <font color="Olive">b<sub>3</sub></font> being   <a href="hidden.html#M1">set</a>  st <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K12">FreeGen</a> <font color="Olive">b<sub>1</sub></font>,the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font> holds <br/>( <span class="p1">(<span class="default"><font color="Maroon">c<sub>6</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Olive">b<sub>1</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Olive">b<sub>3</sub></font> <a href="hidden.html#R1">=</a> <font color="Olive">b<sub>2</sub></font> iff <font color="Maroon">S<sub>1</sub></font>[<font color="Olive">b<sub>1</sub></font>,<font color="Olive">b<sub>2</sub></font>,<font color="Olive">b<sub>3</sub></font>] )
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="19_1_2_2"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon">c<sub>7</sub></font> be   <a href="msualg_1.html#NM1">SortSymbol</a> of <font color="Maroon">c<sub>1</sub></font>;<br/><b>let </b><font color="Maroon">c<sub>8</sub></font>, <font color="Maroon">c<sub>9</sub></font> be    <a href="hidden.html#M1">set</a> ;<br/>



<b>assume </b><a NAME="E1:19_1_2_2"/><i><font color="Green">E13</font></i>: 
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K12">FreeGen</a> <font color="Maroon">c<sub>7</sub></font>,the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>
 ;<br/>

<a NAME="E2:19_1_2_2"/><b>then </b>
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R2">in</a> <span class="p1">(<span class="default"><a href="msafree.html#K8">FreeSort</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font>
 
;<br/>
<a NAME="E3:19_1_2_2"/><b>then </b><i><font color="Green">E14</font></i>: 
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R2">in</a>  <a href="msafree.html#K7">FreeSort</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font>,<font color="Maroon">c<sub>7</sub></font>
 
<b>by </b><i><a class="ref" href="msafree.html#D13">MSAFREE:def 13</a></i>;<br/>
<b>consider </b><font color="Maroon">c<sub>10</sub></font> being    <a href="hidden.html#M1">set</a> <b> such that </b><br/><a NAME="E5:19_1_2_2"/><i><font color="Green">E15</font></i>: 
<font color="Maroon">c<sub>10</sub></font> <a href="hidden.html#R2">in</a> the <a href="msualg_1.html#U4">Sorts</a> of <font color="Maroon">c<sub>2</sub></font> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font>
 <b>and </b><br/><a NAME="E6:19_1_2_2"/><i><font color="Green">E16</font></i>: 
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>10</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span>
 <b>by </b><i><a class="txt" href="msafree2.html#E1:19_1_2_2"><i><font color="Green">E13</font></i></a>, <a class="ref" href="msafree.html#D17">MSAFREE:def 17</a></i>;<br/>
<b>thus </b><a NAME="E7:19_1_2_2"/>
( <span class="p1">(<span class="default"><font color="Maroon">c<sub>6</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>8</sub></font> implies <font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>8</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span> )
 <b>by </b><i><a class="txt" href="msafree2.html#E8:19_1_2"><i><font color="Green">E11</font></i></a>, <a class="txt" href="msafree2.html#E3:19_1_2_2"><i><font color="Green">E14</font></i></a>, <a class="txt" href="msafree2.html#E5:19_1_2_2"><i><font color="Green">E15</font></i></a>, <a class="txt" href="msafree2.html#E6:19_1_2_2"><i><font color="Green">E16</font></i></a></i>;<br/>

<b>assume </b><a NAME="E8:19_1_2_2"/>
<font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a>  <a href="trees_4.html#K1">root-tree</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>8</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span>
 ;<br/>

<a NAME="E9:19_1_2_2"/><b>then </b>
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>8</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R1">=</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">c<sub>10</sub></font>,<font color="Maroon">c<sub>7</sub></font></span><a href="tarski.html#K4">]</a></span>
 
<b>by </b><i><a class="txt" href="msafree2.html#E6:19_1_2_2"><i><font color="Green">E16</font></i></a>, <a class="ref" href="trees_4.html#T4">TREES_4:4</a></i>;<br/>
<a NAME="E10:19_1_2_2"/><b>then </b>
<font color="Maroon">c<sub>8</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>10</sub></font>
 
<b>by </b><i><a class="ref" href="zfmisc_1.html#T33">ZFMISC_1:33</a></i>;<br/>
<b>hence </b><a NAME="E11:19_1_2_2"/>
<span class="p1">(<span class="default"><font color="Maroon">c<sub>6</sub></font> <a href="msualg_3.html#K1">.</a> <font color="Maroon">c<sub>7</sub></font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">c<sub>9</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>8</sub></font>
 <b>by </b><i><a class="txt" href="msafree2.html#E8:19_1_2"><i><font color="Green">E11</font></i></a>, <a class="txt" href="msafree2.html#E3:19_1_2_2"><i><font color="Green">E14</font></i></a>, <a class="txt" href="msafree2.html#E5:19_1_2_2"><i><font color="Green">E15</font></i></a>, <a class="txt" href="msafree2.html#E6:19_1_2_2"><i><font color="Green">E16</font></i></a></i>;<br/>


</div><b>end;</b></div>
<a NAME="E10:19_1_2"/>
<font color="Maroon">c<sub>5</sub></font> <a href="pboole.html#R6">=</a> <font color="Maroon">c<sub>6</sub></font>
 
<b>from </b><i><a class="ref" href="msafree1.html#S3">MSAFREE1:sch 3</a>(<a class="txt" href="msafree2.html#E3:19_1_2"><i><font color="Green">E7</font></i></a>, <a class="txt" href="msafree2.html#E5:19_1_2"><i><font color="Green">E9</font></i></a>, <a class="txt" href="msafree2.html#E7:19_1_2"><i><font color="Green">E10</font></i></a>, <a class="txt" href="msafree2.html#E9:19_1_2"><i><font color="Green">E12</font></i></a>);<br/></i>
<b>hence </b><a NAME="E11:19_1_2"/>
<font color="Maroon">c<sub>3</sub></font> <a href="hidden.html#R1">=</a> <font color="Maroon">c<sub>4</sub></font>
 ;<br/>


</div>
