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).

    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))

  1. recall that all our rings are commutative, so they’re closed under multiplication by a constant on either side↩︎