Zulip Chat Archive

Stream: maths

Topic: algebra puzzle


Heather Macbeth (Oct 09 2024 at 00:09):

Is this true?

import Mathlib
variable {R : Type*}

example [Semiring R] [IsLeftCancelAdd R] [IsRightCancelAdd R] [NoZeroDivisors R]
    {a b : R} (H : a ^ 2 + b ^ 2 = a * b + b * a) :
    a = b := by
  sorry

Heather Macbeth (Oct 09 2024 at 00:09):

Note that it is true over a ring (as opposed to a cancellative semiring):

example [Ring R] [NoZeroDivisors R]
    {a b : R} (H : a ^ 2 + b ^ 2 = a * b + b * a) :
    a = b := by
  have h : (a - b) ^ 2 = 0 := by linear_combination (norm := noncomm_ring) H
  linear_combination (norm := noncomm_ring) pow_eq_zero h

Kyle Miller (Oct 09 2024 at 00:33):

It seems not to be true, if I got this counterexample right:

Let RZ[x]/(x2)R\subseteq \mathbb{Z}[x]/(x^2) be the set of those a+bxa+bx with either a>0a>0 or a=b=0a=b=0. This is a commutative semiring, and addition is cancellative since it is a sub-semiring of a ring. There are no zero divisors since (a+bx)(c+dx)=0(a+bx)(c+dx)=0 only if ac=0ac=0, which can only happen if a=b=0a=b=0 or c=d=0c=d=0.

With a=1a=1 and b=1+xb=1+x, we have a2+b2=2+2xa^2+b^2=2+2x and ab+ba=2+2xab+ba=2+2x, yet aba\neq b.

So, NoZeroDivisors isn't inherited by the grothendieck completion of R.


Last updated: May 02 2025 at 03:31 UTC