Quotients of non-commutative rings #
Unfortunately, ideals have only been developed in the commutative case as Ideal
,
and it's not immediately clear how one should formalise ideals in the non-commutative case.
In this file, we directly define the quotient of a semiring by any relation, by building a bigger relation that represents the ideal generated by that relation.
We prove the universal properties of the quotient, and recommend avoiding relying on the actual definition, which is made irreducible for this purpose.
Since everything runs in parallel for quotients of R
-algebras, we do that case at the same time.
Equations
- c.instAlgebraQuotient = Algebra.mk (c.mk'.comp (algebraMap S A)) ⋯ ⋯
Given an arbitrary relation r
on a ring, we strengthen it to a relation Rel r
,
such that the equivalence relation generated by Rel r
has x ~ y
if and only if
x - y
is in the ideal generated by elements a - b
such that r a b
.
- of: ∀ {R : Type uR} [inst : Semiring R] {r : R → R → Prop} ⦃x y : R⦄, r x y → RingQuot.Rel r x y
- add_left: ∀ {R : Type uR} [inst : Semiring R] {r : R → R → Prop} ⦃a b c : R⦄, RingQuot.Rel r a b → RingQuot.Rel r (a + c) (b + c)
- mul_left: ∀ {R : Type uR} [inst : Semiring R] {r : R → R → Prop} ⦃a b c : R⦄, RingQuot.Rel r a b → RingQuot.Rel r (a * c) (b * c)
- mul_right: ∀ {R : Type uR} [inst : Semiring R] {r : R → R → Prop} ⦃a b c : R⦄, RingQuot.Rel r b c → RingQuot.Rel r (a * b) (a * c)
Instances For
EqvGen (RingQuot.Rel r)
is a ring congruence.
Equations
- RingQuot.ringCon r = { r := EqvGen (RingQuot.Rel r), iseqv := ⋯, mul' := ⋯, add' := ⋯ }
Instances For
Equations
- RingQuot.instNatCast r = { natCast := RingQuot.natCast r }
Equations
- RingQuot.instZero r = { zero := RingQuot.zero r }
Equations
- RingQuot.instOne r = { one := RingQuot.one r }
Equations
- RingQuot.instAdd r = { add := RingQuot.add r }
Equations
- RingQuot.instMul r = { mul := RingQuot.mul r }
Equations
- RingQuot.instNatPow r = { pow := fun (x : RingQuot r) (n : ℕ) => RingQuot.npow r n x }
Equations
- RingQuot.instNeg r = { neg := RingQuot.neg r }
Equations
- RingQuot.instSub r = { sub := RingQuot.sub r }
Equations
- RingQuot.instSMulOfAlgebra r = { smul := RingQuot.smul r }
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
Equations
Equations
- RingQuot.instSemiring r = let __spread.0 := RingQuot.instAddCommMonoid r; let __spread.1 := RingQuot.instMonoidWithZero r; Semiring.mk ⋯ ⋯ ⋯ ⋯ Monoid.npow ⋯ ⋯
Equations
- RingQuot.instRing r = let __src := RingQuot.instSemiring r; Ring.mk ⋯ (fun (x : ℤ) (x_1 : RingQuot r) => x • x_1) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- RingQuot.instCommSemiring r = let __src := RingQuot.instSemiring r; CommSemiring.mk ⋯
Equations
- RingQuot.instCommRing r = let __src := RingQuot.instCommSemiring r; let __src_1 := RingQuot.instRing r; CommRing.mk ⋯
Equations
- RingQuot.instInhabited r = { default := 0 }
Equations
- One or more equations did not get rendered due to their size.
The quotient map from a ring to its quotient, as a homomorphism of rings.
Equations
Instances For
We now verify that in the case of a commutative ring, the RingQuot
construction
agrees with the quotient by the appropriate ideal.
The universal ring homomorphism from RingQuot r
to B ⧸ Ideal.ofRel r
.
Equations
- RingQuot.ringQuotToIdealQuotient r = RingQuot.lift ⟨Ideal.Quotient.mk (Ideal.ofRel r), ⋯⟩
Instances For
The universal ring homomorphism from B ⧸ Ideal.ofRel r
to RingQuot r
.
Equations
Instances For
The ring equivalence between RingQuot r
and (Ideal.ofRel r).quotient
Equations
Instances For
The quotient map from an S
-algebra to its quotient, as a homomorphism of S
-algebras.
Equations
Instances For
Any S
-algebra homomorphism f : A →ₐ[S] B
which respects a relation s : A → A → Prop
factors uniquely through a morphism RingQuot s →ₐ[S] B
.