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

<b>set </b><font color="Maroon" title="c1">f</font> = <a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="realset1.html#K1" title="REALSET1:func.1">||</a> <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> ;<br/>
<a NAME="E1:108_1_1"/>
( <span class="p1"><a href="mcart_1.html#K12" title="MCART_1:func.12">[:</a><span class="default"><a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> ,<a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> </span><a href="mcart_1.html#K12" title="MCART_1:func.12">:]</a></span> <a href="tarski.html#R1" title="TARSKI:pred.1">c=</a> <span class="p1"><a href="zfmisc_1.html#K2" title="ZFMISC_1:func.2">[:</a><span class="default"><a href="numbers.html#K4" title="NUMBERS:func.4">INT</a> ,<a href="numbers.html#K4" title="NUMBERS:func.4">INT</a> </span><a href="zfmisc_1.html#K2" title="ZFMISC_1:func.2">:]</a></span> &amp;  <a href="relat_1.html#K1" title="RELAT_1:func.1">dom</a> <a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1"><a href="zfmisc_1.html#K2" title="ZFMISC_1:func.2">[:</a><span class="default"><a href="numbers.html#K4" title="NUMBERS:func.4">INT</a> ,<a href="numbers.html#K4" title="NUMBERS:func.4">INT</a> </span><a href="zfmisc_1.html#K2" title="ZFMISC_1:func.2">:]</a></span> )
 
<b>by </b><i><a class="ref" href="funct_2.html#D1" title="FUNCT_2:def.1">FUNCT_2:def 1</a>, <a class="ref" href="numbers.html#T17" title="NUMBERS:th.17">NUMBERS:17</a>, <a class="ref" href="zfmisc_1.html#T119" title="ZFMISC_1:th.119">ZFMISC_1:119</a></i>;<br/>
<a NAME="E2:108_1_1"/><b>then </b><i><font color="Green" title="E51">A1</font></i>: 
 <a href="relat_1.html#K1" title="RELAT_1:func.1">dom</a> <span class="p1">(<span class="default"><a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="realset1.html#K1" title="REALSET1:func.1">||</a> <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> </span>)</span> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1"><a href="mcart_1.html#K12" title="MCART_1:func.12">[:</a><span class="default"><a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> ,<a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> </span><a href="mcart_1.html#K12" title="MCART_1:func.12">:]</a></span>
 
<b>by </b><i><a class="ref" href="relat_1.html#T91" title="RELAT_1:th.91">RELAT_1:91</a></i>;<br/>
<a NAME="E3:108_1_1"/>
 <a href="relat_1.html#K2" title="RELAT_1:func.2">rng</a> <span class="p1">(<span class="default"><a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="realset1.html#K1" title="REALSET1:func.1">||</a> <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> </span>)</span> <a href="tarski.html#R1" title="TARSKI:pred.1">c=</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> 
 
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="108_1_1_1"><b>proof </b></a><div class="add">

<b>let </b><font color="Maroon" title="c2">x</font> be    <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a> ; <i><font color="Red">:: according to </font></i><a class="ref" href="tarski.html#D3" title="TARSKI:def.3">TARSKI:def 3</a><br/>

<b>assume </b><a NAME="E1:108_1_1_1"/>
<font color="Maroon" title="c2">x</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="relat_1.html#K2" title="RELAT_1:func.2">rng</a> <span class="p1">(<span class="default"><a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="realset1.html#K1" title="REALSET1:func.1">||</a> <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> </span>)</span>
 ;<br/>

<b>then consider </b><font color="Maroon" title="c3">y</font> being    <a href="hidden.html#M1" title="HIDDEN:mode.1">set</a> <b> such that </b><br/><a NAME="E3:108_1_1_1"/><i><font color="Green" title="E52">A2</font></i>: 
( <font color="Maroon" title="c3">y</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="relat_1.html#K1" title="RELAT_1:func.1">dom</a> <span class="p1">(<span class="default"><a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="realset1.html#K1" title="REALSET1:func.1">||</a> <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> </span>)</span> &amp; <font color="Maroon" title="c2">x</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <span class="p1">(<span class="default"><a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="realset1.html#K1" title="REALSET1:func.1">||</a> <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> </span>)</span> <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c3">y</font> )
 <b>by </b><i><a class="ref" href="funct_1.html#D5" title="FUNCT_1:def.5">FUNCT_1:def 5</a></i>;<br/>
<b>reconsider </b><font color="Maroon" title="c4">n1</font> = <font color="Maroon" title="c3">y</font> <a href="mcart_1.html#K1" title="MCART_1:func.1">`1</a> , <font color="Maroon" title="c5">n2</font> = <font color="Maroon" title="c3">y</font> <a href="mcart_1.html#K2" title="MCART_1:func.2">`2</a>  as    <a href="subset_1.html#M2" title="SUBSET_1:mode.2">Element</a> of  <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a>  <b>by </b><i><a class="txt" href="monoid_0.html#E2:108_1_1"><i><font color="Green" title="E51">A1</font></i></a>, <a class="txt" href="monoid_0.html#E3:108_1_1_1"><i><font color="Green" title="E52">A2</font></i></a>, <a class="ref" href="mcart_1.html#T10" title="MCART_1:th.10">MCART_1:10</a></i>;<br/>
<b>reconsider </b><font color="Maroon" title="c6">i1</font> = <font color="Maroon" title="c4">n1</font>, <font color="Maroon" title="c7">i2</font> = <font color="Maroon" title="c5">n2</font> as   <a href="int_1.html#NM1" title="INT_1:NM.1">Integer</a> ;<br/>
<font color="Maroon" title="c2">x</font> = 
<a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="funct_1.html#K1" title="FUNCT_1:func.1">.</a> <font color="Maroon" title="c3">y</font>
<b>by </b><i><a class="txt" href="monoid_0.html#E3:108_1_1_1"><i><font color="Green" title="E52">A2</font></i></a>, <a class="ref" href="funct_1.html#T70" title="FUNCT_1:th.70">FUNCT_1:70</a></i>
<br/>.= 
<a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="binop_1.html#K1" title="BINOP_1:func.1">.</a> <font color="Maroon" title="c6">i1</font>,<font color="Maroon" title="c7">i2</font>
<b>by </b><i><a class="txt" href="monoid_0.html#E2:108_1_1"><i><font color="Green" title="E51">A1</font></i></a>, <a class="txt" href="monoid_0.html#E3:108_1_1_1"><i><font color="Green" title="E52">A2</font></i></a>, <a class="ref" href="mcart_1.html#T23" title="MCART_1:th.23">MCART_1:23</a></i>
<br/>.= 
<font color="Maroon" title="c4">n1</font> <a href="binop_2.html#K23" title="BINOP_2:func.23">+</a> <font color="Maroon" title="c5">n2</font>
<b>by </b><i><a class="ref" href="gr_cy_1.html#T14" title="GR_CY_1:th.14">GR_CY_1:14</a></i>
;<br/>
<b>hence </b><a NAME="E7:108_1_1_1"/>
<font color="Maroon" title="c2">x</font> <a href="hidden.html#R2" title="HIDDEN:pred.2">in</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> 
 ;<br/>


</div><b>end;</b></div>
<b>then reconsider </b><font color="Maroon" title="c2">f</font> = <a href="binop_2.html#K44" title="BINOP_2:func.44">addint</a>  <a href="realset1.html#K1" title="REALSET1:func.1">||</a> <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a>  as   <a href="binop_1.html#NM2" title="BINOP_1:NM.2">BinOp</a> of  <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a>  <b>by </b><i><a class="txt" href="monoid_0.html#E2:108_1_1"><i><font color="Green" title="E51">A1</font></i></a>, <a class="ref" href="funct_2.html#D1" title="FUNCT_2:def.1">FUNCT_2:def 1</a>, <a class="ref" href="relset_1.html#T11" title="RELSET_1:th.11">RELSET_1:11</a></i>;<br/>
<a NAME="E5:108_1_1"/>
<font color="Maroon" title="c2">f</font> <a href="funct_4.html#NR1" title="FUNCT_4:NR.1">&lt;=</a> <font color="Maroon">H<sub>2</sub></font>( <a href="monoid_0.html#K4" title="MONOID_0:func.4">INT.Group</a> )
 
<b>by </b><i><a class="ref" href="gr_cy_1.html#D4" title="GR_CY_1:def.4">GR_CY_1:def 4</a>, <a class="ref" href="relat_1.html#T88" title="RELAT_1:th.88">RELAT_1:88</a></i>;<br/>
<b>then reconsider </b><font color="Maroon" title="c3">N</font> =  <a href="group_1.html#G1" title="GROUP_1:aggr.1">HGrStr</a>(# <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> ,<font color="Maroon" title="c2">f</font> #) as  non <a href="struct_0.html#V3" title="STRUCT_0:attr.3">empty</a> <a href="group_1.html#V1" title="GROUP_1:attr.1">strict</a>  <a href="monoid_0.html#M5" title="MONOID_0:mode.5">SubStr</a> of  <a href="monoid_0.html#K4" title="MONOID_0:func.4">INT.Group</a>  <b>by </b><i><a class="ref" href="monoid_0.html#D23" target="_self" title="MONOID_0:def.23">Def23</a></i>;<br/>
<b>reconsider </b><font color="Maroon" title="c4">a</font> = 0 as   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c3">N</font> ;<br/>
<div><i><font color="Green" title="E52">A3</font></i>: <a class="txt" onclick="hs2(this)" href="javascript:()" title="108_1_1_2"><b>now </b></a><div class="add"><b>let </b><font color="Maroon" title="c5">b</font> be   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c3">N</font>;<br/><b>reconsider </b><font color="Maroon" title="c6">n</font> = <font color="Maroon" title="c5">b</font> as    <a href="subset_1.html#M2" title="SUBSET_1:mode.2">Element</a> of  <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a>  ;<br/><b>thus </b><font color="Maroon" title="c4">a</font> <a href="group_1.html#K10" title="GROUP_1:func.10">*</a> <font color="Maroon" title="c5">b</font> = 
0 <a href="binop_2.html#K23" title="BINOP_2:func.23">+</a> <font color="Maroon" title="c6">n</font>
<b>by </b><i><a class="ref" href="monoid_0.html#T43" target="_self" title="MONOID_0:th.43">Th43</a></i>
<br/>.= 
<font color="Maroon" title="c5">b</font>

;<br/><b>thus </b><font color="Maroon" title="c5">b</font> <a href="group_1.html#K10" title="GROUP_1:func.10">*</a> <font color="Maroon" title="c4">a</font> = 
<font color="Maroon" title="c6">n</font> <a href="binop_2.html#K23" title="BINOP_2:func.23">+</a> 0
<b>by </b><i><a class="ref" href="monoid_0.html#T43" target="_self" title="MONOID_0:th.43">Th43</a></i>
<br/>.= 
<font color="Maroon" title="c5">b</font>

;<br/></div><b>end;</b></div>
<a NAME="E9:108_1_1"/><b>then </b><i><font color="Green" title="E53">A4</font></i>: 
<font color="Maroon" title="c3">N</font> is <a href="group_1.html#V2" title="GROUP_1:attr.2">unital</a>
 
<b>by </b><i><a class="ref" href="monoid_0.html#T6" target="_self" title="MONOID_0:th.6">Th6</a></i>;<br/>
<a NAME="E10:108_1_1"/><b>then </b><i><font color="Green" title="E54">A5</font></i>: 
<font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c3">N</font>) <a href="setwiseo.html#NR1" title="SETWISEO:NR.1">has_a_unity</a> 
 
<b>by </b><i><a class="ref" href="monoid_0.html#D10" target="_self" title="MONOID_0:def.10">Def10</a></i>;<br/>
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="108_1_1_3"><b>now </b></a><div class="add"><b>let </b><font color="Maroon" title="c5">b</font> be   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c3">N</font>;<br/><b>thus </b><font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c3">N</font>) <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Maroon" title="c4">a</font>,<font color="Maroon" title="c5">b</font> = 
<font color="Maroon" title="c4">a</font> <a href="group_1.html#K10" title="GROUP_1:func.10">*</a> <font color="Maroon" title="c5">b</font>

<br/>.= 
<font color="Maroon" title="c5">b</font>
<b>by </b><i><a class="txt" href="monoid_0.html#E8:108_1_1"><i><font color="Green" title="E52">A3</font></i></a></i>
;<br/><b>thus </b><font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c3">N</font>) <a href="binop_1.html#K2" title="BINOP_1:func.2">.</a> <font color="Maroon" title="c5">b</font>,<font color="Maroon" title="c4">a</font> = 
<font color="Maroon" title="c5">b</font> <a href="group_1.html#K10" title="GROUP_1:func.10">*</a> <font color="Maroon" title="c4">a</font>

<br/>.= 
<font color="Maroon" title="c5">b</font>
<b>by </b><i><a class="txt" href="monoid_0.html#E8:108_1_1"><i><font color="Green" title="E52">A3</font></i></a></i>
;<br/></div><b>end;</b></div>
<a NAME="E12:108_1_1"/><b>then </b><i><font color="Green" title="E55">A6</font></i>: 
<font color="Maroon" title="c4">a</font> <a href="binop_1.html#R3" title="BINOP_1:pred.3">is_a_unity_wrt</a> <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c3">N</font>)
 
<b>by </b><i><a class="ref" href="binop_1.html#T11" title="BINOP_1:th.11">BINOP_1:11</a></i>;<br/>
<a NAME="E13:108_1_1"/><b>then </b><i><font color="Green" title="E56">A7</font></i>: 
 <a href="binop_1.html#K3" title="BINOP_1:func.3">the_unity_wrt</a> <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c3">N</font>) <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c4">a</font>
 
<b>by </b><i><a class="ref" href="binop_1.html#D8" title="BINOP_1:def.8">BINOP_1:def 8</a></i>;<br/>
<div><a class="txt" onclick="hs2(this)" href="javascript:()" title="108_1_1_4"><b>now </b></a><div class="add"><b>let </b><font color="Maroon" title="c5">a</font>, <font color="Maroon" title="c6">b</font> be   <a href="struct_0.html#NM1" title="STRUCT_0:NM.1">Element</a> of <font color="Maroon" title="c3">N</font>;<br/><b>assume </b><a NAME="E1:108_1_1_4"/><i><font color="Green" title="E57">A8</font></i>: 
<font color="Maroon" title="c5">a</font> <a href="group_1.html#K10" title="GROUP_1:func.10">*</a> <font color="Maroon" title="c6">b</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="binop_1.html#K3" title="BINOP_1:func.3">the_unity_wrt</a> <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c3">N</font>)
 ;<br/><b>reconsider </b><font color="Maroon" title="c7">n</font> = <font color="Maroon" title="c5">a</font>, <font color="Maroon" title="c8">m</font> = <font color="Maroon" title="c6">b</font> as    <a href="subset_1.html#M2" title="SUBSET_1:mode.2">Element</a> of  <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a>  ;<br/><a NAME="E3:108_1_1_4"/>
<font color="Maroon" title="c5">a</font> <a href="group_1.html#K10" title="GROUP_1:func.10">*</a> <font color="Maroon" title="c6">b</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c7">n</font> <a href="binop_2.html#K23" title="BINOP_2:func.23">+</a> <font color="Maroon" title="c8">m</font>
 <b>by </b><i><a class="ref" href="monoid_0.html#T43" target="_self" title="MONOID_0:th.43">Th43</a></i>;<br/><a NAME="E4:108_1_1_4"/><b>then </b>
( <font color="Maroon" title="c5">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> 0 &amp; <font color="Maroon" title="c6">b</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> 0 )
 <b>by </b><i><a class="txt" href="monoid_0.html#E13:108_1_1"><i><font color="Green" title="E56">A7</font></i></a>, <a class="txt" href="monoid_0.html#E1:108_1_1_4"><i><font color="Green" title="E57">A8</font></i></a>, <a class="ref" href="nat_1.html#T7" title="NAT_1:th.7">NAT_1:7</a></i>;<br/><b>hence </b><a NAME="E5:108_1_1_4"/>
( <font color="Maroon" title="c5">a</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a> <font color="Maroon" title="c6">b</font> &amp; <font color="Maroon" title="c6">b</font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="binop_1.html#K3" title="BINOP_1:func.3">the_unity_wrt</a> <font color="Maroon">H<sub>2</sub></font>(<font color="Maroon" title="c3">N</font>) )
 <b>by </b><i><a class="txt" href="monoid_0.html#E12:108_1_1"><i><font color="Green" title="E55">A6</font></i></a>, <a class="ref" href="binop_1.html#D8" title="BINOP_1:def.8">BINOP_1:def 8</a></i>;<br/></div><b>end;</b></div>
<a NAME="E15:108_1_1"/><b>then </b>
<font color="Maroon" title="c3">N</font> is <a href="monoid_0.html#V17" title="MONOID_0:attr.17">uniquely-decomposable</a>
 
<b>by </b><i><a class="txt" href="monoid_0.html#E10:108_1_1"><i><font color="Green" title="E54">A5</font></i></a>, <a class="ref" href="monoid_0.html#T16" target="_self" title="MONOID_0:th.16">Th16</a></i>;<br/>
<b>hence </b><a NAME="E16:108_1_1"/>
 ex <font color="Olive">b<sub>1</sub></font> being non <a href="struct_0.html#V3" title="STRUCT_0:attr.3">empty</a> <a href="group_1.html#V1" title="GROUP_1:attr.1">strict</a> <a href="group_1.html#V2" title="GROUP_1:attr.2">unital</a> <a href="monoid_0.html#V17" title="MONOID_0:attr.17">uniquely-decomposable</a>  <a href="monoid_0.html#M5" title="MONOID_0:mode.5">SubStr</a> of  <a href="monoid_0.html#K4" title="MONOID_0:func.4">INT.Group</a>  st the <a href="struct_0.html#U1" title="STRUCT_0:sel.1">carrier</a> of <font color="Olive">b<sub>1</sub></font> <a href="hidden.html#R1" title="HIDDEN:pred.1">=</a>  <a href="numbers.html#K5" title="NUMBERS:func.5">NAT</a> 
 <b>by </b><i><a class="txt" href="monoid_0.html#E9:108_1_1"><i><font color="Green" title="E53">A4</font></i></a></i>;<br/>


</div>
