Documentation

RealClosedField.Algebra.Group.Submonoid.Support

Supports of submonoids #

Let G be an (additive) group, and let M be a submonoid of G. The support of M is M ∩ -M, the largest subgroup of G contained in M. A submonoid C is pointed, or a positive cone, if it has zero support. A submonoid C is spanning if the subgroup it generates is G itself.

The names for these concepts are taken from the theory of convex cones.

Main definitions #

def Submonoid.mulSupport {G : Type u_1} [Group G] (M : Submonoid G) :

The support of a submonoid M of a group G is M ∩ M⁻¹, the largest subgroup of G contained in M.

Equations
Instances For

    The support of a submonoid M of a group G is M ∩ -M, the largest subgroup of G contained in M.

    Equations
    • M.support = { toAddSubmonoid := M-M, neg_mem' := }
    Instances For
      @[simp]
      theorem Submonoid.coe_mulSupport {G : Type u_1} [Group G] (M : Submonoid G) :
      M.mulSupport = M (↑M)⁻¹
      @[simp]
      theorem AddSubmonoid.coe_support {G : Type u_1} [AddGroup G] (M : AddSubmonoid G) :
      M.support = M -M
      @[simp]
      theorem Submonoid.mem_mulSupport {G : Type u_1} [Group G] {M : Submonoid G} {x : G} :
      @[simp]
      theorem AddSubmonoid.mem_support {G : Type u_1} [AddGroup G] {M : AddSubmonoid G} {x : G} :
      x M.support x M -x M
      def Submonoid.IsMulPointed {G : Type u_1} [Group G] (M : Submonoid G) :

      A submonoid is pointed if it has zero support.

      Equations
      Instances For

        A submonoid is pointed if it has zero support.

        Equations
        Instances For
          theorem Submonoid.IsMulPointed.mk {G : Type u_1} [Group G] {M : Submonoid G} (h : xM, x⁻¹ Mx = 1) :
          theorem AddSubmonoid.IsPointed.mk {G : Type u_1} [AddGroup G] {M : AddSubmonoid G} (h : xM, -x Mx = 0) :
          theorem Submonoid.IsMulPointed.eq_one_of_mem_of_inv_mem {G : Type u_1} [Group G] {M : Submonoid G} (hM : M.IsMulPointed) {x : G} (hx₁ : x M) (hx₂ : x⁻¹ M) :
          x = 1
          theorem AddSubmonoid.IsPointed.eq_zero_of_mem_of_neg_mem {G : Type u_1} [AddGroup G] {M : AddSubmonoid G} (hM : M.IsPointed) {x : G} (hx₁ : x M) (hx₂ : -x M) :
          x = 0
          theorem Submonoid.IsMulPointed.eq_one_of_mem_of_inv_mem₂ {G : Type u_1} [Group G] {M : Submonoid G} (hM : M.IsMulPointed) {x : G} (hx₁ : x M) (hx₂ : x⁻¹ M) :
          x = 1

          Alias of Submonoid.IsMulPointed.eq_one_of_mem_of_inv_mem.

          theorem AddSubmonoid.IsPointed.eq_zero_of_mem_of_neg_mem₂ {G : Type u_1} [AddGroup G] {M : AddSubmonoid G} (hM : M.IsPointed) {x : G} (hx₁ : x M) (hx₂ : -x M) :
          x = 0
          @[simp]

          Alias of the forward direction of isMulPointed_iff_mulSupport_eq_bot.

          def Submonoid.IsMulSpanning {G : Type u_1} [Group G] (M : Submonoid G) :

          A submonoid M of a group G is spanning if M generates G as a subgroup.

          Equations
          Instances For

            A submonoid M of a group G is spanning if M generates G as a subgroup.

            Equations
            Instances For
              theorem Submonoid.IsMulSpanning.mk {G : Type u_1} [Group G] {M : Submonoid G} (h : ∀ (a : G), a M a⁻¹ M) :
              theorem AddSubmonoid.IsSpanning.mk {G : Type u_1} [AddGroup G] {M : AddSubmonoid G} (h : ∀ (a : G), a M -a M) :
              theorem Submonoid.IsMulSpanning.mem_or_inv_mem {G : Type u_1} [Group G] {M : Submonoid G} (hM : M.IsMulSpanning) (a : G) :
              a M a⁻¹ M
              theorem AddSubmonoid.IsSpanning.mem_or_neg_mem {G : Type u_1} [AddGroup G] {M : AddSubmonoid G} (hM : M.IsSpanning) (a : G) :
              a M -a M
              theorem Submonoid.IsMulSpanning.of_le {G : Type u_1} [Group G] {M N : Submonoid G} (hM : M.IsMulSpanning) (h : M N) :
              theorem AddSubmonoid.IsSpanning.of_le {G : Type u_1} [AddGroup G] {M N : AddSubmonoid G} (hM : M.IsSpanning) (h : M N) :
              theorem Submonoid.mulSupport_mono {G : Type u_2} [Group G] {M N : Submonoid G} (h : M N) :
              theorem AddSubmonoid.support_mono {G : Type u_2} [AddGroup G] {M N : AddSubmonoid G} (h : M N) :
              @[simp]
              theorem Submonoid.mulSupport_inf {G : Type u_2} [Group G] (M N : Submonoid G) :
              (MN).mulSupport = M.mulSupportN.mulSupport
              @[simp]
              theorem AddSubmonoid.support_inf {G : Type u_2} [AddGroup G] (M N : AddSubmonoid G) :
              (MN).support = M.supportN.support
              @[simp]
              @[simp]
              theorem Submonoid.IsMulSpanning.comap {G : Type u_2} {H : Type u_3} [Group G] [Group H] (f : G →* H) {M' : Submonoid H} (hM' : M'.IsMulSpanning) :
              theorem AddSubmonoid.IsSpanning.comap {G : Type u_2} {H : Type u_3} [AddGroup G] [AddGroup H] (f : G →+ H) {M' : AddSubmonoid H} (hM' : M'.IsSpanning) :
              @[simp]
              theorem Submonoid.comap_mulSupport {G : Type u_2} {H : Type u_3} [Group G] [Group H] (f : G →* H) (M' : Submonoid H) :
              @[simp]
              theorem AddSubmonoid.comap_support {G : Type u_2} {H : Type u_3} [AddGroup G] [AddGroup H] (f : G →+ H) (M' : AddSubmonoid H) :
              theorem Submonoid.IsMulSpanning.map {G : Type u_2} {H : Type u_3} [Group G] [Group H] {f : G →* H} {M : Submonoid G} (hM : M.IsMulSpanning) (hf : Function.Surjective f) :
              theorem AddSubmonoid.IsSpanning.map {G : Type u_2} {H : Type u_3} [AddGroup G] [AddGroup H] {f : G →+ H} {M : AddSubmonoid G} (hM : M.IsSpanning) (hf : Function.Surjective f) :
              @[simp]
              theorem Submonoid.map_mulSupport {G : Type u_2} {H : Type u_3} [CommGroup G] [CommGroup H] {f : G →* H} {M : Submonoid G} (hsupp : f.ker M.mulSupport) :
              @[simp]
              theorem AddSubmonoid.map_support {G : Type u_2} {H : Type u_3} [AddCommGroup G] [AddCommGroup H] {f : G →+ H} {M : AddSubmonoid G} (hsupp : f.ker M.support) :
              @[reducible, inline]

              Construct a partial order by designating a submonoid with zero support in an abelian group.

              Equations
              Instances For
                @[reducible, inline]

                Construct a partial order by designating a submonoid with zero support in an abelian group.

                Equations
                Instances For
                  @[simp]
                  theorem PartialOrder.mkOfSubmonoid_le_iff {G : Type u_1} [CommGroup G] {M : Submonoid G} {hM : M.IsMulPointed} {a b : G} :
                  a b b / a M
                  @[simp]
                  theorem PartialOrder.mkOfAddSubmonoid_le_iff {G : Type u_1} [AddCommGroup G] {M : AddSubmonoid G} {hM : M.IsPointed} {a b : G} :
                  a b b - a M
                  @[reducible, inline]
                  abbrev LinearOrder.mkOfSubmonoid {G : Type u_1} [CommGroup G] {M : Submonoid G} (hM : M.IsMulPointed) (hMs : M.IsMulSpanning) [DecidablePred fun (x : G) => x M] :

                  Construct a linear order by designating a maximal submonoid with zero support in an abelian group.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[reducible, inline]
                    abbrev LinearOrder.mkOfAddSubmonoid {G : Type u_1} [AddCommGroup G] {M : AddSubmonoid G} (hM : M.IsPointed) (hMs : M.IsSpanning) [DecidablePred fun (x : G) => x M] :

                    Construct a linear order by designating a maximal submonoid with zero support in an abelian group.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Equivalence between submonoids with zero support in an abelian group G and partially ordered group structures on G.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Equivalence between submonoids with zero support in an abelian group G and partially ordered group structures on G.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Equivalence between maximal submonoids with zero support in an abelian group G and linearly ordered group structures on G.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            Equivalence between maximal submonoids with zero support in an abelian group G and linearly ordered group structures on G.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For