Congruence relations on rings #
This file defines congruence relations on rings, which extend Con and AddCon on monoids and
additive monoids.
Most of the time you likely want to use the Ideal.Quotient API that is built on top of this.
Main Definitions #
RingCon R: the type of congruence relations respecting+and*.RingConGen r: the inductively defined smallest ring congruence relation containing a given binary relation.
TODO #
A congruence relation on a type with an addition and multiplication is an equivalence relation which preserves both.
- iseqv : Equivalence ⇑self.toSetoid
Instances For
The inductively defined smallest ring congruence relation containing a given binary relation.
- of {R : Type u_1} [Add R] [Mul R] {r : R → R → Prop} (x y : R) : r x y → Rel r x y
- refl {R : Type u_1} [Add R] [Mul R] {r : R → R → Prop} (x : R) : Rel r x x
- symm {R : Type u_1} [Add R] [Mul R] {r : R → R → Prop} {x y : R} : Rel r x y → Rel r y x
- trans {R : Type u_1} [Add R] [Mul R] {r : R → R → Prop} {x y z : R} : Rel r x y → Rel r y z → Rel r x z
- add {R : Type u_1} [Add R] [Mul R] {r : R → R → Prop} {w x y z : R} : Rel r w x → Rel r y z → Rel r (w + y) (x + z)
- mul {R : Type u_1} [Add R] [Mul R] {r : R → R → Prop} {w x y z : R} : Rel r w x → Rel r y z → Rel r (w * y) (x * z)
Instances For
Pulling back a RingCon across a ring homomorphism.
Instances For
Basic notation #
The basic algebraic notation, 0, 1, +, *, -, ^, descend naturally under the quotient
A function used to define scalar actions on RingCon.Quotient. To make sure such actions coming
from different sources are reducibly defeq, they should all go through this function.
Instances For
Algebraic structure #
The operations above on the quotient by c : RingCon R preserve the algebraic structure of R.
The natural homomorphism from a ring to its quotient by a ring congruence relation.