Documentation

Mathlib.Algebra.Order.Group.Basic

Lemmas about the interaction of power operations with order #

theorem zpow_right_strictMono {α : Type u_1} [OrderedCommGroup α] {a : α} (ha : 1 < a) :
StrictMono fun (n : ℤ) => a ^ n
theorem zsmul_left_strictMono {α : Type u_1} [OrderedAddCommGroup α] {a : α} (ha : 0 < a) :
StrictMono fun (n : ℤ) => n • a
@[deprecated zsmul_left_strictMono (since := "2024-09-19")]
theorem zsmul_strictMono_left {α : Type u_1} [OrderedAddCommGroup α] {a : α} (ha : 0 < a) :
StrictMono fun (n : ℤ) => n • a

Alias of zsmul_left_strictMono.

theorem one_lt_zpow {α : Type u_1} [OrderedCommGroup α] {n : ℤ} {a : α} (ha : 1 < a) (hn : 0 < n) :
1 < a ^ n
theorem zsmul_pos {α : Type u_1} [OrderedAddCommGroup α] {n : ℤ} {a : α} (ha : 0 < a) (hn : 0 < n) :
0 < n • a
@[deprecated one_lt_zpow (since := "2024-11-13")]
theorem one_lt_zpow' {α : Type u_1} [OrderedCommGroup α] {n : ℤ} {a : α} (ha : 1 < a) (hn : 0 < n) :
1 < a ^ n

Alias of one_lt_zpow.

theorem zpow_right_strictAnti {α : Type u_1} [OrderedCommGroup α] {a : α} (ha : a < 1) :
StrictAnti fun (n : ℤ) => a ^ n
theorem zsmul_left_strictAnti {α : Type u_1} [OrderedAddCommGroup α] {a : α} (ha : a < 0) :
StrictAnti fun (n : ℤ) => n • a
theorem zpow_right_inj {α : Type u_1} [OrderedCommGroup α] {a : α} (ha : 1 < a) {m n : ℤ} :
a ^ m = a ^ n ↔ m = n
theorem zsmul_left_inj {α : Type u_1} [OrderedAddCommGroup α] {a : α} (ha : 0 < a) {m n : ℤ} :
m • a = n • a ↔ m = n
theorem zpow_right_mono {α : Type u_1} [OrderedCommGroup α] {a : α} (ha : 1 ≤ a) :
Monotone fun (n : ℤ) => a ^ n
theorem zsmul_left_mono {α : Type u_1} [OrderedAddCommGroup α] {a : α} (ha : 0 ≤ a) :
Monotone fun (n : ℤ) => n • a
@[deprecated zpow_right_mono (since := "2024-11-13")]
theorem zpow_mono_right {α : Type u_1} [OrderedCommGroup α] {a : α} (ha : 1 ≤ a) :
Monotone fun (n : ℤ) => a ^ n

Alias of zpow_right_mono.

theorem zpow_le_zpow_right {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 ≤ a) (h : m ≤ n) :
a ^ m ≤ a ^ n
theorem zsmul_le_zsmul_left {α : Type u_1} [OrderedAddCommGroup α] {m n : ℤ} {a : α} (ha : 0 ≤ a) (h : m ≤ n) :
m • a ≤ n • a
@[deprecated zpow_le_zpow_right (since := "2024-11-13")]
theorem zpow_le_zpow {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 ≤ a) (h : m ≤ n) :
a ^ m ≤ a ^ n

Alias of zpow_le_zpow_right.

theorem zpow_lt_zpow_right {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 < a) (h : m < n) :
a ^ m < a ^ n
theorem zsmul_lt_zsmul_left {α : Type u_1} [OrderedAddCommGroup α] {m n : ℤ} {a : α} (ha : 0 < a) (h : m < n) :
m • a < n • a
@[deprecated zpow_lt_zpow_right (since := "2024-11-13")]
theorem zpow_lt_zpow {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 < a) (h : m < n) :
a ^ m < a ^ n

Alias of zpow_lt_zpow_right.

theorem zpow_le_zpow_iff_right {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 < a) :
a ^ m ≤ a ^ n ↔ m ≤ n
theorem zsmul_le_zsmul_iff_left {α : Type u_1} [OrderedAddCommGroup α] {m n : ℤ} {a : α} (ha : 0 < a) :
m • a ≤ n • a ↔ m ≤ n
@[deprecated zpow_le_zpow_iff_right (since := "2024-11-13")]
theorem zpow_le_zpow_iff {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 < a) :
a ^ m ≤ a ^ n ↔ m ≤ n

Alias of zpow_le_zpow_iff_right.

theorem zpow_lt_zpow_iff_right {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 < a) :
a ^ m < a ^ n ↔ m < n
theorem zsmul_lt_zsmul_iff_left {α : Type u_1} [OrderedAddCommGroup α] {m n : ℤ} {a : α} (ha : 0 < a) :
m • a < n • a ↔ m < n
@[deprecated zpow_lt_zpow_iff_right (since := "2024-11-13")]
theorem zpow_lt_zpow_iff {α : Type u_1} [OrderedCommGroup α] {m n : ℤ} {a : α} (ha : 1 < a) :
a ^ m < a ^ n ↔ m < n

Alias of zpow_lt_zpow_iff_right.

theorem zpow_left_strictMono (α : Type u_1) [OrderedCommGroup α] {n : ℤ} (hn : 0 < n) :
StrictMono fun (x : α) => x ^ n
theorem zsmul_strictMono_right (α : Type u_1) [OrderedAddCommGroup α] {n : ℤ} (hn : 0 < n) :
StrictMono fun (x : α) => n • x
@[deprecated zpow_left_strictMono (since := "2024-11-13")]
theorem zpow_strictMono_left (α : Type u_1) [OrderedCommGroup α] {n : ℤ} (hn : 0 < n) :
StrictMono fun (x : α) => x ^ n

Alias of zpow_left_strictMono.

theorem zpow_left_mono (α : Type u_1) [OrderedCommGroup α] {n : ℤ} (hn : 0 ≤ n) :
Monotone fun (x : α) => x ^ n
theorem zsmul_mono_right (α : Type u_1) [OrderedAddCommGroup α] {n : ℤ} (hn : 0 ≤ n) :
Monotone fun (x : α) => n • x
@[deprecated zpow_left_mono (since := "2024-11-13")]
theorem zpow_mono_left (α : Type u_1) [OrderedCommGroup α] {n : ℤ} (hn : 0 ≤ n) :
Monotone fun (x : α) => x ^ n

Alias of zpow_left_mono.

theorem zpow_le_zpow_left {α : Type u_1} [OrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 ≤ n) (h : a ≤ b) :
a ^ n ≤ b ^ n
theorem zsmul_le_zsmul_right {α : Type u_1} [OrderedAddCommGroup α] {n : ℤ} {a b : α} (hn : 0 ≤ n) (h : a ≤ b) :
n • a ≤ n • b
@[deprecated zpow_le_zpow_left (since := "2024-11-13")]
theorem zpow_le_zpow' {α : Type u_1} [OrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 ≤ n) (h : a ≤ b) :
a ^ n ≤ b ^ n

Alias of zpow_le_zpow_left.

theorem zpow_lt_zpow_left {α : Type u_1} [OrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) (h : a < b) :
a ^ n < b ^ n
theorem zsmul_lt_zsmul_right {α : Type u_1} [OrderedAddCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) (h : a < b) :
n • a < n • b
@[deprecated zpow_lt_zpow_left (since := "2024-11-13")]
theorem zpow_lt_zpow' {α : Type u_1} [OrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) (h : a < b) :
a ^ n < b ^ n

Alias of zpow_lt_zpow_left.

theorem zpow_le_zpow_iff_left {α : Type u_1} [LinearOrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) :
a ^ n ≤ b ^ n ↔ a ≤ b
theorem zsmul_le_zsmul_iff_right {α : Type u_1} [LinearOrderedAddCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) :
n • a ≤ n • b ↔ a ≤ b
@[deprecated zpow_le_zpow_iff_left (since := "2024-11-13")]
theorem zpow_le_zpow_iff' {α : Type u_1} [LinearOrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) :
a ^ n ≤ b ^ n ↔ a ≤ b

Alias of zpow_le_zpow_iff_left.

theorem zpow_lt_zpow_iff_left {α : Type u_1} [LinearOrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) :
a ^ n < b ^ n ↔ a < b
theorem zsmul_lt_zsmul_iff_right {α : Type u_1} [LinearOrderedAddCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) :
n • a < n • b ↔ a < b
@[deprecated zpow_lt_zpow_iff_left (since := "2024-11-13")]
theorem zpow_lt_zpow_iff' {α : Type u_1} [LinearOrderedCommGroup α] {n : ℤ} {a b : α} (hn : 0 < n) :
a ^ n < b ^ n ↔ a < b

Alias of zpow_lt_zpow_iff_left.

theorem zpow_left_injective {α : Type u_1} [LinearOrderedCommGroup α] {n : ℤ} (hn : n ≠ 0) :
Function.Injective fun (x : α) => x ^ n
theorem zsmul_right_injective {α : Type u_1} [LinearOrderedAddCommGroup α] {n : ℤ} (hn : n ≠ 0) :
Function.Injective fun (x : α) => n • x

See also smul_right_injective. TODO: provide a NoZeroSMulDivisors instance. We can't do that here because importing that definition would create import cycles.

theorem zpow_left_inj {α : Type u_1} [LinearOrderedCommGroup α] {n : ℤ} {a b : α} (hn : n ≠ 0) :
a ^ n = b ^ n ↔ a = b
theorem zsmul_right_inj {α : Type u_1} [LinearOrderedAddCommGroup α] {n : ℤ} {a b : α} (hn : n ≠ 0) :
n • a = n • b ↔ a = b
theorem zpow_eq_zpow_iff' {α : Type u_1} [LinearOrderedCommGroup α] {n : ℤ} {a b : α} (hn : n ≠ 0) :
a ^ n = b ^ n ↔ a = b

Alias of zpow_left_inj, for ease of discovery alongside zsmul_le_zsmul_iff' and zsmul_lt_zsmul_iff'.

theorem zsmul_eq_zsmul_iff' {α : Type u_1} [LinearOrderedAddCommGroup α] {n : ℤ} {a b : α} (hn : n ≠ 0) :
n • a = n • b ↔ a = b

Alias of zsmul_right_inj, for ease of discovery alongside zsmul_le_zsmul_iff' and zsmul_lt_zsmul_iff'.

A nontrivial densely linear ordered commutative group can't be a cyclic group.

A nontrivial densely linear ordered additive commutative group can't be a cyclic group.