Documentation

Mathlib.Algebra.Order.Group.Cone

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

In this file we provide the structure GroupCone and the predicate IsMaxCone that encode axioms of OrderedCommGroup and LinearOrderedCommGroup in terms of the subset of non-negative elements.

We also provide constructors that convert between cones in groups and the corresponding ordered groups.

class AddGroupConeClass (S : Type u_1) (G : outParam (Type u_2)) [AddCommGroup G] [SetLike S G] extends AddSubmonoidClass S G :

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

Instances
    class GroupConeClass (S : Type u_1) (G : outParam (Type u_2)) [CommGroup G] [SetLike S G] extends SubmonoidClass S G :

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

    Instances
      structure AddGroupCone (G : Type u_1) [AddCommGroup G] extends AddSubmonoid G :
      Type u_1

      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
        structure GroupCone (G : Type u_1) [CommGroup G] extends Submonoid G :
        Type u_1

        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
          @[deprecated NegMemClass (since := "2025-08-21")]
          def IsMaxCone (S : Type u_3) (G : outParam (Type u_4)) [Neg G] [SetLike S G] :

          Alias of NegMemClass.

          Equations
            Instances For
              @[deprecated InvMemClass (since := "2025-08-21")]
              def IsMaxMulCone (S : Type u_3) (G : outParam (Type u_4)) [Inv G] [SetLike S G] :

              Alias of InvMemClass.

              Equations
                Instances For

                  The cone of elements that are at least 1.

                  Equations
                    Instances For

                      The cone of non-negative elements.

                      Equations
                        Instances For
                          @[simp]
                          theorem GroupCone.coe_oneLE {H : Type u_1} [CommGroup H] [PartialOrder H] [IsOrderedMonoid H] :
                          โ†‘(oneLE H) = {x : H | 1 โ‰ค x}
                          @[deprecated GroupCone.oneLE.hasMemOrInvMem (since := "2025-08-21")]

                          Alias of GroupCone.oneLE.hasMemOrInvMem.

                          @[deprecated AddGroupCone.nonneg.hasMemOrNegMem (since := "2025-08-21")]

                          Alias of AddGroupCone.nonneg.hasMemOrNegMem.

                          @[reducible, inline]
                          abbrev PartialOrder.mkOfGroupCone {S : Type u_1} {G : Type u_2} [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]
                              abbrev PartialOrder.mkOfAddGroupCone {S : Type u_1} {G : Type u_2} [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
                                  @[simp]
                                  theorem PartialOrder.mkOfGroupCone_le_iff {S : Type u_3} {G : Type u_4} [CommGroup G] [SetLike S G] [GroupConeClass S G] {C : S} {a b : G} :
                                  @[simp]
                                  theorem PartialOrder.mkOfAddGroupCone_le_iff {S : Type u_3} {G : Type u_4} [AddCommGroup G] [SetLike S G] [AddGroupConeClass S G] {C : S} {a b : G} :
                                  @[reducible, inline]
                                  abbrev LinearOrder.mkOfGroupCone {S : Type u_1} {G : Type u_2} [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
                                    Instances For
                                      @[reducible, inline]
                                      abbrev LinearOrder.mkOfAddGroupCone {S : Type u_1} {G : Type u_2} [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
                                        Instances For
                                          theorem IsOrderedMonoid.mkOfCone {S : Type u_1} {G : Type u_2} [CommGroup G] [SetLike S G] (C : S) [GroupConeClass S G] :

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

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