Documentation

Mathlib.GroupTheory.GroupAction.SubMulAction

Sets invariant to a MulAction #

In this file we define SubMulAction R M; a subset of a MulAction R M which is closed with respect to scalar multiplication.

For most uses, typically Submodule R M is more powerful.

Main definitions #

Tags #

submodule, mul_action

class SMulMemClass (S : Type u_1) (R : outParam (Type u_2)) (M : Type u_3) [SMul R M] [SetLike S M] :

SMulMemClass S R M says S is a type of subsets s ≀ M that are closed under the scalar action of R on M.

Note that only R is marked as an outParam here, since M is supplied by the SetLike class instead.

  • smul_mem {s : S} (r : R) {m : M} : m ∈ s β†’ r β€’ m ∈ s

    Multiplication by a scalar on an element of the set remains in the set.

Instances
    class VAddMemClass (S : Type u_1) (R : outParam (Type u_2)) (M : Type u_3) [VAdd R M] [SetLike S M] :

    VAddMemClass S R M says S is a type of subsets s ≀ M that are closed under the additive action of R on M.

    Note that only R is marked as an outParam here, since M is supplied by the SetLike class instead.

    • vadd_mem {s : S} (r : R) {m : M} : m ∈ s β†’ r +α΅₯ m ∈ s

      Addition by a scalar with an element of the set remains in the set.

    Instances

      Not registered as an instance because R is an outParam in SMulMemClass S R M.

      Not registered as an instance because R is an outParam in SMulMemClass S R M.

      @[instance 50]
      instance SetLike.smul {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) :
      SMul R β†₯s

      A subset closed under the scalar action inherits that action.

      Equations
        @[instance 50]
        instance SetLike.vadd {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) :
        VAdd R β†₯s

        A subset closed under the additive action inherits that action.

        Equations
          @[instance 50]
          instance SetLike.instSMulCommClassSubtypeMem {S : Type u'} {T : Type u''} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) [SMul T M] [SMulMemClass S T M] [SMulCommClass T R M] :
          SMulCommClass T R β†₯s
          @[instance 50]
          instance SetLike.instVAddCommClassSubtypeMem {S : Type u'} {T : Type u''} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) [VAdd T M] [VAddMemClass S T M] [VAddCommClass T R M] :
          VAddCommClass T R β†₯s
          @[instance 50]
          instance SetLike.instIsLeftCancelSMulSubtypeMem {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) [IsLeftCancelSMul R M] :
          IsLeftCancelSMul R β†₯s
          @[instance 50]
          instance SetLike.instIsLeftCancelVAddSubtypeMem {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) [IsLeftCancelVAdd R M] :
          IsLeftCancelVAdd R β†₯s
          @[instance 50]
          instance SetLike.instIsCancelSMulSubtypeMem {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) [IsCancelSMul R M] :
          IsCancelSMul R β†₯s
          @[instance 50]
          instance SetLike.instIsCancelVAddSubtypeMem {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) [IsCancelVAdd R M] :
          IsCancelVAdd R β†₯s
          theorem SMulMemClass.ofIsScalarTower (S : Type u_1) (M : Type u_2) (N : Type u_3) (Ξ± : Type u_4) [SetLike S Ξ±] [SMul M N] [SMul M Ξ±] [Monoid N] [MulAction N Ξ±] [SMulMemClass S N Ξ±] [IsScalarTower M N Ξ±] :
          SMulMemClass S M Ξ±

          This can't be an instance because Lean wouldn't know how to find N, but we can still use this to manually derive SMulMemClass on specific types.

          theorem VAddMemClass.ofVAddAssocClass (S : Type u_1) (M : Type u_2) (N : Type u_3) (Ξ± : Type u_4) [SetLike S Ξ±] [VAdd M N] [VAdd M Ξ±] [AddMonoid N] [AddAction N Ξ±] [VAddMemClass S N Ξ±] [VAddAssocClass M N Ξ±] :
          VAddMemClass S M Ξ±
          instance SetLike.instIsScalarTower {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] [Mul M] [MulMemClass S M] [IsScalarTower R M M] (s : S) :
          IsScalarTower R β†₯s β†₯s
          instance SetLike.instSMulCommClass {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] [Mul M] [MulMemClass S M] [SMulCommClass R M M] (s : S) :
          SMulCommClass R β†₯s β†₯s
          @[simp]
          theorem SetLike.val_smul {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) (r : R) (x : β†₯s) :
          ↑(r β€’ x) = r β€’ ↑x
          @[simp]
          theorem SetLike.val_vadd {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) (r : R) (x : β†₯s) :
          ↑(r +α΅₯ x) = r +α΅₯ ↑x
          @[simp]
          theorem SetLike.mk_smul_mk {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) (r : R) (x : M) (hx : x ∈ s) :
          @[simp]
          theorem SetLike.mk_vadd_mk {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) (r : R) (x : M) (hx : x ∈ s) :
          theorem SetLike.smul_def {S : Type u'} {R : Type u} {M : Type v} [SMul R M] [SetLike S M] [hS : SMulMemClass S R M] (s : S) (r : R) (x : β†₯s) :
          r β€’ x = ⟨r β€’ ↑x, β‹―βŸ©
          theorem SetLike.vadd_def {S : Type u'} {R : Type u} {M : Type v} [VAdd R M] [SetLike S M] [hS : VAddMemClass S R M] (s : S) (r : R) (x : β†₯s) :
          r +α΅₯ x = ⟨r +α΅₯ ↑x, β‹―βŸ©
          @[simp]
          theorem SetLike.forall_smul_mem_iff {R : Type u_1} {M : Type u_2} {S : Type u_3} [Monoid R] [MulAction R M] [SetLike S M] [SMulMemClass S R M] {N : S} {x : M} :
          (βˆ€ (a : R), a β€’ x ∈ N) ↔ x ∈ N
          @[instance 50]
          instance SetLike.smul' {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [SMul M N] [SMul M Ξ±] [Monoid N] [MulAction N Ξ±] [SMulMemClass S N Ξ±] [IsScalarTower M N Ξ±] (s : S) :
          SMul M β†₯s

          A subset closed under the scalar action inherits that action.

          Equations
            @[instance 50]
            instance SetLike.vadd' {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [VAdd M N] [VAdd M Ξ±] [AddMonoid N] [AddAction N Ξ±] [VAddMemClass S N Ξ±] [VAddAssocClass M N Ξ±] (s : S) :
            VAdd M β†₯s

            A subset closed under the additive action inherits that action.

            Equations
              @[instance 50]
              instance SetLike.instIsScalarTowerSubtypeMem {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [SMul M N] [SMul M Ξ±] [Monoid N] [MulAction N Ξ±] [SMulMemClass S N Ξ±] [IsScalarTower M N Ξ±] (s : S) :
              IsScalarTower M N β†₯s
              @[simp]
              theorem SetLike.val_smul_of_tower {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [SMul M N] [SMul M Ξ±] [Monoid N] [MulAction N Ξ±] [SMulMemClass S N Ξ±] [IsScalarTower M N Ξ±] (s : S) (r : M) (x : β†₯s) :
              ↑(r β€’ x) = r β€’ ↑x
              @[simp]
              theorem SetLike.val_vadd_of_tower {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [VAdd M N] [VAdd M Ξ±] [AddMonoid N] [AddAction N Ξ±] [VAddMemClass S N Ξ±] [VAddAssocClass M N Ξ±] (s : S) (r : M) (x : β†₯s) :
              ↑(r +α΅₯ x) = r +α΅₯ ↑x
              @[simp]
              theorem SetLike.mk_smul_of_tower_mk {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [SMul M N] [SMul M α] [Monoid N] [MulAction N α] [SMulMemClass S N α] [IsScalarTower M N α] (s : S) (r : M) (x : α) (hx : x ∈ s) :
              @[simp]
              theorem SetLike.mk_vadd_of_tower_mk {S : Type u'} {M : Type v} {N : Type u_1} {α : Type u_2} [SetLike S α] [VAdd M N] [VAdd M α] [AddMonoid N] [AddAction N α] [VAddMemClass S N α] [VAddAssocClass M N α] (s : S) (r : M) (x : α) (hx : x ∈ s) :
              theorem SetLike.smul_of_tower_def {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [SMul M N] [SMul M Ξ±] [Monoid N] [MulAction N Ξ±] [SMulMemClass S N Ξ±] [IsScalarTower M N Ξ±] (s : S) (r : M) (x : β†₯s) :
              r β€’ x = ⟨r β€’ ↑x, β‹―βŸ©
              theorem SetLike.vadd_of_tower_def {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [VAdd M N] [VAdd M Ξ±] [AddMonoid N] [AddAction N Ξ±] [VAddMemClass S N Ξ±] [VAddAssocClass M N Ξ±] (s : S) (r : M) (x : β†₯s) :
              r +α΅₯ x = ⟨r +α΅₯ ↑x, β‹―βŸ©
              @[instance 50]
              instance SetLike.instSMulCommClassSubtypeMem_1 {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [SMul M N] [SMul M Ξ±] [Monoid N] [MulAction N Ξ±] [SMulMemClass S N Ξ±] [IsScalarTower M N Ξ±] (s : S) [SMulCommClass M N Ξ±] :
              SMulCommClass M N β†₯s
              @[instance 50]
              instance SetLike.instVAddCommClassSubtypeMem_1 {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [VAdd M N] [VAdd M Ξ±] [AddMonoid N] [AddAction N Ξ±] [VAddMemClass S N Ξ±] [VAddAssocClass M N Ξ±] (s : S) [VAddCommClass M N Ξ±] :
              VAddCommClass M N β†₯s
              @[instance 50]
              instance SetLike.instSMulCommClassSubtypeMem_2 {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [SMul M N] [SMul M Ξ±] [Monoid N] [MulAction N Ξ±] [SMulMemClass S N Ξ±] [IsScalarTower M N Ξ±] (s : S) [SMulCommClass N M Ξ±] :
              SMulCommClass N M β†₯s
              @[instance 50]
              instance SetLike.instVAddCommClassSubtypeMem_2 {S : Type u'} {M : Type v} {N : Type u_1} {Ξ± : Type u_2} [SetLike S Ξ±] [VAdd M N] [VAdd M Ξ±] [AddMonoid N] [AddAction N Ξ±] [VAddMemClass S N Ξ±] [VAddAssocClass M N Ξ±] (s : S) [VAddCommClass N M Ξ±] :
              VAddCommClass N M β†₯s
              structure SubAddAction (R : Type u) (M : Type v) [VAdd R M] :

              A SubAddAction is a set which is closed under scalar multiplication.

              Instances For
                structure SubMulAction (R : Type u) (M : Type v) [SMul R M] :

                A SubMulAction is a set which is closed under scalar multiplication.

                Instances For
                  instance SubMulAction.instSetLike {R : Type u} {M : Type v} [SMul R M] :
                  Equations
                    instance SubAddAction.instSetLike {R : Type u} {M : Type v} [VAdd R M] :
                    Equations
                      @[simp]
                      theorem SubMulAction.mem_carrier {R : Type u} {M : Type v} [SMul R M] {p : SubMulAction R M} {x : M} :
                      x ∈ p.carrier ↔ x ∈ ↑p
                      @[simp]
                      theorem SubAddAction.mem_carrier {R : Type u} {M : Type v} [VAdd R M] {p : SubAddAction R M} {x : M} :
                      x ∈ p.carrier ↔ x ∈ ↑p
                      theorem SubMulAction.ext {R : Type u} {M : Type v} [SMul R M] {p q : SubMulAction R M} (h : βˆ€ (x : M), x ∈ p ↔ x ∈ q) :
                      p = q
                      theorem SubAddAction.ext {R : Type u} {M : Type v} [VAdd R M] {p q : SubAddAction R M} (h : βˆ€ (x : M), x ∈ p ↔ x ∈ q) :
                      p = q
                      theorem SubMulAction.ext_iff {R : Type u} {M : Type v} [SMul R M] {p q : SubMulAction R M} :
                      p = q ↔ βˆ€ (x : M), x ∈ p ↔ x ∈ q
                      theorem SubAddAction.ext_iff {R : Type u} {M : Type v} [VAdd R M] {p q : SubAddAction R M} :
                      p = q ↔ βˆ€ (x : M), x ∈ p ↔ x ∈ q
                      def SubMulAction.copy {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) (s : Set M) (hs : s = ↑p) :

                      Copy of a sub_mul_action with a new carrier equal to the old one. Useful to fix definitional equalities.

                      Equations
                        Instances For
                          def SubAddAction.copy {R : Type u} {M : Type v} [VAdd R M] (p : SubAddAction R M) (s : Set M) (hs : s = ↑p) :

                          Copy of a sub_mul_action with a new carrier equal to the old one. Useful to fix definitional equalities.

                          Equations
                            Instances For
                              @[simp]
                              theorem SubMulAction.coe_copy {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) (s : Set M) (hs : s = ↑p) :
                              ↑(p.copy s hs) = s
                              @[simp]
                              theorem SubAddAction.coe_copy {R : Type u} {M : Type v} [VAdd R M] (p : SubAddAction R M) (s : Set M) (hs : s = ↑p) :
                              ↑(p.copy s hs) = s
                              theorem SubMulAction.copy_eq {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) (s : Set M) (hs : s = ↑p) :
                              p.copy s hs = p
                              theorem SubAddAction.copy_eq {R : Type u} {M : Type v} [VAdd R M] (p : SubAddAction R M) (s : Set M) (hs : s = ↑p) :
                              p.copy s hs = p
                              instance SubMulAction.instBot {R : Type u} {M : Type v} [SMul R M] :
                              Equations
                                instance SubAddAction.instBot {R : Type u} {M : Type v} [VAdd R M] :
                                Equations
                                  instance SubMulAction.instTop {R : Type u} {M : Type v} [SMul R M] :
                                  Equations
                                    instance SubAddAction.instTop {R : Type u} {M : Type v} [VAdd R M] :
                                    Equations
                                      instance SubMulAction.instMax {R : Type u} {M : Type v} [SMul R M] :
                                      Equations
                                        instance SubAddAction.instMax {R : Type u} {M : Type v} [VAdd R M] :
                                        Equations
                                          instance SubMulAction.instMin {R : Type u} {M : Type v} [SMul R M] :
                                          Equations
                                            instance SubAddAction.instMin {R : Type u} {M : Type v} [VAdd R M] :
                                            Equations
                                              instance SubMulAction.instSupSet {R : Type u} {M : Type v} [SMul R M] :
                                              Equations
                                                instance SubAddAction.instSupSet {R : Type u} {M : Type v} [VAdd R M] :
                                                Equations
                                                  instance SubMulAction.instInfSet {R : Type u} {M : Type v} [SMul R M] :
                                                  Equations
                                                    instance SubAddAction.instInfSet {R : Type u} {M : Type v} [VAdd R M] :
                                                    Equations
                                                      @[simp]
                                                      theorem SubMulAction.mem_iSup {R : Type u} {M : Type v} [SMul R M] {ΞΉ : Sort u_1} {p : ΞΉ β†’ SubMulAction R M} {x : M} :
                                                      x ∈ ⨆ (i : ΞΉ), p i ↔ βˆƒ (i : ΞΉ), x ∈ p i
                                                      @[simp]
                                                      theorem SubAddAction.mem_iSup {R : Type u} {M : Type v} [VAdd R M] {ΞΉ : Sort u_1} {p : ΞΉ β†’ SubAddAction R M} {x : M} :
                                                      x ∈ ⨆ (i : ΞΉ), p i ↔ βˆƒ (i : ΞΉ), x ∈ p i
                                                      @[simp]
                                                      theorem SubMulAction.mem_iInf {R : Type u} {M : Type v} [SMul R M] {ΞΉ : Sort u_1} {p : ΞΉ β†’ SubMulAction R M} {x : M} :
                                                      x ∈ β¨… (i : ΞΉ), p i ↔ βˆ€ (i : ΞΉ), x ∈ p i
                                                      @[simp]
                                                      theorem SubAddAction.mem_iInf {R : Type u} {M : Type v} [VAdd R M] {ΞΉ : Sort u_1} {p : ΞΉ β†’ SubAddAction R M} {x : M} :
                                                      x ∈ β¨… (i : ΞΉ), p i ↔ βˆ€ (i : ΞΉ), x ∈ p i
                                                      theorem SubMulAction.smul_mem {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) {x : M} (r : R) (h : x ∈ p) :
                                                      theorem SubAddAction.vadd_mem {R : Type u} {M : Type v} [VAdd R M] (p : SubAddAction R M) {x : M} (r : R) (h : x ∈ p) :
                                                      instance SubMulAction.instSMulSubtypeMem {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) :
                                                      SMul R β†₯p
                                                      Equations
                                                        instance SubAddAction.instVAddSubtypeMem {R : Type u} {M : Type v} [VAdd R M] (p : SubAddAction R M) :
                                                        VAdd R β†₯p
                                                        Equations
                                                          @[simp]
                                                          theorem SubMulAction.val_smul {R : Type u} {M : Type v} [SMul R M] {p : SubMulAction R M} (r : R) (x : β†₯p) :
                                                          ↑(r β€’ x) = r β€’ ↑x
                                                          @[simp]
                                                          theorem SubAddAction.val_vadd {R : Type u} {M : Type v} [VAdd R M] {p : SubAddAction R M} (r : R) (x : β†₯p) :
                                                          ↑(r +α΅₯ x) = r +α΅₯ ↑x
                                                          def SubMulAction.subtype {R : Type u} {M : Type v} [SMul R M] (p : SubMulAction R M) :
                                                          β†₯p β†’β‚‘[id] M

                                                          Embedding of a submodule p to the ambient space M.

                                                          Equations
                                                            Instances For
                                                              def SubAddAction.subtype {R : Type u} {M : Type v} [VAdd R M] (p : SubAddAction R M) :
                                                              β†₯p β†’β‚‘[id] M

                                                              Embedding of a submodule p to the ambient space M.

                                                              Equations
                                                                Instances For
                                                                  @[simp]
                                                                  theorem SubMulAction.subtype_apply {R : Type u} {M : Type v} [SMul R M] {p : SubMulAction R M} (x : β†₯p) :
                                                                  p.subtype x = ↑x
                                                                  @[simp]
                                                                  theorem SubAddAction.subtype_apply {R : Type u} {M : Type v} [VAdd R M] {p : SubAddAction R M} (x : β†₯p) :
                                                                  p.subtype x = ↑x
                                                                  @[instance 75]
                                                                  instance SubMulAction.SMulMemClass.toMulAction {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {A : Type u_1} [SetLike A M] [hA : SMulMemClass A R M] (S' : A) :
                                                                  MulAction R β†₯S'

                                                                  A SubMulAction of a MulAction is a MulAction.

                                                                  Equations
                                                                    @[instance 75]
                                                                    instance SubAddAction.SMulMemClass.toAddAction {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] {A : Type u_1} [SetLike A M] [hA : VAddMemClass A R M] (S' : A) :
                                                                    AddAction R β†₯S'

                                                                    A SubAddAction of an AddAction is an AddAction.

                                                                    Equations
                                                                      def SubMulAction.SMulMemClass.subtype {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {A : Type u_1} [SetLike A M] [hA : SMulMemClass A R M] (S' : A) :
                                                                      β†₯S' β†’β‚‘[id] M

                                                                      The natural MulActionHom over R from a SubMulAction of M to M.

                                                                      Equations
                                                                        Instances For
                                                                          def SubAddAction.SMulMemClass.subtype {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] {A : Type u_1} [SetLike A M] [hA : VAddMemClass A R M] (S' : A) :
                                                                          β†₯S' β†’β‚‘[id] M

                                                                          The natural AddActionHom over R from a SubAddAction of M to M.

                                                                          Equations
                                                                            Instances For
                                                                              @[simp]
                                                                              theorem SubMulAction.SMulMemClass.subtype_apply {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {A : Type u_1} [SetLike A M] [hA : SMulMemClass A R M] {S' : A} (x : β†₯S') :
                                                                              (SMulMemClass.subtype S') x = ↑x
                                                                              @[simp]
                                                                              theorem SubMulAction.SMulMemClass.coe_subtype {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {A : Type u_1} [SetLike A M] [hA : SMulMemClass A R M] (S' : A) :
                                                                              @[simp]
                                                                              theorem SubAddAction.SMulMemClass.coe_subtype {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] {A : Type u_1} [SetLike A M] [hA : VAddMemClass A R M] (S' : A) :
                                                                              theorem SubMulAction.smul_of_tower_mem {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [SMul S R] [SMul S M] [IsScalarTower S R M] (p : SubMulAction R M) (s : S) {x : M} (h : x ∈ p) :
                                                                              theorem SubAddAction.vadd_of_tower_mem {S : Type u'} {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] [VAdd S R] [VAdd S M] [VAddAssocClass S R M] (p : SubAddAction R M) (s : S) {x : M} (h : x ∈ p) :
                                                                              instance SubMulAction.smul' {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [SMul S R] [SMul S M] [IsScalarTower S R M] (p : SubMulAction R M) :
                                                                              SMul S β†₯p
                                                                              Equations
                                                                                instance SubAddAction.vadd' {S : Type u'} {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] [VAdd S R] [VAdd S M] [VAddAssocClass S R M] (p : SubAddAction R M) :
                                                                                VAdd S β†₯p
                                                                                Equations
                                                                                  instance SubMulAction.isScalarTower {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [SMul S R] [SMul S M] [IsScalarTower S R M] (p : SubMulAction R M) :
                                                                                  IsScalarTower S R β†₯p
                                                                                  instance SubAddAction.vaddAssocClass {S : Type u'} {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] [VAdd S R] [VAdd S M] [VAddAssocClass S R M] (p : SubAddAction R M) :
                                                                                  VAddAssocClass S R β†₯p
                                                                                  instance SubMulAction.isScalarTower' {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [SMul S R] [SMul S M] [IsScalarTower S R M] (p : SubMulAction R M) {S' : Type u_1} [SMul S' R] [SMul S' S] [SMul S' M] [IsScalarTower S' R M] [IsScalarTower S' S M] :
                                                                                  IsScalarTower S' S β†₯p
                                                                                  instance SubAddAction.vaddAssocClass' {S : Type u'} {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] [VAdd S R] [VAdd S M] [VAddAssocClass S R M] (p : SubAddAction R M) {S' : Type u_1} [VAdd S' R] [VAdd S' S] [VAdd S' M] [VAddAssocClass S' R M] [VAddAssocClass S' S M] :
                                                                                  VAddAssocClass S' S β†₯p
                                                                                  @[simp]
                                                                                  theorem SubMulAction.val_smul_of_tower {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [SMul S R] [SMul S M] [IsScalarTower S R M] (p : SubMulAction R M) (s : S) (x : β†₯p) :
                                                                                  ↑(s β€’ x) = s β€’ ↑x
                                                                                  @[simp]
                                                                                  theorem SubAddAction.val_vadd_of_tower {S : Type u'} {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] [VAdd S R] [VAdd S M] [VAddAssocClass S R M] (p : SubAddAction R M) (s : S) (x : β†₯p) :
                                                                                  ↑(s +α΅₯ x) = s +α΅₯ ↑x
                                                                                  @[simp]
                                                                                  theorem SubMulAction.smul_mem_iff' {R : Type u} {M : Type v} [Monoid R] [MulAction R M] (p : SubMulAction R M) {G : Type u_1} [Group G] [SMul G R] [MulAction G M] [IsScalarTower G R M] (g : G) {x : M} :
                                                                                  @[simp]
                                                                                  theorem SubAddAction.vadd_mem_iff' {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] (p : SubAddAction R M) {G : Type u_1} [AddGroup G] [VAdd G R] [AddAction G M] [VAddAssocClass G R M] (g : G) {x : M} :
                                                                                  instance SubMulAction.mulAction' {S : Type u'} {R : Type u} {M : Type v} [Monoid R] [MulAction R M] [Monoid S] [SMul S R] [MulAction S M] [IsScalarTower S R M] (p : SubMulAction R M) :
                                                                                  MulAction S β†₯p

                                                                                  If the scalar product forms a MulAction, then the subset inherits this action

                                                                                  Equations
                                                                                    instance SubAddAction.addAction' {S : Type u'} {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] [AddMonoid S] [VAdd S R] [AddAction S M] [VAddAssocClass S R M] (p : SubAddAction R M) :
                                                                                    AddAction S β†₯p
                                                                                    Equations
                                                                                      instance SubMulAction.mulAction {R : Type u} {M : Type v} [Monoid R] [MulAction R M] (p : SubMulAction R M) :
                                                                                      MulAction R β†₯p
                                                                                      Equations
                                                                                        instance SubAddAction.addAction {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] (p : SubAddAction R M) :
                                                                                        AddAction R β†₯p
                                                                                        Equations
                                                                                          theorem SubMulAction.val_image_orbit {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {p : SubMulAction R M} (m : β†₯p) :

                                                                                          Orbits in a SubMulAction coincide with orbits in the ambient space.

                                                                                          theorem SubMulAction.mem_orbit_subMul_iff {R : Type u} {M : Type v} [Monoid R] [MulAction R M] {p : SubMulAction R M} {x m : β†₯p} :
                                                                                          theorem SubAddAction.mem_orbit_subAdd_iff {R : Type u} {M : Type v} [AddMonoid R] [AddAction R M] {p : SubAddAction R M} {x m : β†₯p} :

                                                                                          Stabilizers in monoid SubMulAction coincide with stabilizers in the ambient space

                                                                                          theorem SubMulAction.stabilizer_of_subMul {R : Type u} {M : Type v} [Group R] [MulAction R M] {p : SubMulAction R M} (m : β†₯p) :

                                                                                          Stabilizers in group SubMulAction coincide with stabilizers in the ambient space

                                                                                          instance SubMulAction.instCompl {R : Type u} {M : Type v} [Group R] [MulAction R M] :

                                                                                          SubMulAction on the complement of an invariant subset

                                                                                          Equations
                                                                                            instance SubAddAction.instCompl {R : Type u} {M : Type v} [AddGroup R] [AddAction R M] :

                                                                                            SubAddAction on the complement of an invariant subset

                                                                                            Equations
                                                                                              theorem SubMulAction.compl_def {R : Type u} {M : Type v} [Group R] [MulAction R M] (s : SubMulAction R M) :
                                                                                              theorem SubMulAction.zero_mem {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M] (p : SubMulAction R M) (h : (↑p).Nonempty) :
                                                                                              0 ∈ p
                                                                                              instance SubMulAction.instZeroSubtypeMemOfNonempty {R : Type u} {M : Type v} [Semiring R] [AddCommMonoid M] [Module R M] (p : SubMulAction R M) [n_empty : Nonempty β†₯p] :
                                                                                              Zero β†₯p

                                                                                              If the scalar product forms a Module, and the SubMulAction is not βŠ₯, then the subset inherits the zero.

                                                                                              Equations
                                                                                                theorem SubMulAction.neg_mem {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (p : SubMulAction R M) {x : M} (hx : x ∈ p) :
                                                                                                @[simp]
                                                                                                theorem SubMulAction.neg_mem_iff {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (p : SubMulAction R M) {x : M} :
                                                                                                instance SubMulAction.instNegSubtypeMem {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (p : SubMulAction R M) :
                                                                                                Neg β†₯p
                                                                                                Equations
                                                                                                  @[simp]
                                                                                                  theorem SubMulAction.val_neg {R : Type u} {M : Type v} [Ring R] [AddCommGroup M] [Module R M] (p : SubMulAction R M) (x : β†₯p) :
                                                                                                  ↑(-x) = -↑x
                                                                                                  theorem SubMulAction.smul_mem_iff {S : Type u'} {R : Type u} {M : Type v} [GroupWithZero S] [Monoid R] [MulAction R M] [SMul S R] [MulAction S M] [IsScalarTower S R M] (p : SubMulAction R M) {s : S} {x : M} (s0 : s β‰  0) :
                                                                                                  def SubMulAction.inclusion {M : Type u_1} {Ξ± : Type u_2} [Monoid M] [MulAction M Ξ±] (s : SubMulAction M Ξ±) :
                                                                                                  β†₯s β†’β‚‘[id] Ξ±

                                                                                                  The inclusion of a SubMulAction into the ambient set, as an equivariant map

                                                                                                  Equations
                                                                                                    Instances For
                                                                                                      def SubAddAction.inclusion {M : Type u_1} {Ξ± : Type u_2} [AddMonoid M] [AddAction M Ξ±] (s : SubAddAction M Ξ±) :
                                                                                                      β†₯s β†’β‚‘[id] Ξ±

                                                                                                      The inclusion of a SubAddAction into the ambient set, as an equivariant map.

                                                                                                      Equations
                                                                                                        Instances For
                                                                                                          theorem SubMulAction.inclusion.coe_eq {M : Type u_1} {Ξ± : Type u_2} [Monoid M] [MulAction M Ξ±] (s : SubMulAction M Ξ±) :
                                                                                                          theorem SubAddAction.inclusion.coe_eq {M : Type u_1} {Ξ± : Type u_2} [AddMonoid M] [AddAction M Ξ±] (s : SubAddAction M Ξ±) :
                                                                                                          theorem SubMulAction.image_inclusion {M : Type u_1} {Ξ± : Type u_2} [Monoid M] [MulAction M Ξ±] (s : SubMulAction M Ξ±) :
                                                                                                          theorem SubAddAction.image_inclusion {M : Type u_1} {Ξ± : Type u_2} [AddMonoid M] [AddAction M Ξ±] (s : SubAddAction M Ξ±) :

                                                                                                          The non-zero elements of M are invariant under the action by the units of R.

                                                                                                          Equations
                                                                                                            Instances For
                                                                                                              @[simp]
                                                                                                              theorem Units.smul_coe (R : Type u_1) (M : Type u_2) [Monoid R] [AddCommMonoid M] [DistribMulAction R M] (a : RΛ£) (x : { x : M // x β‰  0 }) :
                                                                                                              ↑(a β€’ x) = a β€’ ↑x
                                                                                                              theorem Units.orbitRel_nonZero_iff (R : Type u_1) (M : Type u_2) [Monoid R] [AddCommMonoid M] [DistribMulAction R M] (x y : { v : M // v β‰  0 }) :
                                                                                                              (MulAction.orbitRel RΛ£ { v : M // v β‰  0 }) x y ↔ (MulAction.orbitRel RΛ£ M) ↑x ↑y
                                                                                                              theorem smul_mem_fixedPoints_of_normal {G : Type u_1} [Group G] {Ξ± : Type u_2} [MulAction G Ξ±] {H : Subgroup G} [hH : H.Normal] (g : G) {a : Ξ±} (ha : a ∈ MulAction.fixedPoints (β†₯H) Ξ±) :
                                                                                                              theorem vadd_mem_fixedPoints_of_normal {G : Type u_1} [AddGroup G] {Ξ± : Type u_2} [AddAction G Ξ±] {H : AddSubgroup G} [hH : H.Normal] (g : G) {a : Ξ±} (ha : a ∈ AddAction.fixedPoints (β†₯H) Ξ±) :
                                                                                                              def fixedPointsSubMulOfNormal {G : Type u_1} [Group G] {Ξ± : Type u_2} [MulAction G Ξ±] {H : Subgroup G} [hH : H.Normal] :

                                                                                                              The set of fixed points of a normal subgroup is stable under the group action.

                                                                                                              Equations
                                                                                                                Instances For
                                                                                                                  def fixedPointsSubAddOfNormal {G : Type u_1} [AddGroup G] {Ξ± : Type u_2} [AddAction G Ξ±] {H : AddSubgroup G} [hH : H.Normal] :

                                                                                                                  The set of fixed points of a normal subgroup is stable under the group action.

                                                                                                                  Equations
                                                                                                                    Instances For
                                                                                                                      instance instMulActionElemFixedPointsSubtypeMemSubgroupOfNormal {G : Type u_1} [Group G] {Ξ± : Type u_2} [MulAction G Ξ±] {H : Subgroup G} [hH : H.Normal] :
                                                                                                                      MulAction G ↑(MulAction.fixedPoints (β†₯H) Ξ±)
                                                                                                                      Equations
                                                                                                                        @[simp]
                                                                                                                        theorem coe_smul_fixedPoints_of_normal {G : Type u_1} [Group G] {Ξ± : Type u_2} [MulAction G Ξ±] {H : Subgroup G} [hH : H.Normal] (g : G) (a : ↑(MulAction.fixedPoints (β†₯H) Ξ±)) :
                                                                                                                        ↑(g β€’ a) = g β€’ ↑a