Documentation

Mathlib.RingTheory.TwoSidedIdeal.Basic

Two Sided Ideals #

In this file, for any Ring R, we reinterpret I : RingCon R as a two-sided-ideal of a ring.

Main definitions and results #

structure TwoSidedIdeal (R : Type u_1) [NonUnitalNonAssocRing R] :
Type u_1

A two-sided ideal of a ring R is a subset of R that contains 0 and is closed under addition, negation, and absorbs multiplication on both sides.

  • ofRingCon :: (
    • ringCon : RingCon R

      The congruence relation induced by this ideal.

  • )
Instances For
    @[instance_reducible]
    Equations
    theorem TwoSidedIdeal.mem_iff {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) (x : R) :
    x ∈ I ↔ I.ringCon x 0
    @[simp]
    theorem TwoSidedIdeal.mem_ofRingCon {R : Type u_1} [NonUnitalNonAssocRing R] {x : R} {c : RingCon R} :
    x ∈ { ringCon := c } ↔ c x 0
    @[simp]
    theorem TwoSidedIdeal.coe_ofRingCon {R : Type u_1} [NonUnitalNonAssocRing R] {c : RingCon R} :
    ↑{ ringCon := c } = {x : R | c x 0}
    @[reducible, inline, deprecated TwoSidedIdeal.ofRingCon (since := "2026-06-18")]

    A deprecated alias for ofRingCon.

    Equations
    Instances For
      @[deprecated TwoSidedIdeal.mem_ofRingCon (since := "2026-06-18")]
      theorem TwoSidedIdeal.mem_mk {R : Type u_1} [NonUnitalNonAssocRing R] {x : R} {c : RingCon R} :
      x ∈ mk c ↔ c x 0
      @[deprecated TwoSidedIdeal.coe_ofRingCon (since := "2026-06-18")]
      theorem TwoSidedIdeal.coe_mk {R : Type u_1} [NonUnitalNonAssocRing R] {c : RingCon R} :
      ↑(mk c) = {x : R | c x 0}
      theorem TwoSidedIdeal.rel_iff {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) (x y : R) :
      I.ringCon x y ↔ x - y ∈ I

      the coercion from two-sided-ideals to sets is an order embedding

      Equations
      Instances For
        theorem TwoSidedIdeal.le_iff {R : Type u_1} [NonUnitalNonAssocRing R] {I J : TwoSidedIdeal R} :
        I ≤ J ↔ ↑I ⊆ ↑J

        Two-sided-ideals corresponds to congruence relations on a ring.

        Equations
        Instances For
          @[simp]
          theorem TwoSidedIdeal.orderIsoRingCon_symm_apply {R : Type u_1} [NonUnitalNonAssocRing R] (ringCon : RingCon R) :
          (RelIso.symm orderIsoRingCon) ringCon = { ringCon := ringCon }
          theorem TwoSidedIdeal.ext {R : Type u_1} [NonUnitalNonAssocRing R] {I J : TwoSidedIdeal R} (h : ∀ (x : R), x ∈ I ↔ x ∈ J) :
          I = J
          theorem TwoSidedIdeal.ext_iff {R : Type u_1} [NonUnitalNonAssocRing R] {I J : TwoSidedIdeal R} :
          I = J ↔ ∀ (x : R), x ∈ I ↔ x ∈ J
          theorem TwoSidedIdeal.lt_iff {R : Type u_1} [NonUnitalNonAssocRing R] (I J : TwoSidedIdeal R) :
          I < J ↔ ↑I ⊂ ↑J
          theorem TwoSidedIdeal.add_mem {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) {x y : R} (hx : x ∈ I) (hy : y ∈ I) :
          x + y ∈ I
          theorem TwoSidedIdeal.neg_mem {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) {x : R} (hx : x ∈ I) :
          -x ∈ I
          theorem TwoSidedIdeal.sub_mem {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) {x y : R} (hx : x ∈ I) (hy : y ∈ I) :
          x - y ∈ I
          theorem TwoSidedIdeal.mul_mem_left {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) (x y : R) (hy : y ∈ I) :
          x * y ∈ I
          theorem TwoSidedIdeal.mul_mem_right {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) (x y : R) (hx : x ∈ I) :
          x * y ∈ I
          theorem TwoSidedIdeal.nsmul_mem {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) {x : R} (n : ℕ) (hx : x ∈ I) :
          n • x ∈ I
          theorem TwoSidedIdeal.zsmul_mem {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) {x : R} (n : ℤ) (hx : x ∈ I) :
          n • x ∈ I
          def TwoSidedIdeal.mk' {R : Type u_1} [NonUnitalNonAssocRing R] (carrier : Set R) (zero_mem : 0 ∈ carrier) (add_mem : ∀ {x y : R}, x ∈ carrier → y ∈ carrier → x + y ∈ carrier) (neg_mem : ∀ {x : R}, x ∈ carrier → -x ∈ carrier) (mul_mem_left : ∀ {x y : R}, y ∈ carrier → x * y ∈ carrier) (mul_mem_right : ∀ {x y : R}, x ∈ carrier → x * y ∈ carrier) :

          The "set-theoretic-way" of constructing a two-sided ideal by providing:

          • the underlying set S;
          • a proof that 0 ∈ S;
          • a proof that x + y ∈ S if x ∈ S and y ∈ S;
          • a proof that -x ∈ S if x ∈ S;
          • a proof that x * y ∈ S if y ∈ S;
          • a proof that x * y ∈ S if x ∈ S.
          Equations
          • TwoSidedIdeal.mk' carrier zero_mem add_mem neg_mem mul_mem_left mul_mem_right = { ringCon := { r := fun (x y : R) => x - y ∈ carrier, iseqv := ⋯, mul' := ⋯, add' := ⋯ } }
          Instances For
            @[simp]
            theorem TwoSidedIdeal.mem_mk' {R : Type u_1} [NonUnitalNonAssocRing R] (carrier : Set R) (zero_mem : 0 ∈ carrier) (add_mem : ∀ {x y : R}, x ∈ carrier → y ∈ carrier → x + y ∈ carrier) (neg_mem : ∀ {x : R}, x ∈ carrier → -x ∈ carrier) (mul_mem_left : ∀ {x y : R}, y ∈ carrier → x * y ∈ carrier) (mul_mem_right : ∀ {x y : R}, x ∈ carrier → x * y ∈ carrier) (x : R) :
            x ∈ mk' carrier zero_mem add_mem neg_mem mul_mem_left mul_mem_right ↔ x ∈ carrier
            @[simp]
            theorem TwoSidedIdeal.coe_mk' {R : Type u_1} [NonUnitalNonAssocRing R] (carrier : Set R) (zero_mem : 0 ∈ carrier) (add_mem : ∀ {x y : R}, x ∈ carrier → y ∈ carrier → x + y ∈ carrier) (neg_mem : ∀ {x : R}, x ∈ carrier → -x ∈ carrier) (mul_mem_left : ∀ {x y : R}, y ∈ carrier → x * y ∈ carrier) (mul_mem_right : ∀ {x y : R}, x ∈ carrier → x * y ∈ carrier) :
            ↑(mk' carrier zero_mem add_mem neg_mem mul_mem_left mul_mem_right) = carrier
            @[instance_reducible]
            Equations
            @[instance_reducible]
            Equations
            @[instance_reducible]
            Equations
            @[instance_reducible]
            Equations
            @[instance_reducible]
            Equations
            @[instance_reducible]
            Equations
            @[instance_reducible]
            Equations

            The coercion into the ring as a AddMonoidHom

            Equations
            Instances For
              @[simp]
              theorem TwoSidedIdeal.coeAddMonoidHom_apply {R : Type u_1} [NonUnitalNonAssocRing R] (I : TwoSidedIdeal R) (self : ↥I) :
              I.coeAddMonoidHom self = ↑self

              If I is a two-sided ideal of R, then {op x | x ∈ I} is a two-sided ideal in Rᵐᵒᵖ.

              Equations
              Instances For

                If I is a two-sided ideal of Rᵐᵒᵖ, then {x.unop | x ∈ I} is a two-sided ideal in R.

                Equations
                Instances For

                  Two-sided-ideals of A and that of Aᵒᵖ corresponds bijectively to each other.

                  Equations
                  Instances For