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.

Equations
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.

    Equations
    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) :
      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 Sm 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) :
      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 (ST) = a Sa 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) :
      @[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) :
      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) :
      @[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) :
      theorem Ideal.inertia_le_stabilizer {M : Type u_1} [Group M] {R : Type u_3} [Ring R] (P : Ideal R) [MulSemiringAction M R] :
      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.

      Equations
      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.

        Equations
        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.