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

<span class="kw">let </span><font color="Maroon" title="c1">A</font>, <font color="Maroon" title="c2">B</font> be   <a href="altcat_1.html#NM4" title="ALTCAT_1:NM.4">category</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">F1</font>, <font color="Olive" title="b2">F2</font> being   <a href="functor0.html#V15" title="FUNCTOR0:attr.15">covariant</a>   <a href="functor0.html#M2" title="FUNCTOR0:mode.2">Functor</a> of <font color="Maroon" title="c1">A</font>,<font color="Maroon" title="c2">B</font><br/>  for <font color="Olive" title="b3">e</font> being    <a href="functor3.html#M1" title="FUNCTOR3:mode.1">natural_equivalence</a> of <font color="Olive" title="b1">F1</font>,<font color="Olive" title="b2">F2</font>  st <font color="Olive" title="b1">F1</font>,<font color="Olive" title="b2">F2</font> <a href="functor3.html#R1" title="FUNCTOR3:pred.1">are_naturally_equivalent</a>  holds <br/><span class="p1">(<span class="default"><font color="Olive" title="b3">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Olive" title="b3">e</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Olive" title="b1">F1</font></span><br/><span class="kw">let </span><font color="Maroon" title="c3">F1</font>, <font color="Maroon" title="c4">F2</font> be   <a href="functor0.html#V15" title="FUNCTOR0:attr.15">covariant</a>   <a href="functor0.html#M2" title="FUNCTOR0:mode.2">Functor</a> of <font color="Maroon" title="c1">A</font>,<font color="Maroon" title="c2">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">  for <font color="Olive" title="b1">e</font> being    <a href="functor3.html#M1" title="FUNCTOR3:mode.1">natural_equivalence</a> of <font color="Maroon" title="c3">F1</font>,<font color="Maroon" title="c4">F2</font>  st <font color="Maroon" title="c3">F1</font>,<font color="Maroon" title="c4">F2</font> <a href="functor3.html#R1" title="FUNCTOR3:pred.1">are_naturally_equivalent</a>  holds <br/><span class="p1">(<span class="default"><font color="Olive" title="b1">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Olive" title="b1">e</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Maroon" title="c3">F1</font></span><br/><span class="kw">let </span><font color="Maroon" title="c5">e</font> be    <a href="functor3.html#M1" title="FUNCTOR3:mode.1">natural_equivalence</a> of <font color="Maroon" title="c3">F1</font>,<font color="Maroon" title="c4">F2</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="c3">F1</font>,<font color="Maroon" title="c4">F2</font> <a href="functor3.html#R1" title="FUNCTOR3:pred.1">are_naturally_equivalent</a>  implies <span class="p1">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Maroon" title="c5">e</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Maroon" title="c3">F1</font> )</span><br/>









<span class="kw">assume </span><a NAME="E1:59"/><span class="lab"><font color="Green" title="E34">A1</font></span>: 
<font color="Maroon" title="c3">F1</font>,<font color="Maroon" title="c4">F2</font> <a href="functor3.html#R1" title="FUNCTOR3:pred.1">are_naturally_equivalent</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"> <span class="p1">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Maroon" title="c5">e</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Maroon" title="c3">F1</font></span><br/>

<a NAME="E2:59"/><span class="kw">then </span><span class="lab"><font color="Green" title="E35">A2</font></span>: 
( <font color="Maroon" title="c3">F1</font> <a href="functor2.html#R1" title="FUNCTOR2:pred.1">is_transformable_to</a> <font color="Maroon" title="c4">F2</font> &amp; <font color="Maroon" title="c4">F2</font> <a href="functor2.html#R1" title="FUNCTOR2:pred.1">is_transformable_to</a> <font color="Maroon" title="c3">F1</font> )
 
<span class="kw">by</span> <span class="lab"><a class="ref" href="functor3.html#D4" target="_self" onmouseover="rs('functor3/D4')" onmouseout="rh()">Def4</a></span>;<br/>
<a NAME="E3:59"/><span class="lab"><font color="Green" title="E36">A3</font></span>: 
( <font color="Maroon" title="c3">F1</font> <a href="functor2.html#R2" title="FUNCTOR2:pred.2">is_naturally_transformable_to</a> <font color="Maroon" title="c4">F2</font> &amp; <font color="Maroon" title="c4">F2</font> <a href="functor2.html#R2" title="FUNCTOR2:pred.2">is_naturally_transformable_to</a> <font color="Maroon" title="c3">F1</font> )
 
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:59"><span class="lab"><font color="Green" title="E34">A1</font></span></a>, <a class="ref" href="functor3.html#D4" target="_self" onmouseover="rs('functor3/D4')" onmouseout="rh()">Def4</a></span>;<br/>
<div><a class="txt" onmouseover="tooltip.show('hs2',this)" onmouseout="tooltip.hide()" onclick="hs2(this)" href="javascript:()" title="59_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">a</font> being   <a href="altcat_1.html#NM1" title="ALTCAT_1:NM.1">Object</a> of <font color="Maroon" title="c1">A</font> holds  <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Maroon" title="c5">e</font></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Olive" title="b1">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Maroon" title="c3">F1</font></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Olive" title="b1">a</font></span></a><div class="add"><span class="kw">let </span><font color="Maroon" title="c6">a</font> be   <a href="altcat_1.html#NM1" title="ALTCAT_1:NM.1">Object</a> of <font color="Maroon" title="c1">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"> <span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Maroon" title="c5">e</font></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Maroon" title="c3">F1</font></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font></span><br/><a NAME="E1:59_1"/><span class="lab"><font color="Green" title="E37">A4</font></span>: 
<font color="Maroon" title="c5">e</font> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font> is  <a href="altcat_3.html#V3" title="ALTCAT_3:attr.3">iso</a> 
 <span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:59"><span class="lab"><font color="Green" title="E34">A1</font></span></a>, <a class="ref" href="functor3.html#D5" target="_self" onmouseover="rs('functor3/D5')" onmouseout="rh()">Def5</a></span>;<br/><span class="kw">thus </span><span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Maroon" title="c5">e</font></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font> = 
<span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K3" title="FUNCTOR2:func.3">`*`</a> <font color="Maroon" title="c5">e</font></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E3:59"><span class="lab"><font color="Green" title="E36">A3</font></span></a>, <a class="ref" href="functor2.html#D8" onmouseover="rs('functor2/D8')" onmouseout="rh()">FUNCTOR2:def 8</a></span>
<br/>.= 
<span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font></span>)</span> <a href="altcat_1.html#K5" title="ALTCAT_1:func.5">*</a> <span class="p1">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E2:59"><span class="lab"><font color="Green" title="E35">A2</font></span></a>, <a class="ref" href="functor2.html#D5" onmouseover="rs('functor2/D5')" onmouseout="rh()">FUNCTOR2:def 5</a></span>
<br/>.= 
<span class="p1">(<span class="default"><span class="p2">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font></span>)</span> <a href="altcat_3.html#K1" title="ALTCAT_3:func.1">"</a></span>)</span> <a href="altcat_1.html#K5" title="ALTCAT_1:func.5">*</a> <span class="p1">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:59"><span class="lab"><font color="Green" title="E34">A1</font></span></a>, <a class="ref" href="functor3.html#T38" target="_self" onmouseover="rs('functor3/T38')" onmouseout="rh()">Th38</a></span>
<br/>.= 
 <a href="altcat_1.html#K8" title="ALTCAT_1:func.8">idm</a> <span class="p1">(<span class="default"><font color="Maroon" title="c3">F1</font> <a href="functor0.html#K2" title="FUNCTOR0:func.2">.</a> <font color="Maroon" title="c6">a</font></span>)</span>
<span class="kw">by</span> <span class="lab"><a class="txt" href="#E1:59_1"><span class="lab"><font color="Green" title="E37">A4</font></span></a>, <a class="ref" href="altcat_3.html#D5" onmouseover="rs('altcat_3/D5')" onmouseout="rh()">ALTCAT_3:def 5</a></span>
<br/>.= 
<span class="p1">(<span class="default"><a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Maroon" title="c3">F1</font></span>)</span> <a href="functor2.html#K2" title="FUNCTOR2:func.2">!</a> <font color="Maroon" title="c6">a</font>
<span class="kw">by</span> <span class="lab"><a class="ref" href="functor2.html#T4" onmouseover="rs('functor2/T4')" onmouseout="rh()">FUNCTOR2: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><span class="kw">end;</span></div>
<span class="kw">hence </span><a NAME="E5:59"/>
<span class="p1">(<span class="default"><font color="Maroon" title="c5">e</font> <a href="functor3.html#K8" title="FUNCTOR3:func.8">"</a></span>)</span> <a href="functor2.html#K5" title="FUNCTOR2:func.5">`*`</a> <font color="Maroon" title="c5">e</font> <a href="pboole.html#R8" title="PBOOLE:pred.8">=</a>  <a href="functor2.html#K4" title="FUNCTOR2:func.4">idt</a> <font color="Maroon" title="c3">F1</font>
 <span class="kw">by</span> <span class="lab"><a class="ref" href="functor2.html#T3" onmouseover="rs('functor2/T3')" onmouseout="rh()">FUNCTOR2:3</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>
