Documentation

Mathlib.RingTheory.TwoSidedIdeal.Operations

Operations on two-sided ideals #

This file defines operations on two-sided ideals of a ring R.

Main definitions and results #

@[reducible, inline]

The smallest two-sided ideal containing a set.

Equations
    Instances For
      theorem TwoSidedIdeal.subset_span {R : Type u_1} [NonUnitalNonAssocRing R] {s : Set R} :
      s (span s)
      theorem TwoSidedIdeal.mem_span_iff {R : Type u_1} [NonUnitalNonAssocRing R] {s : Set R} {x : R} :
      x span s ∀ (I : TwoSidedIdeal R), s Ix I
      theorem TwoSidedIdeal.span_mono {R : Type u_1} [NonUnitalNonAssocRing R] {s t : Set R} (h : s t) :
      theorem TwoSidedIdeal.span_le {R : Type u_1} [NonUnitalNonAssocRing R] {s : Set R} {I : TwoSidedIdeal R} :
      span s I s I
      theorem TwoSidedIdeal.span_induction {R : Type u_1} [NonUnitalNonAssocRing R] {s : Set R} {p : (x : R) → x span sProp} (mem : ∀ (x : R) (h : x s), p x ) (zero : p 0 ) (add : ∀ (x y : R) (hx : x span s) (hy : y span s), p x hxp y hyp (x + y) ) (neg : ∀ (x : R) (hx : x span s), p x hxp (-x) ) (left_absorb : ∀ (a x : R) (hx : x span s), p x hxp (a * x) ) (right_absorb : ∀ (b x : R) (hx : x span s), p x hxp (x * b) ) {x : R} (hx : x span s) :
      p x hx

      An induction principle for span membership.

      If p holds for 0 and all elements of s, and is preserved under addition and left and right multiplication, then p holds for all elements of the span of s.

      def TwoSidedIdeal.map {R : Type u_1} {S : Type u_2} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {F : Type u_3} [FunLike F R S] (f : F) (I : TwoSidedIdeal R) :

      Pushout of a two-sided ideal. Defined as the span of the image of a two-sided ideal under a ring homomorphism.

      Equations
        Instances For
          theorem TwoSidedIdeal.map_mono {R : Type u_1} {S : Type u_2} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {F : Type u_3} [FunLike F R S] (f : F) {I J : TwoSidedIdeal R} (h : I J) :
          map f I map f J

          Preimage of a two-sided ideal, as a two-sided ideal.

          Equations
            Instances For
              theorem TwoSidedIdeal.comap_le_comap {R : Type u_1} {S : Type u_2} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {F : Type u_3} [FunLike F R S] (f : F) [NonUnitalRingHomClass F R S] {I J : TwoSidedIdeal S} (h : I J) :
              (comap f) I (comap f) J
              theorem TwoSidedIdeal.mem_comap {R : Type u_1} {S : Type u_2} [NonUnitalNonAssocRing R] [NonUnitalNonAssocRing S] {F : Type u_3} [FunLike F R S] (f : F) [NonUnitalRingHomClass F R S] {I : TwoSidedIdeal S} {x : R} :
              x (comap f) I f x I

              If R and S are isomorphic as rings, then two-sided ideals of R and two-sided ideals of S are order isomorphic.

              Equations
                Instances For
                  theorem TwoSidedIdeal.comap_comap {R : Type u_1} {S : Type u_2} {T : Type u_3} [NonAssocRing R] [NonAssocRing S] [NonAssocRing T] (I : TwoSidedIdeal T) (f : R →+* S) (g : S →+* T) :
                  (comap f) ((comap g) I) = (comap (g.comp f)) I
                  theorem TwoSidedIdeal.mem_span_iff_mem_addSubgroup_closure_absorbing {R : Type u_1} [NonUnitalRing R] {s : Set R} (h_left : ∀ (x y : R), y sx * y s) (h_right : ∀ (y x : R), y sy * x s) {z : R} :

                  If s : Set R is absorbing under multiplication, then its TwoSidedIdeal.span coincides with its AddSubgroup.closure, as sets.

                  theorem TwoSidedIdeal.set_mul_subset {R : Type u_1} [NonUnitalRing R] {s : Set R} {I : TwoSidedIdeal R} (h : s I) (t : Set R) :
                  t * s I
                  theorem TwoSidedIdeal.subset_mul_set {R : Type u_1} [NonUnitalRing R] {s : Set R} {I : TwoSidedIdeal R} (h : s I) (t : Set R) :
                  s * t I
                  instance TwoSidedIdeal.instSMulSubtypeMem {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) :
                  SMul R I
                  Equations
                    instance TwoSidedIdeal.leftModule {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) :
                    Module R I
                    Equations
                      @[simp]
                      theorem TwoSidedIdeal.coe_smul {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) {r : R} {x : I} :
                      r x = r * x
                      instance TwoSidedIdeal.rightModule {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) :
                      Equations
                        @[simp]
                        theorem TwoSidedIdeal.coe_mop_smul {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) {r : Rᵐᵒᵖ} {x : I} :
                        r x = x * MulOpposite.unop r
                        def TwoSidedIdeal.subtype {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) :
                        I →ₗ[R] R

                        For any I : RingCon R, when we view it as an ideal, I.subtype is the injective R-linear map I → R.

                        Equations
                          Instances For
                            @[simp]
                            theorem TwoSidedIdeal.subtype_apply {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) (x : I) :
                            I.subtype x = x
                            @[simp]

                            For any RingCon R, when we view it as an ideal in Rᵒᵖ, subtype is the injective Rᵐᵒᵖ-linear map I → Rᵐᵒᵖ.

                            Equations
                              Instances For
                                @[simp]
                                theorem TwoSidedIdeal.subtypeMop_apply {R : Type u_1} [Ring R] (I : TwoSidedIdeal R) (x : I) :

                                Given an ideal I, span I is the smallest two-sided ideal containing I.

                                Equations
                                  Instances For
                                    theorem TwoSidedIdeal.mem_fromIdeal {R : Type u_1} [Ring R] {I : Ideal R} {x : R} :
                                    x fromIdeal I x span I

                                    Every two-sided ideal is also a left ideal.

                                    Equations
                                      Instances For
                                        @[simp]
                                        theorem TwoSidedIdeal.mem_asIdeal {R : Type u_1} [Ring R] {I : TwoSidedIdeal R} {x : R} :
                                        x asIdeal I x I
                                        @[simp]
                                        theorem TwoSidedIdeal.coe_asIdeal {R : Type u_1} [Ring R] {I : TwoSidedIdeal R} :
                                        (asIdeal I) = I
                                        @[simp]
                                        @[simp]

                                        Every two-sided ideal is also a right ideal.

                                        Equations
                                          Instances For

                                            When the ring is commutative, two-sided ideals are exactly the same as left ideals.

                                            Equations
                                              Instances For
                                                def Ideal.toTwoSided {R : Type u_1} [Ring R] (I : Ideal R) [I.IsTwoSided] :

                                                Bundle an Ideal that is already two-sided as a TwoSidedIdeal.

                                                Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem Ideal.mem_toTwoSided {R : Type u_1} [Ring R] {I : Ideal R} [I.IsTwoSided] {x : R} :
                                                    @[simp]
                                                    theorem Ideal.coe_toTwoSided {R : Type u_1} [Ring R] (I : Ideal R) [I.IsTwoSided] :
                                                    I.toTwoSided = I

                                                    A two-sided ideal is simply a left ideal that is two-sided.

                                                    Equations
                                                      Instances For
                                                        @[simp]
                                                        theorem TwoSidedIdeal.orderIsoIsTwoSided_symm_apply {R : Type u_1} [Ring R] (I : { I : Ideal R // I.IsTwoSided }) :
                                                        (RelIso.symm orderIsoIsTwoSided) I = have this := ; (↑I).toTwoSided