Classical.Theories.Ring¶
The equational theory of rings¶
This is the Classical.Theories.Ring module of the Agda Universal Algebra Library.
Th-Ring has eleven equations, composed from the generic builders of
Classical.Equations applied to Sig-Ring's symbols, in three groups:
- the abelian-group equations on the additive triple
(+-Op, 0-Op, -Op)— associativity, left/right identity, left/right inverse, and commutativity (six); - the monoid equations on the multiplicative pair
(·-Op, 1-Op)— associativity and left/right identity (three); - the two distributivity equations tying multiplication over addition together
(
DistributesOverˡ,DistributesOverʳ).
Constructor names hyphenate the operation as a prefix (+-assoc, ·-idˡ, …) so the
operation governing each equation is visible at every use site. This is the first
theory in the Classical/ tree to compose two separate single-operation
sub-theories plus the cross-operation distributivity laws; the additive sub-theory is
exactly Th-AbelianGroup re-spelled over Sig-Ring's additive symbols, and the
multiplicative sub-theory is exactly Th-Monoid re-spelled over its multiplicative
symbols, which is what makes the two forgetful reducts of
Classical.Structures.Ring discharge cleanly.
data Eq-Ring : Type where +-assoc +-idˡ +-idʳ +-invˡ +-invʳ +-comm : Eq-Ring ·-assoc ·-idˡ ·-idʳ : Eq-Ring distribˡ distribʳ : Eq-Ring Th-Ring : Eq-Ring → Term (Fin 3) × Term (Fin 3) Th-Ring +-assoc = Associative +-Op refl 0F 1F 2F Th-Ring +-idˡ = LeftIdentity +-Op 0-Op refl refl 0F Th-Ring +-idʳ = RightIdentity +-Op 0-Op refl refl 0F Th-Ring +-invˡ = LeftInverse +-Op -Op 0-Op refl refl refl 0F Th-Ring +-invʳ = RightInverse +-Op -Op 0-Op refl refl refl 0F Th-Ring +-comm = Commutative +-Op refl 0F 1F Th-Ring ·-assoc = Associative ·-Op refl 0F 1F 2F Th-Ring ·-idˡ = LeftIdentity ·-Op 1-Op refl refl 0F Th-Ring ·-idʳ = RightIdentity ·-Op 1-Op refl refl 0F Th-Ring distribˡ = DistributesOverˡ ·-Op +-Op refl refl 0F 1F 2F Th-Ring distribʳ = DistributesOverʳ ·-Op +-Op refl refl 0F 1F 2F