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 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 #

Typeclass for submonoids of a group with zero support.

  • eq_zero_of_mem_of_neg_mem {x : G} (hx₁ : x M) (hx₂ : -x M) : x = 0
Instances

    Typeclass for submonoids M of a group G such that M generates G as a subgroup.

    Instances
      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 contained in M.

      Equations
      Instances For

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

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

          Typeclass for submonoids of a group with zero support.

          • eq_one_of_mem_of_inv_mem {x : G} (hx₁ : x M) (hx₂ : x⁻¹ M) : x = 1
          Instances
            theorem Submonoid.eq_one_of_mem_of_inv_mem₂ {G : Type u_2} {inst✝ : Group G} {M : Submonoid G} [self : 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.eq_zero_of_mem_of_neg_mem₂ {G : Type u_2} {inst✝ : AddGroup G} {M : AddSubmonoid G} [self : M.IsPointed] {x : G} (hx₁ : x M) (hx₂ : -x M) :
            x = 0
            @[simp]
            @[simp]
            class Submonoid.IsMulSpanning {G : Type u_3} [Group G] (M : Submonoid G) :

            Typeclass for submonoids M of a group G such that M generates G as a subgroup.

            Instances
              theorem Submonoid.IsMulSpanning.of_le {G : Type u_2} [Group G] {M N : Submonoid G} [M.IsMulSpanning] (h : M N) :
              theorem AddSubmonoid.IsSpanning.of_le {G : Type u_2} [AddGroup G] {M N : AddSubmonoid G} [M.IsSpanning] (h : M N) :
              theorem Submonoid.mulSupport_mono {G : Type u_3} [Group G] {M N : Submonoid G} (h : M N) :
              theorem AddSubmonoid.support_mono {G : Type u_3} [AddGroup G] {M N : AddSubmonoid G} (h : M N) :
              @[simp]
              theorem Submonoid.mulSupport_inf {G : Type u_3} [Group G] (M N : Submonoid G) :
              (MN).mulSupport = M.mulSupportN.mulSupport
              @[simp]
              theorem AddSubmonoid.support_inf {G : Type u_3} [AddGroup G] (M N : AddSubmonoid G) :
              (MN).support = M.supportN.support
              @[simp]
              @[simp]
              instance Submonoid.instIsMulSpanningComapMonoidHom {G : Type u_3} {H : Type u_4} [Group G] [Group H] (f : G →* H) (M' : Submonoid H) [M'.IsMulSpanning] :
              @[simp]
              theorem Submonoid.comap_mulSupport {G : Type u_3} {H : Type u_4} [Group G] [Group H] (f : G →* H) (M' : Submonoid H) :
              @[simp]
              theorem AddSubmonoid.comap_support {G : Type u_3} {H : Type u_4} [AddGroup G] [AddGroup H] (f : G →+ H) (M' : AddSubmonoid H) :
              theorem Submonoid.IsMulSpanning.map {G : Type u_3} {H : Type u_4} [Group G] [Group H] {f : G →* H} (M : Submonoid G) [M.IsMulSpanning] (hf : Function.Surjective f) :
              theorem AddSubmonoid.IsSpanning.map {G : Type u_3} {H : Type u_4} [AddGroup G] [AddGroup H] {f : G →+ H} (M : AddSubmonoid G) [M.IsSpanning] (hf : Function.Surjective f) :
              @[simp]
              theorem Submonoid.map_mulSupport {G : Type u_3} {H : Type u_4} [CommGroup G] [CommGroup H] {f : G →* H} {M : Submonoid G} (hsupp : f.ker M.mulSupport) :
              @[simp]
              theorem AddSubmonoid.map_support {G : Type u_3} {H : Type u_4} [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} [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} [M.IsPointed] {a b : G} :
                  a b b - a M
                  @[reducible, inline]
                  abbrev LinearOrder.mkOfSubmonoid {G : Type u_1} [CommGroup G] (M : Submonoid G) [M.IsMulPointed] [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) [M.IsPointed] [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
                              @[simp]
                              theorem CommGroup.submonoidLinearOrderEquiv_apply {G : Type u_1} [CommGroup G] (C : Submonoid G) (h : C.IsMulPointed C.IsMulSpanning) :
                              ((submonoidLinearOrderEquiv G) C, h) = have this := ; have this_1 := ; LinearOrder.mkOfSubmonoid C
                              @[simp]