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
          @[implicit_reducible]
          instance GroupCone.instSetLike (G : Type u_1) [CommGroup G] :
          Equations
          @[implicit_reducible]
          Equations

          The cone of elements that are at least 1.

          Equations
          Instances For

            The cone of non-negative elements.

            Equations
            Instances For
              @[simp]
              theorem GroupCone.mem_oneLE {H : Type u_1} [CommGroup H] [PartialOrder H] [IsOrderedMonoid H] {a : H} :
              a oneLE H 1 a
              @[simp]
              @[simp]
              theorem GroupCone.coe_oneLE {H : Type u_1} [CommGroup H] [PartialOrder H] [IsOrderedMonoid H] :
              (oneLE H) = {x : H | 1 x}
              @[simp]
              @[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} :
                  a b b / a C
                  @[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} :
                  a b b - a C
                  @[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
                  • One or more equations did not get rendered due to their size.
                  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
                    • One or more equations did not get rendered due to their size.
                    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.