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

<b>let </b><font color="Maroon" title="c1">R1</font>, <font color="Maroon" title="c2">R2</font> be   <a href="funcsdom.html#NM1" title="FUNCSDOM:NM.1">Ring</a>;<br/>



<b>set </b><font color="Maroon" title="c3">G</font> =  <a href="vectsp_2.html#G2" title="VECTSP_2:aggr.2">BiModStr</a>(# <span class="p1"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,<a href="midsp_1.html#K2" title="MIDSP_1:func.2">op2</a> ,<a href="vectsp_2.html#K8" title="VECTSP_2:func.8">op0</a> ,<span class="p1">(<span class="default"><a href="funct_3.html#K10" title="FUNCT_3:func.10">pr2</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">R1</font>,<span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span></span>)</span>,<span class="p1">(<span class="default"><a href="funct_3.html#K9" title="FUNCT_3:func.9">pr1</a> <span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c2">R2</font></span>)</span> #);<br/>
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="58_1"><b>now </b></a><div class="add"><b>let </b><font color="Maroon" title="c4">x</font>, <font color="Maroon" title="c5">y</font>, <font color="Maroon" title="c6">z</font> be   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <a href="vectsp_2.html#G2" title="VECTSP_2:aggr.2">BiModStr</a>(# <span class="p1"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,<a href="midsp_1.html#K2" title="MIDSP_1:func.2">op2</a> ,<a href="vectsp_2.html#K8" title="VECTSP_2:func.8">op0</a> ,<span class="p1">(<span class="default"><a href="funct_3.html#K10" title="FUNCT_3:func.10">pr2</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">R1</font>,<span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span></span>)</span>,<span class="p1">(<span class="default"><a href="funct_3.html#K9" title="FUNCT_3:func.9">pr1</a> <span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c2">R2</font></span>)</span> #);<br/><a NAME="E1:58_1"/>
( <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c5">y</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  &amp; <font color="Maroon" title="c5">y</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c4">x</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  &amp; <span class="p1">(<span class="default"><font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c5">y</font></span>)</span> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c6">z</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  &amp; <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <span class="p1">(<span class="default"><font color="Maroon" title="c5">y</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c6">z</font></span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  &amp; <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <span class="p1">(<span class="default"><a href="rlvect_1.html#K1" title="RLVECT_1:func.1">0.</a> <a href="vectsp_2.html#G2" title="VECTSP_2:aggr.2">BiModStr</a>(# <span class="p1"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,<a href="midsp_1.html#K2" title="MIDSP_1:func.2">op2</a> ,<a href="vectsp_2.html#K8" title="VECTSP_2:func.8">op0</a> ,<span class="p1">(<span class="default"><a href="funct_3.html#K10" title="FUNCT_3:func.10">pr2</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">R1</font>,<span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span></span>)</span>,<span class="p1">(<span class="default"><a href="funct_3.html#K9" title="FUNCT_3:func.9">pr1</a> <span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c2">R2</font></span>)</span> #)</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  &amp; <font color="Maroon" title="c4">x</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  &amp; <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <span class="p1">(<span class="default"><a href="rlvect_1.html#K5" title="RLVECT_1:func.5">-</a> <font color="Maroon" title="c4">x</font></span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  &amp;  <a href="rlvect_1.html#K1" title="RLVECT_1:func.1">0.</a> <a href="vectsp_2.html#G2" title="VECTSP_2:aggr.2">BiModStr</a>(# <span class="p1"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,<a href="midsp_1.html#K2" title="MIDSP_1:func.2">op2</a> ,<a href="vectsp_2.html#K8" title="VECTSP_2:func.8">op0</a> ,<span class="p1">(<span class="default"><a href="funct_3.html#K10" title="FUNCT_3:func.10">pr2</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">R1</font>,<span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span></span>)</span>,<span class="p1">(<span class="default"><a href="funct_3.html#K9" title="FUNCT_3:func.9">pr1</a> <span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c2">R2</font></span>)</span> #) <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a>  )
 <b>by </b><i><a class="ref" href="tarski.html#D1" title="TARSKI:def.1">TARSKI:def 1</a></i>;<br/><b>hence </b><a NAME="E2:58_1"/>
( <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c5">y</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c5">y</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c4">x</font> &amp; <span class="p1">(<span class="default"><font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c5">y</font></span>)</span> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c6">z</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <span class="p1">(<span class="default"><font color="Maroon" title="c5">y</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Maroon" title="c6">z</font></span>)</span> &amp; <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <span class="p1">(<span class="default"><a href="rlvect_1.html#K1" title="RLVECT_1:func.1">0.</a> <a href="vectsp_2.html#G2" title="VECTSP_2:aggr.2">BiModStr</a>(# <span class="p1"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,<a href="midsp_1.html#K2" title="MIDSP_1:func.2">op2</a> ,<a href="vectsp_2.html#K8" title="VECTSP_2:func.8">op0</a> ,<span class="p1">(<span class="default"><a href="funct_3.html#K10" title="FUNCT_3:func.10">pr2</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">R1</font>,<span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span></span>)</span>,<span class="p1">(<span class="default"><a href="funct_3.html#K9" title="FUNCT_3:func.9">pr1</a> <span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c2">R2</font></span>)</span> #)</span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c4">x</font> &amp;  ex <font color="Olive" title="b1">x'</font> being  <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <a href="vectsp_2.html#G2" title="VECTSP_2:aggr.2">BiModStr</a>(# <span class="p1"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,<a href="midsp_1.html#K2" title="MIDSP_1:func.2">op2</a> ,<a href="vectsp_2.html#K8" title="VECTSP_2:func.8">op0</a> ,<span class="p1">(<span class="default"><a href="funct_3.html#K10" title="FUNCT_3:func.10">pr2</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">R1</font>,<span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span></span>)</span>,<span class="p1">(<span class="default"><a href="funct_3.html#K9" title="FUNCT_3:func.9">pr1</a> <span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c2">R2</font></span>)</span> #) st <font color="Maroon" title="c4">x</font> <a href="rlvect_1.html#K2" title="RLVECT_1:func.2">+</a> <font color="Olive" title="b1">x'</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="rlvect_1.html#K1" title="RLVECT_1:func.1">0.</a> <a href="vectsp_2.html#G2" title="VECTSP_2:aggr.2">BiModStr</a>(# <span class="p1"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,<a href="midsp_1.html#K2" title="MIDSP_1:func.2">op2</a> ,<a href="vectsp_2.html#K8" title="VECTSP_2:func.8">op0</a> ,<span class="p1">(<span class="default"><a href="funct_3.html#K10" title="FUNCT_3:func.10">pr2</a> the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c1">R1</font>,<span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span></span>)</span>,<span class="p1">(<span class="default"><a href="funct_3.html#K9" title="FUNCT_3:func.9">pr1</a> <span class="p2"><a href="tarski.html#K1" title="TARSKI:func.1">{</a><span class="default"><a href="xboole_0.html#K1" title="XBOOLE_0:func.1">{}</a> </span><a href="tarski.html#K1" title="TARSKI:func.1">}</a></span>,the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Maroon" title="c2">R2</font></span>)</span> #) )
 ;<br/></div><b>end;</b></div>
<b>hence </b><a NAME="E2:58"/>
( <font color="Maroon">H<sub>3</sub></font>(<font color="Maroon" title="c1">R1</font>,<font color="Maroon" title="c2">R2</font>) is <a href="rlvect_1.html#V3" title="RLVECT_1:attr.3">Abelian</a> &amp; <font color="Maroon">H<sub>3</sub></font>(<font color="Maroon" title="c1">R1</font>,<font color="Maroon" title="c2">R2</font>) is <a href="rlvect_1.html#V4" title="RLVECT_1:attr.4">add-associative</a> &amp; <font color="Maroon">H<sub>3</sub></font>(<font color="Maroon" title="c1">R1</font>,<font color="Maroon" title="c2">R2</font>) is <a href="rlvect_1.html#V5" title="RLVECT_1:attr.5">right_zeroed</a> &amp; <font color="Maroon">H<sub>3</sub></font>(<font color="Maroon" title="c1">R1</font>,<font color="Maroon" title="c2">R2</font>) is <a href="rlvect_1.html#V6" title="RLVECT_1:attr.6">right_complementable</a> )
 <b>by </b><i><a class="ref" href="rlvect_1.html#D5" title="RLVECT_1:def.5">RLVECT_1:def 5</a>, <a class="ref" href="rlvect_1.html#D6" title="RLVECT_1:def.6">RLVECT_1:def 6</a>, <a class="ref" href="rlvect_1.html#D7" title="RLVECT_1:def.7">RLVECT_1:def 7</a>, <a class="ref" href="rlvect_1.html#D8" title="RLVECT_1:def.8">RLVECT_1:def 8</a></i>;<br/>


</div>
