Commit 2025-11-26 15:01 75ee4adc

View on Github →

feat(RingTheory/Congruence/Hom): prove basic isomorphisms theorems for ring congruences (#26277) This file contains elementary definitions involving congruence relations and morphisms for semirings, rings, and algebras.

  • RingCon.ker: the kernel of a monoid homomorphism as a congruence relation
  • RingCon.lift, RingCon.liftₐ: the homomorphism / the algebra morphism on the quotient given that the congruence is in the kernel
  • RingCon.map, RingCon.mapₐ: homomorphism / algebra morphism from a smaller to a larger quotient
  • RingCon.quotientKerEquivRangeS, RingCon.quotientKerEquivRange, RingCon.quotientKerEquivRangeₐ : the first isomorphism theorem for semirings (using RingHom.rangeS), rings (using RingHom.range) and algebras (using AlgHom.range).
  • RingCon.comapQuotientEquivRangeS, RingCon.comapQuotientEquivRange, RingCon.comapQuotientEquivRangeₐ : the second isomorphism theorem for semirings (using RingHom.rangeS), rings (using RingHom.range) and algebras (using AlgHom.range).
  • RingCon.quotientQuotientEquivQuotient, RingCon.quotientQuotientEquivQuotientₐ : the third isomorphism theorem for semirings (or rings) and algebras It is an adaptation of what existed for multiplicative congruences (docs#Con) and is only useful for semirings which are not rings.

Estimated changes

added theorem RingCon.coe_inj
added theorem RingCon.coe_mk'
modified def RingCon.comap
added theorem RingCon.comap_rel
added theorem RingCon.ext''
modified def RingCon.mk'
added theorem RingCon.mk'_surjective
added theorem RingCon.coe_liftₐ
added theorem RingCon.comap_bot
added theorem RingCon.comap_eq
added theorem RingCon.congr_mk
added theorem RingCon.congrₐ_mk
added theorem RingCon.factorₐ_mk
added def RingCon.ker
added def RingCon.kerLift
added theorem RingCon.kerLift_mk
added theorem RingCon.kerLiftₐ_mk
added theorem RingCon.ker_apply
added theorem RingCon.ker_comp
added theorem RingCon.ker_mk'_eq
added def RingCon.lift
added theorem RingCon.lift_apply_mk'
added theorem RingCon.lift_coe
added theorem RingCon.lift_comp_mk'
added theorem RingCon.lift_mk'
added theorem RingCon.lift_unique
added def RingCon.liftₐ
added theorem RingCon.liftₐ_mk
added theorem RingCon.liftₐ_range
added def RingCon.map
added def RingCon.mapGen
added theorem RingCon.map_apply
added theorem RingCon.rangeS_kerLift
added theorem RingCon.rangeS_lift
added theorem RingCon.rangeS_mk'
added theorem RingCon.range_lift
added theorem RingCon.range_mk'
added theorem RingCon.range_mkₐ