Documentation

Mathlib.RingTheory.Ideal.Pointwise

Pointwise instances on Ideals #

This file provides the action Ideal.pointwiseMulAction which morally matches the action of mulActionSet (though here an extra Ideal.span is inserted).

This action is available in the Pointwise locale.

Implementation notes #

This file is similar (but not identical) to Mathlib/Algebra/Ring/Subsemiring/Pointwise.lean. Where possible, try to keep them in sync.

@[implicit_reducible]

The action on an ideal corresponding to applying the action to every element.

This is available as an instance in the Pointwise locale.

Instances For
    @[implicit_reducible]

    The action on an ideal corresponding to applying the action to every element.

    This is available as an instance in the Pointwise locale.

    Instances For
      theorem Ideal.pointwise_smul_def {M : Type u_1} {R : Type u_2} [Monoid M] [Semiring R] [MulSemiringAction M R] {a : M} (S : Ideal R) :
      a โ€ข S = map (MulSemiringAction.toRingHom M R a) S
      theorem Ideal.smul_mem_pointwise_smul {M : Type u_1} {R : Type u_2} [Monoid M] [Semiring R] [MulSemiringAction M R] (m : M) (r : R) (S : Ideal R) :
      r โˆˆ S โ†’ m โ€ข r โˆˆ m โ€ข S
      @[simp]
      theorem Ideal.smul_bot {M : Type u_1} {R : Type u_2} [Monoid M] [Semiring R] [MulSemiringAction M R] (a : M) :
      a โ€ข โŠฅ = โŠฅ
      theorem Ideal.smul_sup {M : Type u_1} {R : Type u_2} [Monoid M] [Semiring R] [MulSemiringAction M R] (a : M) (S T : Ideal R) :
      a โ€ข (S โŠ” T) = a โ€ข S โŠ” a โ€ข T
      theorem Ideal.smul_closure {M : Type u_1} {R : Type u_2} [Monoid M] [Semiring R] [MulSemiringAction M R] (a : M) (s : Set R) :
      a โ€ข span s = span (a โ€ข s)
      @[simp]
      theorem Ideal.pointwise_smul_toAddSubmonoid {M : Type u_1} {R : Type u_2} [Monoid M] [Semiring R] [MulSemiringAction M R] (a : M) (S : Ideal R) (ha : Function.Surjective fun (r : R) => a โ€ข r) :
      (a โ€ข S).toAddSubmonoid = a โ€ข S.toAddSubmonoid
      @[simp]
      theorem Ideal.pointwise_smul_toAddSubgroup {M : Type u_1} [Monoid M] {R : Type u_3} [Ring R] [MulSemiringAction M R] (a : M) (S : Ideal R) (ha : Function.Surjective fun (r : R) => a โ€ข r) :
      Submodule.toAddSubgroup (a โ€ข S) = a โ€ข Submodule.toAddSubgroup S
      theorem Ideal.pointwise_smul_eq_comap {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {a : M} (S : Ideal R) :
      a โ€ข S = comap (RingEquiv.symm ((MulSemiringAction.toRingAut M R) a)) S
      @[simp]
      theorem Ideal.smul_mem_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {a : M} {S : Ideal R} {x : R} :
      a โ€ข x โˆˆ a โ€ข S โ†” x โˆˆ S
      theorem Ideal.mem_pointwise_smul_iff_inv_smul_mem {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {a : M} {S : Ideal R} {x : R} :
      x โˆˆ a โ€ข S โ†” aโปยน โ€ข x โˆˆ S
      theorem Ideal.mem_inv_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {a : M} {S : Ideal R} {x : R} :
      x โˆˆ aโปยน โ€ข S โ†” a โ€ข x โˆˆ S
      @[simp]
      theorem Ideal.pointwise_smul_le_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {a : M} {S T : Ideal R} :
      a โ€ข S โ‰ค a โ€ข T โ†” S โ‰ค T
      theorem Ideal.pointwise_smul_subset_iff {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {a : M} {S T : Ideal R} :
      a โ€ข S โ‰ค T โ†” S โ‰ค aโปยน โ€ข T
      theorem Ideal.subset_pointwise_smul_iff {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {a : M} {S T : Ideal R} :
      S โ‰ค a โ€ข T โ†” aโปยน โ€ข S โ‰ค T
      instance Ideal.IsPrime.smul {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {I : Ideal R} [H : I.IsPrime] (g : M) :
      (g โ€ข I).IsPrime
      @[simp]
      theorem Ideal.IsPrime.smul_iff {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {I : Ideal R} (g : M) :
      (g โ€ข I).IsPrime โ†” I.IsPrime
      def Ideal.stabilizerEquiv {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {N : Type u_3} [Group N] [MulSemiringAction N R] (I : Ideal R) (e : M โ‰ƒ* N) (he : โˆ€ (m : M) (x : R), e m โ€ข x = m โ€ข x) :

      Assume that M and N are isomorphic and act in a compatible way on R, then for any ideal I of R, the stabilizer of I in M is isomorphic to the stabilizer of I in N.

      Instances For
        @[simp]
        theorem Ideal.stabilizerEquiv_apply_smul {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {N : Type u_3} [Group N] [MulSemiringAction N R] (I : Ideal R) (e : M โ‰ƒ* N) (he : โˆ€ (m : M) (x : R), e m โ€ข x = m โ€ข x) (m : โ†ฅ(MulAction.stabilizer M I)) (x : R) :
        (I.stabilizerEquiv e he) m โ€ข x = m โ€ข x
        @[simp]
        theorem Ideal.stabilizerEquiv_symm_apply_smul {M : Type u_1} {R : Type u_2} [Group M] [Semiring R] [MulSemiringAction M R] {N : Type u_3} [Group N] [MulSemiringAction N R] (I : Ideal R) (e : M โ‰ƒ* N) (he : โˆ€ (m : M) (x : R), e m โ€ข x = m โ€ข x) (n : โ†ฅ(MulAction.stabilizer N I)) (x : R) :
        (I.stabilizerEquiv e he).symm n โ€ข x = n โ€ข x
        def Ideal.inertiaEquiv {M : Type u_1} [Group M] {N : Type u_3} [Group N] {R : Type u_4} [Ring R] [MulSemiringAction M R] [MulSemiringAction N R] (I : Ideal R) (e : M โ‰ƒ* N) (he : โˆ€ (m : M) (x : R), e m โ€ข x = m โ€ข x) :
        โ†ฅ(inertia M I) โ‰ƒ* โ†ฅ(inertia N I)

        Assume that M and N are isomorphic and act in a compatible way on R, then for any ideal I of R, the inertia subgroup of I in M is isomorphic to the inertia subgroup of I in N.

        Instances For
          @[simp]
          theorem Ideal.inertiaEquiv_apply_smul {M : Type u_1} [Group M] {N : Type u_3} [Group N] {R : Type u_4} [Ring R] [MulSemiringAction M R] [MulSemiringAction N R] (I : Ideal R) (e : M โ‰ƒ* N) (he : โˆ€ (m : M) (x : R), e m โ€ข x = m โ€ข x) (m : โ†ฅ(inertia M I)) (x : R) :
          (I.inertiaEquiv e he) m โ€ข x = m โ€ข x
          @[simp]
          theorem Ideal.inertiaEquiv_symm_apply_smul {M : Type u_1} [Group M] {N : Type u_3} [Group N] {R : Type u_4} [Ring R] [MulSemiringAction M R] [MulSemiringAction N R] (I : Ideal R) (e : M โ‰ƒ* N) (he : โˆ€ (m : M) (x : R), e m โ€ข x = m โ€ข x) (n : โ†ฅ(inertia N I)) (x : R) :
          (I.inertiaEquiv e he).symm n โ€ข x = n โ€ข x

          TODO: add equivSMul like we have for subgroup.