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.

@[instance_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
    @[instance_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_3} [Monoid M] [Semiring R] [MulSemiringAction M R] {a : M} (S : Ideal R) :
      instance Ideal.instIsScalarTower {M : Type u_1} {N : Type u_2} {R : Type u_3} [Monoid M] [Monoid N] [Semiring R] [MulSemiringAction M R] [MulSemiringAction N R] [SMul M N] [IsScalarTower M N R] :
      theorem Ideal.smul_mem_pointwise_smul {M : Type u_1} {R : Type u_3} [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_3} [Monoid M] [Semiring R] [MulSemiringAction M R] (a : M) :
      theorem Ideal.smul_sup {M : Type u_1} {R : Type u_3} [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_3} [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_3} [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_4} [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_3} [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_3} [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_3} [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_3} [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_3} [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_3} [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_3} [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_3} [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_3} [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_4} [Ring R] (P : Ideal R) [MulSemiringAction M R] :
      def Ideal.stabilizerEquiv {M : Type u_1} {R : Type u_3} [Group M] [Semiring R] [MulSemiringAction M R] {N : Type u_4} [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_3} [Group M] [Semiring R] [MulSemiringAction M R] {N : Type u_4} [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_3} [Group M] [Semiring R] [MulSemiringAction M R] {N : Type u_4} [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_4} [Group N] {R : Type u_5} [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_4} [Group N] {R : Type u_5} [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_4} [Group N] {R : Type u_5} [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.