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 be the set of those with either or . This is a commutative semiring, and addition is cancellative since it is a sub-semiring of a ring. There are no zero divisors since only if , which can only happen if or .
With and , we have and , yet .
So, NoZeroDivisors
isn't inherited by the grothendieck completion of R
.
Last updated: May 02 2025 at 03:31 UTC