<div dir="ltr">Hi Sergei,<div> Without wishing to get into a citation war, I think there is no clear consensus that (semi)rings are traditionally defined without a multiplicative identity. Indeed in every course or textbook I've seen, they've come with a one defined. Of course that may be a cultural thing. However given that it's not necessarily clear which way is most common, I think the standard library will err on the side of sticking with the current definition. To do otherwise would raise a lot of backwards compatibility issues with other people's code.</div><div><br></div><div>I'm also a bit confused by your statement that the integer numbers does not have a one. Surely the multiplicative identity of the integers is just "1"?</div><div><br></div><div>If there is anything else we can do in the existing framework of the standard library to help you use the current definitions, do let us know and we'll consider it for addition.</div><div>Best,</div><div>Matthew</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 27, 2018 at 9:11 PM, Sergei Meshveliani <span dir="ltr"><<a href="mailto:mechvel@botik.ru" target="_blank">mechvel@botik.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear all,<br>
<br>
This is a certain minor point about algebra in Standard library.<br>
I am writing a certain application that relies on  Standard library<br>
algebra, from Semigroup up to CommutativeRing.<br>
And I observe the following.<br>
<br>
(I) A classical book by Lang (1968) defines that a Ring has an unity<br>
    element by multiplication.<br>
<br>
(II) A classical book by Van Der Waerden (1971) defines that a Ring does<br>
not necessary has unity. If it has, people call it "Ring with unity".<br>
I expected that in Standard library it would be called  RinWithOne.<br>
But I do not find such there.<br>
<br>
(III) Standard library defines that Semiring has unity (1#),<br>
  and Ring inherits Semiring, so that Ring always has an unity element<br>
  by multiplication. And this agrees with (I).<br>
  (and naturally, the name RingWithOne is skipped).<br>
<br>
(IV) But Standard library also introduces SemiringWithoutOne.<br>
                                                  -------<br>
<br>
(V) Even integer numbers occur a Ring according to (II),<br>
    but not according to (I).<br>
<br>
<br>
Summing all this, I think that this will be more natural for Standard<br>
library<br>
* to define Ring as in (II),<br>
* to define Semiring with skipping 1#  (instead of SemiringWihoutOne),<br>
* to define SemiringWithOne as including 1#,<br>
* to define RingWithOne as inheriting SemiringWithOne.<br>
<br>
-- ?<br>
<br>
Regards,<br>
<br>
------<br>
Sergei<br>
<br>
______________________________<wbr>_________________<br>
Agda mailing list<br>
<a href="mailto:Agda@lists.chalmers.se">Agda@lists.chalmers.se</a><br>
<a href="https://lists.chalmers.se/mailman/listinfo/agda" rel="noreferrer" target="_blank">https://lists.chalmers.se/<wbr>mailman/listinfo/agda</a><br>
</blockquote></div><br></div>