Documentation

Mathlib.GroupTheory.ArchimedeanDensely

Archimedean groups are either discrete or densely ordered #

This file proves a few additional facts about linearly ordered additive groups which satisfy the Archimedean property -- they are either order-isomorphic and additively isomorphic to the integers, or they are densely ordered.

They are placed here in a separate file (rather than incorporated as a continuation of GroupTheory.Archimedean) because they rely on some imports from pointwise lemmas.

theorem exists_pow_lt₀ {G : Type u_1} [LinearOrderedCommGroupWithZero G] [MulArchimedean G] {a : G} (ha : a < 1) (b : Gˣ) :
∃ (n : ℕ), a ^ n < ↑b
theorem Subgroup.mem_zpowers_iff_existsUnique_zpow {G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] {a b : G} (ha : a ≠ 1) :
b ∈ zpowers a ↔ ∃! k : ℤ, a ^ k = b

The subgroup generated by an element of a group equals the set of integer powers of the element, such that each power is a unique element. This is the stronger version of Subgroup.mem_closure_singleton.

The additive subgroup generated by an element of an additive group equals the set of integer multiples of the element, such that each multiple is a unique element. This is the stronger version of AddSubgroup.mem_closure_singleton.

@[deprecated Subgroup.mem_zpowers_iff_existsUnique_zpow (since := "2026-08-30")]

Alias of Subgroup.mem_zpowers_iff_existsUnique_zpow.


The subgroup generated by an element of a group equals the set of integer powers of the element, such that each power is a unique element. This is the stronger version of Subgroup.mem_closure_singleton.

@[deprecated AddSubgroup.mem_zmultiples_iff_existsUnique_zsmul (since := "2026-08-30")]

Alias of AddSubgroup.mem_zmultiples_iff_existsUnique_zsmul.


The additive subgroup generated by an element of an additive group equals the set of integer multiples of the element, such that each multiple is a unique element. This is the stronger version of AddSubgroup.mem_closure_singleton.

@[instance_reducible]
Equations
  • One or more equations did not get rendered due to their size.
theorem Subgroup.isCyclic_of_disjoint_Ioo_one {G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [MulArchimedean G] {H : Subgroup G} {a : G} (h₀ : 1 < a) (hd : Disjoint (↑H) (Set.Ioo 1 a)) :

If a subgroup of a linear ordered commutative group is disjoint with the interval Set.Ioo 1 a for some 1 < a, then this is a cyclic subgroup.

theorem AddSubgroup.isAddCyclic_of_disjoint_Ioo_zero {G : Type u_1} [AddCommGroup G] [LinearOrder G] [IsOrderedAddMonoid G] [Archimedean G] {H : AddSubgroup G} {a : G} (h₀ : 0 < a) (hd : Disjoint (↑H) (Set.Ioo 0 a)) :

If an additive subgroup of a linear ordered additive commutative group is disjoint with the interval Set.Ioo 0 a for some positive a, then this is a cyclic subgroup.

@[deprecated Subgroup.isCyclic_of_disjoint_Ioo_one (since := "2026-08-30")]
theorem Subgroup.cyclic_of_isolated_one {G : Type u_1} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [MulArchimedean G] {H : Subgroup G} {a : G} (h₀ : 1 < a) (hd : Disjoint (↑H) (Set.Ioo 1 a)) :

Alias of Subgroup.isCyclic_of_disjoint_Ioo_one.


If a subgroup of a linear ordered commutative group is disjoint with the interval Set.Ioo 1 a for some 1 < a, then this is a cyclic subgroup.

@[deprecated AddSubgroup.isAddCyclic_of_disjoint_Ioo_zero (since := "2026-08-30")]
theorem AddSubgroup.cyclic_of_isolated_zero {G : Type u_1} [AddCommGroup G] [LinearOrder G] [IsOrderedAddMonoid G] [Archimedean G] {H : AddSubgroup G} {a : G} (h₀ : 0 < a) (hd : Disjoint (↑H) (Set.Ioo 0 a)) :

Alias of AddSubgroup.isAddCyclic_of_disjoint_Ioo_zero.


If an additive subgroup of a linear ordered additive commutative group is disjoint with the interval Set.Ioo 0 a for some positive a, then this is a cyclic subgroup.

noncomputable def LinearOrderedCommGroup.zpowersOrderMonoidIso {G : Type u_1} {G' : Type u_2} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [CommGroup G'] [LinearOrder G'] [IsOrderedMonoid G'] (x : G) (y : G') (hxy : x = 1 ↔ y = 1) :

In two linearly ordered groups, the closure of an element of one group is isomorphic (and order-isomorphic) to the closure of an element in the other group.

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

    In two linearly ordered additive groups, the closure of an element of one group is isomorphic (and order-isomorphic) to the closure of an element in the other group.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[deprecated LinearOrderedCommGroup.zpowersOrderMonoidIso (since := "2026-08-30")]
      def LinearOrderedCommGroup.closure_equiv_closure {G : Type u_1} {G' : Type u_2} [CommGroup G] [LinearOrder G] [IsOrderedMonoid G] [CommGroup G'] [LinearOrder G'] [IsOrderedMonoid G'] (x : G) (y : G') (hxy : x = 1 ↔ y = 1) :

      Alias of LinearOrderedCommGroup.zpowersOrderMonoidIso.


      In two linearly ordered groups, the closure of an element of one group is isomorphic (and order-isomorphic) to the closure of an element in the other group.

      Equations
      Instances For
        @[deprecated LinearOrderedAddCommGroup.zmultiplesOrderAddMonoidIso (since := "2026-08-30")]
        noncomputable def LinearOrderedAddCommGroup.closure_equiv_closure {G : Type u_1} {G' : Type u_2} [AddCommGroup G] [LinearOrder G] [IsOrderedAddMonoid G] [AddCommGroup G'] [LinearOrder G'] [IsOrderedAddMonoid G'] (x : G) (y : G') (hxy : x = 0 ↔ y = 0) :

        Alias of LinearOrderedAddCommGroup.zmultiplesOrderAddMonoidIso.


        In two linearly ordered additive groups, the closure of an element of one group is isomorphic (and order-isomorphic) to the closure of an element in the other group.

        Equations
        Instances For

          If an element of a linearly ordered archimedean additive group is the least positive element, then the whole group is isomorphic (and order-isomorphic) to the integers.

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

            If an element of a linearly ordered mul-archimedean group is the least element greater than 1, then the whole group is isomorphic (and order-isomorphic) to the multiplicative integers.

            Equations
            Instances For

              Any locally finite linear additive group is archimedean.

              Any locally finite linear group is mul-archimedean.

              Any linearly ordered archimedean additive group is either isomorphic (and order-isomorphic) to the integers, or is densely ordered.

              Any linearly ordered archimedean additive group is either isomorphic (and order-isomorphic) to the integers, or is densely ordered, exclusively.

              (See also LinearOrderedAddCommGroup.isAddCyclic_iff_not_denselyOrdered.)

              Any non-trivial linearly ordered archimedean additive group is either cyclic, or densely ordered, exclusively.

              Any linearly ordered mul-archimedean group is either isomorphic (and order-isomorphic) to the multiplicative integers, or is densely ordered.

              Any linearly ordered mul-archimedean group is either isomorphic (and order-isomorphic) to the multiplicative integers, or is densely ordered, exclusively.

              (See also LinearOrderedCommGroup.isCyclic_iff_not_denselyOrdered.)

              Any non-trivial linearly ordered mul-archimedean group is either cyclic, or densely ordered, exclusively.

              Any nontrivial (has other than 0 and 1) linearly ordered mul-archimedean group with zero is either isomorphic (and order-isomorphic) to ℤᵐ⁰, or is densely ordered.

              Any nontrivial (has other than 0 and 1) linearly ordered mul-archimedean group with zero is either isomorphic (and order-isomorphic) to ℤᵐ⁰, or is densely ordered, exclusively

              @[deprecated LinearOrderedAddCommGroup.wellFoundedOn_setOfPred_le_lt_iff_nonempty_discrete (since := "2026-07-09")]

              Alias of LinearOrderedAddCommGroup.wellFoundedOn_setOfPred_le_lt_iff_nonempty_discrete.

              @[deprecated LinearOrderedAddCommGroup.wellFoundedOn_setOfPred_ge_gt_iff_nonempty_discrete (since := "2026-07-09")]

              Alias of LinearOrderedAddCommGroup.wellFoundedOn_setOfPred_ge_gt_iff_nonempty_discrete.

              @[deprecated LinearOrderedCommGroup.wellFoundedOn_setOfPred_le_lt_iff_nonempty_discrete (since := "2026-07-09")]

              Alias of LinearOrderedCommGroup.wellFoundedOn_setOfPred_le_lt_iff_nonempty_discrete.

              @[deprecated LinearOrderedCommGroup.wellFoundedOn_setOfPred_ge_gt_iff_nonempty_discrete (since := "2026-07-09")]

              Alias of LinearOrderedCommGroup.wellFoundedOn_setOfPred_ge_gt_iff_nonempty_discrete.

              @[deprecated LinearOrderedCommGroupWithZero.wellFoundedOn_setOfPred_le_lt_iff_nonempty_discrete_of_ne_zero (since := "2026-07-09")]

              Alias of LinearOrderedCommGroupWithZero.wellFoundedOn_setOfPred_le_lt_iff_nonempty_discrete_of_ne_zero.

              @[deprecated LinearOrderedCommGroupWithZero.wellFoundedOn_setOfPred_ge_gt_iff_nonempty_discrete_of_ne_zero (since := "2026-07-09")]

              Alias of LinearOrderedCommGroupWithZero.wellFoundedOn_setOfPred_ge_gt_iff_nonempty_discrete_of_ne_zero.

              theorem OrderMonoidIso.mulArchimedean {α : Type u_2} {β : Type u_3} [CommMonoid α] [PartialOrder α] [CommMonoid β] [PartialOrder β] (e : α ≃*o β) [MulArchimedean α] :
              @[instance_reducible]
              Equations