Documentation

Mathlib.Algebra.Order.Group.Cone

Construct ordered groups from groups with a specified positive cone. #

We demonstrate the equivalence between order structures on a group G and positive cones: submonoids M of G such that M ∩ -M = 0.

@[implicit_reducible]

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

Equations
Instances For
    @[implicit_reducible]

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

    Equations
    Instances For
      @[simp]
      theorem PartialOrder.ofSubmonoid_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.ofAddSubmonoid_le_iff {G : Type u_1} [AddCommGroup G] {M : AddSubmonoid G} {hM : M.IsPointed} {a b : G} :
      a ≤ b ↔ b - a ∈ M
      @[implicit_reducible]
      def LinearOrder.ofSubmonoid {G : Type u_1} [CommGroup G] {M : Submonoid G} (hM : M.IsMulPointed) (hMs : M.IsMulSpanning) [dec : 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
        @[implicit_reducible]
        def LinearOrder.ofAddSubmonoid {G : Type u_1} [AddCommGroup G] {M : AddSubmonoid G} (hM : M.IsPointed) (hMs : M.IsSpanning) [dec : 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
          @[deprecated AddSubmonoid.IsPointed (since := "2026-10-28")]
          class AddGroupConeClass (S : Type u_2) (G : outParam (Type u_3)) [AddCommGroup G] [SetLike S G] extends AddSubmonoidClass S G :

          AddGroupConeClass S G says that S is a type of cones in G.

          Instances
            @[deprecated Submonoid.IsMulPointed (since := "2026-10-28")]
            class GroupConeClass (S : Type u_2) (G : outParam (Type u_3)) [CommGroup G] [SetLike S G] extends SubmonoidClass S G :

            GroupConeClass S G says that S is a type of cones in G.

            Instances
              @[deprecated AddSubmonoid.IsPointed (since := "2026-10-28")]
              structure AddGroupCone (G : Type u_2) [AddCommGroup G] extends AddSubmonoid G :
              Type u_2

              A (positive) cone in an abelian group is a submonoid that does not contain both a and -a for any nonzero a. This is equivalent to being the set of non-negative elements of some order making the group into a partially ordered group.

              Instances For
                @[deprecated Submonoid.IsMulPointed (since := "2026-10-28")]
                structure GroupCone (G : Type u_2) [CommGroup G] extends Submonoid G :
                Type u_2

                A (positive) cone in an abelian group is a submonoid that does not contain both a and a⁻¹ for any non-identity a. This is equivalent to being the set of elements that are at least 1 in some order making the group into a partially ordered group.

                Instances For
                  @[instance_reducible, deprecated "no replacement" (since := "2026-10-28")]
                  instance GroupCone.instSetLike (G : Type u_2) [CommGroup G] :
                  Equations
                  @[instance_reducible, deprecated "no replacement" (since := "2026-10-28")]
                  Equations
                  @[instance_reducible, deprecated "no replacement" (since := "2026-10-28")]
                  Equations
                  @[instance_reducible, deprecated "no replacement" (since := "2026-10-28")]
                  Equations
                  @[deprecated "no replacement" (since := "2026-10-28")]
                  @[deprecated "no replacement" (since := "2026-10-28")]
                  @[deprecated Submonoid.IsMulPointed.oneLE (since := "2026-10-28")]

                  The cone of elements that are at least 1.

                  Equations
                  Instances For
                    @[deprecated AddSubmonoid.IsPointed.nonneg (since := "2026-10-28")]

                    The cone of non-negative elements.

                    Equations
                    Instances For
                      @[simp, deprecated "no replacement" (since := "2026-10-28")]
                      @[simp, deprecated "no replacement" (since := "2026-10-28")]
                      @[simp, deprecated "no replacement" (since := "2026-10-28")]
                      theorem GroupCone.mem_oneLE {H : Type u_2} [CommGroup H] [PartialOrder H] [IsOrderedMonoid H] {a : H} :
                      a ∈ oneLE H ↔ 1 ≤ a
                      @[simp, deprecated "no replacement" (since := "2026-10-28")]
                      @[simp, deprecated "no replacement" (since := "2026-10-28")]
                      theorem GroupCone.coe_oneLE {H : Type u_2} [CommGroup H] [PartialOrder H] [IsOrderedMonoid H] :
                      ↑(oneLE H) = {x : H | 1 ≤ x}
                      @[simp, deprecated "no replacement" (since := "2026-10-28")]
                      @[deprecated Submonoid.IsMulSpanning.oneLE (since := "2026-10-28")]
                      @[deprecated AddSubmonoid.IsSpanning.nonneg (since := "2026-10-28")]
                      @[reducible, inline, deprecated PartialOrder.ofSubmonoid (since := "2026-10-28")]
                      abbrev PartialOrder.mkOfGroupCone {S : Type u_2} {G : Type u_3} [CommGroup G] [SetLike S G] (C : S) [GroupConeClass S G] :

                      Construct a partial order by designating a cone in an abelian group.

                      Equations
                      Instances For
                        @[reducible, inline, deprecated PartialOrder.ofAddSubmonoid (since := "2026-10-28")]
                        abbrev PartialOrder.mkOfAddGroupCone {S : Type u_2} {G : Type u_3} [AddCommGroup G] [SetLike S G] (C : S) [AddGroupConeClass S G] :

                        Construct a partial order by designating a cone in an abelian group.

                        Equations
                        Instances For
                          @[deprecated PartialOrder.ofSubmonoid_le_iff (since := "2026-10-28")]
                          theorem PartialOrder.mkOfGroupCone_le_iff {S : Type u_4} {G : Type u_5} [CommGroup G] [SetLike S G] [GroupConeClass S G] {C : S} {a b : G} :
                          a ≤ b ↔ b / a ∈ C
                          @[deprecated PartialOrder.ofAddSubmonoid_le_iff (since := "2026-10-28")]
                          theorem PartialOrder.mkOfAddGroupCone_le_iff {S : Type u_4} {G : Type u_5} [AddCommGroup G] [SetLike S G] [AddGroupConeClass S G] {C : S} {a b : G} :
                          a ≤ b ↔ b - a ∈ C
                          @[reducible, inline, deprecated LinearOrder.ofSubmonoid (since := "2026-10-28")]
                          abbrev LinearOrder.mkOfGroupCone {S : Type u_2} {G : Type u_3} [CommGroup G] [SetLike S G] (C : S) [GroupConeClass S G] [HasMemOrInvMem C] [DecidablePred fun (x : G) => x ∈ C] :

                          Construct a linear order by designating a maximal cone in an abelian group.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[reducible, inline, deprecated LinearOrder.ofAddSubmonoid (since := "2026-10-28")]
                            abbrev LinearOrder.mkOfAddGroupCone {S : Type u_2} {G : Type u_3} [AddCommGroup G] [SetLike S G] (C : S) [AddGroupConeClass S G] [HasMemOrNegMem C] [DecidablePred fun (x : G) => x ∈ C] :

                            Construct a linear order by designating a maximal cone in an abelian group.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[deprecated IsOrderedMonoid.ofSubmonoid (since := "2026-10-28")]
                              theorem IsOrderedMonoid.mkOfCone {S : Type u_2} {G : Type u_3} [CommGroup G] [SetLike S G] (C : S) [GroupConeClass S G] :

                              Construct a partially ordered abelian group by designating a cone in an abelian group.

                              @[deprecated IsOrderedAddMonoid.ofAddSubmonoid (since := "2026-10-28")]

                              Construct a partially ordered abelian group by designating a cone in an abelian group.