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

<b>let </b><font color="Maroon" title="c1">G</font> be  non <a href="struct_0.html#V3" title="STRUCT_0:attr.3">empty</a>  <a href="group_1.html#L1" title="GROUP_1:struct.1">HGrStr</a> ;<br/>

<b>thus </b><a NAME="E1:25"/>
( <font color="Maroon" title="c1">G</font> is <a href="monoid_0.html#V13" title="MONOID_0:attr.13">invertible</a> implies for <font color="Olive" title="b1">a</font>, <font color="Olive" title="b2">b</font> being  <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font>  ex <font color="Olive" title="b3">r</font>, <font color="Olive" title="b4">l</font> being  <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font> st <br/>( <font color="Olive" title="b1">a</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Olive" title="b3">r</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">b</font> &amp; <font color="Olive" title="b4">l</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Olive" title="b1">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">b</font> ) )
 <div><a class="txt" onclick="hs2(this)" href="javascript:()" title="25_1"><b>proof </b></a><div class="add">

<b>assume </b><a NAME="E1:25_1"/><i><font color="Green" title="E17">A1</font></i>: 
for <font color="Olive" title="b1">a</font>, <font color="Olive" title="b2">b</font> being  <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font>  ex <font color="Olive" title="b3">r</font>, <font color="Olive" title="b4">l</font> being  <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font> st <br/>( <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c1">G</font>) <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Olive" title="b1">a</font>,<font color="Olive" title="b3">r</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">b</font> &amp; <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c1">G</font>) <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Olive" title="b4">l</font>,<font color="Olive" title="b1">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">b</font> )
 ; <i><font color="Red">:: according to </font></i><a class="ref" href="monoid_0.html#D5" target="_self" title="MONOID_0:def.5">MONOID_0:def 5</a>,<a class="ref" href="monoid_0.html#D16" target="_self" title="MONOID_0:def.16">MONOID_0:def 16</a><br/>

<b>let </b><font color="Maroon" title="c2">a</font>, <font color="Maroon" title="c3">b</font> be   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font>;<br/>



<b>consider </b><font color="Maroon" title="c4">r</font>, <font color="Maroon" title="c5">l</font> being   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font><b> such that </b><br/><a NAME="E3:25_1"/><i><font color="Green" title="E18">A2</font></i>: 
( <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c1">G</font>) <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Maroon" title="c2">a</font>,<font color="Maroon" title="c4">r</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> &amp; <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c1">G</font>) <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Maroon" title="c5">l</font>,<font color="Maroon" title="c2">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> )
 <b>by </b><i><a class="txt" href="monoid_0.html#E1:25_1"><i><font color="Green" title="E17">A1</font></i></a></i>;<br/>
<b>take </b>
<font color="Maroon" title="c4">r</font>
;<br/>

<b>take </b>
<font color="Maroon" title="c5">l</font>
;<br/>

<b>thus </b><a NAME="E4:25_1"/>
( <font color="Maroon" title="c2">a</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Maroon" title="c4">r</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> &amp; <font color="Maroon" title="c5">l</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Maroon" title="c2">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> )
 <b>by </b><i><a class="txt" href="monoid_0.html#E3:25_1"><i><font color="Green" title="E18">A2</font></i></a></i>;<br/>


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

<b>assume </b><a NAME="E2:25"/><i><font color="Green" title="E17">A3</font></i>: 
for <font color="Olive" title="b1">a</font>, <font color="Olive" title="b2">b</font> being  <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font>  ex <font color="Olive" title="b3">r</font>, <font color="Olive" title="b4">l</font> being  <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font> st <br/>( <font color="Olive" title="b1">a</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Olive" title="b3">r</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">b</font> &amp; <font color="Olive" title="b4">l</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Olive" title="b1">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Olive" title="b2">b</font> )
 ;<br/>

<b>let </b><font color="Maroon" title="c2">a</font> be   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font>; <i><font color="Red">:: according to </font></i><a class="ref" href="monoid_0.html#D5" target="_self" title="MONOID_0:def.5">MONOID_0:def 5</a>,<a class="ref" href="monoid_0.html#D16" target="_self" title="MONOID_0:def.16">MONOID_0:def 16</a><br/><b>let </b><font color="Maroon" title="c3">b</font> be   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font>;<br/>



<b>consider </b><font color="Maroon" title="c4">r</font>, <font color="Maroon" title="c5">l</font> being   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c1">G</font><b> such that </b><br/><a NAME="E4:25"/><i><font color="Green" title="E18">A4</font></i>: 
( <font color="Maroon" title="c2">a</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Maroon" title="c4">r</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> &amp; <font color="Maroon" title="c5">l</font> <a href="group_1.html#K1" title="GROUP_1:func.1">*</a> <font color="Maroon" title="c2">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> )
 <b>by </b><i><a class="txt" href="monoid_0.html#E2:25"><i><font color="Green" title="E17">A3</font></i></a></i>;<br/>
<b>take </b>
<font color="Maroon" title="c4">r</font>
;<br/>

<b>take </b>
<font color="Maroon" title="c5">l</font>
;<br/>

<b>thus </b><a NAME="E5:25"/>
( the <a href="group_1.html#U1" title="GROUP_1:sel.1">mult</a> of <font color="Maroon" title="c1">G</font> <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Maroon" title="c2">a</font>,<font color="Maroon" title="c4">r</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> &amp; the <a href="group_1.html#U1" title="GROUP_1:sel.1">mult</a> of <font color="Maroon" title="c1">G</font> <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Maroon" title="c5">l</font>,<font color="Maroon" title="c2">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c3">b</font> )
 <b>by </b><i><a class="txt" href="monoid_0.html#E4:25"><i><font color="Green" title="E18">A4</font></i></a></i>;<br/>


</div>
