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

<b>let </b><font color="Maroon">C1</font> be  non <a href="struct_0.html#V3">empty</a>  <a href="altcat_1.html#L2">AltCatStr</a> , <font color="Maroon">C2</font> be  non <a href="struct_0.html#V3">empty</a>  <a href="altcat_1.html#L2">AltCatStr</a> ;<br/><b>let </b><font color="Maroon">F</font> be  <a href="functor0.html#V11">Contravariant</a>  <a href="functor0.html#L2">FunctorStr</a> of <font color="Maroon">C1</font>,<font color="Maroon">C2</font>;<br/>



<b>set </b><font color="Maroon">I</font> = <span class="p1"><a href="zfmisc_1.html#K2">[:</a><span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font>,the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font></span><a href="zfmisc_1.html#K2">:]</a></span>;<br/>
<div><b>hereby </b>
<div class="add"><b>assume </b><a NAME="E1:17_1"/><i><font color="Green">E24</font></i>: 
<font color="Maroon">F</font> is <a href="functor0.html#V18">full</a>
 ;<br/><b>let </b><font color="Maroon">o1</font> be   <a href="altcat_1.html#NM1">object</a> of <font color="Maroon">C1</font>, <font color="Maroon">o2</font> be   <a href="altcat_1.html#NM1">object</a> of <font color="Maroon">C1</font>;<br/><b>thus </b><a NAME="E2:17_1"/>
 <a href="functor0.html#K7">Morph-Map</a> <font color="Maroon">F</font>,<font color="Maroon">o2</font>,<font color="Maroon">o1</font> is <a href="funct_2.html#V2">onto</a>
 <div><a class="txt" onclick="hs2(this)" href="javascript:()" title="17_1_1"><b>proof </b></a><div class="add">

<b>consider </b><font color="Maroon">f</font> being    <a href="pboole.html#M3">ManySortedFunction</a> of the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C1</font>,the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="pboole.html#K7">*</a> the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font><b> such that </b><br/><a NAME="E2:17_1_1"/><i><font color="Green">E25</font></i>: 
( <font color="Maroon">f</font> <a href="pboole.html#R6">=</a> the <a href="functor0.html#U2">MorphMap</a> of <font color="Maroon">F</font> &amp; <font color="Maroon">f</font> is <a href="msualg_3.html#V2">"onto"</a> )
 <b>by </b><i>, <a class="ref" href="functor0.html#D33">FUNCTOR0:def 33</a></i>;<br/>
<a NAME="E3:17_1_1"/><i><font color="Green">E26</font></i>: 
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a> <span class="p1"><a href="zfmisc_1.html#K2">[:</a><span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font>,the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font></span><a href="zfmisc_1.html#K2">:]</a></span>
 
<b>by </b><i><a class="ref" href="zfmisc_1.html#T106">ZFMISC_1:106</a></i>;<br/>
<a NAME="E4:17_1_1"/><i><font color="Green">E32</font></i>: 
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a>  <a href="relat_1.html#K1">dom</a> the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font>
 
<b>by </b><i>, <a class="ref" href="funct_2.html#D1">FUNCT_2:def 1</a></i>;<br/>
<a NAME="E5:17_1_1"/>
 <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default"><font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <span class="p2"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span></span>)</span> <a href="hidden.html#R1">=</a> <span class="p1">(<span class="default">the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="pboole.html#K7">*</a> the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font></span>)</span> <a href="funct_1.html#K1">.</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span>
 
<b>by </b><i>, , <a class="ref" href="msualg_3.html#D3">MSUALG_3:def 3</a></i>;<br/>
<b>hence </b> <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default"><a href="functor0.html#K7">Morph-Map</a> <font color="Maroon">F</font>,<font color="Maroon">o2</font>,<font color="Maroon">o1</font></span>)</span> = 
the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default">the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font> <a href="binop_1.html#K2">.</a> <font color="Maroon">o2</font>,<font color="Maroon">o1</font></span>)</span>
<b>by </b><i>, , <a class="ref" href="funct_1.html#T23">FUNCT_1:23</a></i>
<br/>.= 
<span class="p1"><a href="altcat_1.html#K1">&lt;^</a><span class="default"><span class="p2">(<span class="default"><font color="Maroon">F</font> <a href="functor0.html#K3">.</a> <font color="Maroon">o1</font></span>)</span>,<span class="p2">(<span class="default"><font color="Maroon">F</font> <a href="functor0.html#K3">.</a> <font color="Maroon">o2</font></span>)</span></span><a href="altcat_1.html#K1">^&gt;</a></span>
<b>by </b><i><a class="ref" href="functor0.html#T24">FUNCTOR0:24</a></i>
;<br/> <i><font color="Red">:: according to </font></i><a class="ref" href="funct_2.html#D3">FUNCT_2:def 3</a><br/>


</div><b>end;</b></div></div>
<b>end;</b></div>

<b>assume </b><a NAME="E2:17"/><i><font color="Green">E37</font></i>: 
for <font color="Olive">o1</font>, <font color="Olive">o2</font> being  <a href="altcat_1.html#NM1">object</a> of <font color="Maroon">C1</font> holds   <a href="functor0.html#K7">Morph-Map</a> <font color="Maroon">F</font>,<font color="Olive">o2</font>,<font color="Olive">o1</font> is <a href="funct_2.html#V2">onto</a>
 ;<br/>

<b>consider </b><font color="Maroon">I2'</font> being  non <a href="xboole_0.html#V1">empty</a>  <a href="hidden.html#M1">set</a> , <font color="Maroon">B'</font> being    <a href="pboole.html#M1">ManySortedSet</a> of <font color="Maroon">I2'</font>, <font color="Maroon">f'</font> being   <a href="funct_2.html#NM1">Function</a> of <span class="p1"><a href="zfmisc_1.html#K2">[:</a><span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font>,the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font></span><a href="zfmisc_1.html#K2">:]</a></span>,<font color="Maroon">I2'</font><b> such that </b><br/><a NAME="E4:17"/><i><font color="Green">E45</font></i>: 
the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font> <a href="funct_2.html#R1">=</a> <font color="Maroon">f'</font>
 <b>and </b><br/><a NAME="E5:17"/><i><font color="Green">E46</font></i>: 
( the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="hidden.html#R1">=</a> <font color="Maroon">B'</font> &amp; the <a href="functor0.html#U2">MorphMap</a> of <font color="Maroon">F</font> is    <a href="pboole.html#M3">ManySortedFunction</a> of the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C1</font>,<font color="Maroon">B'</font> <a href="pboole.html#K7">*</a> <font color="Maroon">f'</font> )
 <b>by </b><i><a class="ref" href="functor0.html#D4">FUNCTOR0:def 4</a></i>;<br/>
<b>reconsider </b><font color="Maroon">f</font> = the <a href="functor0.html#U2">MorphMap</a> of <font color="Maroon">F</font> as    <a href="pboole.html#M3">ManySortedFunction</a> of the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C1</font>,the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="pboole.html#K7">*</a> the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font> <b>by </b><i>, </i>;<br/>
<b>take </b>
<font color="Maroon">f</font>
; <i><font color="Red">:: according to </font></i><a class="ref" href="functor0.html#D33">FUNCTOR0:def 33</a><br/>

<b>thus </b><a NAME="E7:17"/>
<font color="Maroon">f</font> <a href="pboole.html#R6">=</a> the <a href="functor0.html#U2">MorphMap</a> of <font color="Maroon">F</font>
 ;<br/>

<b>let </b><font color="Maroon">i</font> be    <a href="hidden.html#M1">set</a> ; <i><font color="Red">:: according to </font></i><a class="ref" href="msualg_3.html#D3">MSUALG_3:def 3</a><br/>

<b>assume </b><a NAME="E8:17"/>
<font color="Maroon">i</font> <a href="hidden.html#R2">in</a> <span class="p1"><a href="zfmisc_1.html#K2">[:</a><span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font>,the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font></span><a href="zfmisc_1.html#K2">:]</a></span>
 ;<br/>

<b>then consider </b><font color="Maroon">o2</font> being    <a href="hidden.html#M1">set</a> , <font color="Maroon">o1</font> being    <a href="hidden.html#M1">set</a> <b> such that </b><br/><a NAME="E10:17"/><i><font color="Green">E47</font></i>: 
( <font color="Maroon">o2</font> <a href="hidden.html#R2">in</a> the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font> &amp; <font color="Maroon">o1</font> <a href="hidden.html#R2">in</a> the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font> &amp; <font color="Maroon">i</font> <a href="hidden.html#R1">=</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span> )
 <b>by </b><i><a class="ref" href="zfmisc_1.html#T103">ZFMISC_1:103</a></i>;<br/>
<b>reconsider </b><font color="Maroon">o1</font> = <font color="Maroon">o1</font>, <font color="Maroon">o2</font> = <font color="Maroon">o2</font> as   <a href="altcat_1.html#NM1">object</a> of <font color="Maroon">C1</font> <b>by </b><i/>;<br/>
<a NAME="E12:17"/><i><font color="Green">E50</font></i>: 
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a> <span class="p1"><a href="zfmisc_1.html#K2">[:</a><span class="default">the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font>,the <a href="struct_0.html#U1">carrier</a> of <font color="Maroon">C1</font></span><a href="zfmisc_1.html#K2">:]</a></span>
 
<b>by </b><i><a class="ref" href="zfmisc_1.html#T106">ZFMISC_1:106</a></i>;<br/>
<a NAME="E13:17"/><i><font color="Green">E52</font></i>: 
<span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span> <a href="hidden.html#R2">in</a>  <a href="relat_1.html#K1">dom</a> the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font>
 
<b>by </b><i>, <a class="ref" href="funct_2.html#D1">FUNCT_2:def 1</a></i>;<br/>
<a NAME="E14:17"/>
 <a href="functor0.html#K7">Morph-Map</a> <font color="Maroon">F</font>,<font color="Maroon">o2</font>,<font color="Maroon">o1</font> is <a href="funct_2.html#V2">onto</a>
 
<b>by </b><i/>;<br/>
<b>then </b> <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default"><a href="functor0.html#K7">Morph-Map</a> <font color="Maroon">F</font>,<font color="Maroon">o2</font>,<font color="Maroon">o1</font></span>)</span> = 
the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="binop_1.html#K1">.</a> <span class="p1">(<span class="default"><font color="Maroon">F</font> <a href="functor0.html#K3">.</a> <font color="Maroon">o1</font></span>)</span>,<span class="p1">(<span class="default"><font color="Maroon">F</font> <a href="functor0.html#K3">.</a> <font color="Maroon">o2</font></span>)</span>
<b>by </b><i><a class="ref" href="funct_2.html#D3">FUNCT_2:def 3</a></i>
<br/>.= 
the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="funct_1.html#K1">.</a> <span class="p1">(<span class="default">the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font> <a href="binop_1.html#K2">.</a> <font color="Maroon">o2</font>,<font color="Maroon">o1</font></span>)</span>
<b>by </b><i><a class="ref" href="functor0.html#T24">FUNCTOR0:24</a></i>
<br/>.= 
<span class="p1">(<span class="default">the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="pboole.html#K7">*</a> the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font></span>)</span> <a href="funct_1.html#K1">.</a> <span class="p1"><a href="tarski.html#K4">[</a><span class="default"><font color="Maroon">o2</font>,<font color="Maroon">o1</font></span><a href="tarski.html#K4">]</a></span>
<b>by </b><i>, <a class="ref" href="funct_1.html#T23">FUNCT_1:23</a></i>
;<br/>
<b>hence </b><a NAME="E16:17"/>
 <a href="relat_1.html#K2">rng</a> <span class="p1">(<span class="default"><font color="Maroon">f</font> <a href="funct_1.html#K1">.</a> <font color="Maroon">i</font></span>)</span> <a href="hidden.html#R1">=</a> <span class="p1">(<span class="default">the <a href="altcat_1.html#U1">Arrows</a> of <font color="Maroon">C2</font> <a href="pboole.html#K7">*</a> the <a href="functor0.html#U1">ObjectMap</a> of <font color="Maroon">F</font></span>)</span> <a href="funct_1.html#K1">.</a> <font color="Maroon">i</font>
 <b>by </b><i/>;<br/>


</div>
