module Algebra.Ring.Quotient {â„“} (R : Ring â„“) where
Quotient rings🔗
Let be a ring and be an ideal. Because rings have an underlying abelian group, the ideal determines a normal subgroup of additive group, so that we may form the quotient group And since ideals are closed under multiplication1, we can extend multiplication to a multiplication operation on in a canonical way! In that case, we refer to as a quotient ring.
Really, the bulk of the construction has already been done (in the section about quotient groups), so all that remains is the following construction: We want to show that is invariant under equivalence for both and (and we may treat them separately for comprehensibility’s sake).
private quot-grp : Group _ quot-grp = R.additive-group /ᴳ I.ideal→normal module R/I = Group-on (quot-grp .snd) hiding (magma-hlevel)
quot-mul : ⌞ quot-grp ⌟ → ⌞ quot-grp ⌟ → ⌞ quot-grp ⌟ quot-mul = Coeq-rec₂ squash (λ x y → inc (x R.* y)) (λ a (_ , _ , r) → p1 a r) (λ a (_ , _ , r) → p2 a r) where
On one side, we must show that supposing that i.e. that But since is an ideal, we have thus And on the other side, we have the same thing: Since also so
p1 : ∀ a {x y} (r : (x R.- y) ∈ I) → inc (x R.* a) ≡ inc (y R.* a) p1 a {x} {y} x-y∈I = quot $ subst (_∈ I) (R.*-distribr ∙ ap (x R.* a R.+_) R.*-negatel) (I.has-*ᵣ a x-y∈I) p2 : ∀ a {x y} (r : (x R.- y) ∈ I) → inc (a R.* x) ≡ inc (a R.* y) p2 a {x} {y} x-y∈I = quot $ subst (_∈ I) (R.*-distribl ∙ ap (a R.* x R.+_) R.*-negater) (I.has-*ₗ a x-y∈I)
Showing that this extends to a ring structure on
is annoying, but not non-trivial, so we keep in this <details>
fold. Most of the proof
is appealing to the elimination principle(s) for quotients into
propositions, then applying
laws.
open make-ring make-R/I : make-ring ⌞ quot-grp ⌟ make-R/I .ring-is-set = squash make-R/I .0R = inc 0r make-R/I ._+_ = R/I._⋆_ make-R/I .-_ = R/I.inverse make-R/I .+-idl x = R/I.idl make-R/I .+-invr x = R/I.inverser {x} make-R/I .+-assoc x y z = R/I.associative {x} {y} {z} make-R/I .1R = inc R.1r make-R/I ._*_ = quot-mul make-R/I .+-comm = elim! λ x y → ap Coeq.inc R.+-commutes make-R/I .*-idl = elim! λ x → ap Coeq.inc R.*-idl make-R/I .*-idr = elim! λ x → ap Coeq.inc R.*-idr make-R/I .*-assoc = elim! λ x y z → ap Coeq.inc R.*-associative make-R/I .*-distribl = elim! λ x y z → ap Coeq.inc R.*-distribl make-R/I .*-distribr = elim! λ x y z → ap Coeq.inc R.*-distribr
R/I : Ring â„“ R/I = to-ring make-R/I
As a quick aside, if is a complemented ideal (equivalently: a decidable ideal), and is a discrete ring, then the quotient ring is also discrete. This is a specialisation of a general result about decidable quotient sets, but we mention it here regardless:
Discrete-ring-quotient : (∀ x → Dec (x ∈ I)) → Discrete ⌞ R/I ⌟ Discrete-ring-quotient dec∈I = Discrete-quotient (normal-subgroup→congruence R.additive-group I.ideal→normal) (λ x y → dec∈I (x R.- y))
recall that all our rings are commutative, so they’re closed under multiplication by a constant on either side↩︎