22-- The Agda standard library
33--
44-- Ideals of a ring
5+ --
6+ -- Based on Nathan van Doorn (Taneb)'s original PR
7+ -- https://github.com/agda/agda-stdlib/pull/2855
58------------------------------------------------------------------------
69
710{-# OPTIONS --safe --cubical-compatible #-}
811
912open import Algebra.Bundles using (Ring)
1013
14+ -- As with `Algebra.Construct.Sub.Group.Normal`, this module
15+ -- relocates Taneb's original `Algebra.Ideal`
16+ -- to a level one *below* that of `Algebra.Construct.Sub.Ring`.
17+
1118module Algebra.Construct.Sub.Ring.Ideal {c ℓ} (R : Ring c ℓ) where
1219
1320open import Algebra.Module.Construct.Sub.Bimodule using (Subbimodule)
@@ -16,10 +23,17 @@ open import Level using (suc; _⊔_)
1623
1724------------------------------------------------------------------------
1825-- Definition
19- -- a (two sided) ideal is exactly a subbimodule of R considered as a bimodule over itself
26+ --
27+ -- A (two sided) ideal is exactly a sub-bimodule of R, considered as
28+ -- a bimodule (the `TensorUnit` for that category) over itself.
2029
2130record Ideal c′ ℓ′ : Set (c ⊔ ℓ ⊔ suc (c′ ⊔ ℓ′)) where
2231 field
2332 subbimodule : Subbimodule {R = R} bimodule c′ ℓ′
2433
34+ -- The definition of `Subbimodule` now exports the `normalSubgroup`
35+ -- and `abelianGroup` definitions, so that a `Ring` modulo an `Ideal`
36+ -- already has direct access to the underlying quotient `(Abelian)Group`
37+ -- structure on the additive group of the ring.
38+
2539 open Subbimodule subbimodule public
0 commit comments