File: Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean

full_name: nsmul_le_nsmul_right
code: @[to_additive (attr := mono, gcongr) nsmul_le_nsmul_right]
theorem pow_le_pow_left' [CovariantClass M M (swap (· * ·)) (· ≤ ·)] {a b : M} (hab : a ≤ b) :
    ∀ i : ℕ, a ^ i ≤ b ^ i
  
goal: i • a ≤ i • b

full_name: pow_le_pow_left'
code: @[to_additive (attr := mono, gcongr) nsmul_le_nsmul_right]
theorem pow_le_pow_left' [CovariantClass M M (swap (· * ·)) (· ≤ ·)] {a b : M} (hab : a ≤ b) :
    ∀ i : ℕ, a ^ i ≤ b ^ i
  
goal: a ^ i ≤ b ^ i

full_name: one_le_pow_of_one_le'
code: @[to_additive nsmul_nonneg]
theorem one_le_pow_of_one_le' {a : M} (H : 1 ≤ a) : ∀ n : ℕ, 1 ≤ a ^ n
  
goal: 1 ≤ a ^ n

full_name: nsmul_nonneg
code: @[to_additive nsmul_nonneg]
theorem one_le_pow_of_one_le' {a : M} (H : 1 ≤ a) : ∀ n : ℕ, 1 ≤ a ^ n
  
goal: 0 ≤ n • a

full_name: pow_le_one'
code: @[to_additive nsmul_nonpos]
theorem pow_le_one' {a : M} (H : a ≤ 1) (n : ℕ) : a ^ n ≤ 1 
goal: a ^ n ≤ 1

full_name: nsmul_nonpos
code: @[to_additive nsmul_nonpos]
theorem pow_le_one' {a : M} (H : a ≤ 1) (n : ℕ) : a ^ n ≤ 1 
goal: n • a ≤ 0

full_name: pow_le_pow_right'
code: @[to_additive (attr := gcongr) nsmul_le_nsmul_left]
theorem pow_le_pow_right' {a : M} {n m : ℕ} (ha : 1 ≤ a) (h : n ≤ m) : a ^ n ≤ a ^ m 
goal: a ^ n ≤ a ^ m

full_name: nsmul_le_nsmul_left
code: @[to_additive (attr := gcongr) nsmul_le_nsmul_left]
theorem pow_le_pow_right' {a : M} {n m : ℕ} (ha : 1 ≤ a) (h : n ≤ m) : a ^ n ≤ a ^ m 
goal: n • a ≤ m • a

full_name: pow_le_pow_right_of_le_one'
code: @[to_additive nsmul_le_nsmul_left_of_nonpos]
theorem pow_le_pow_right_of_le_one' {a : M} {n m : ℕ} (ha : a ≤ 1) (h : n ≤ m) : a ^ m ≤ a ^ n 
goal: a ^ m ≤ a ^ n

full_name: nsmul_le_nsmul_left_of_nonpos
code: @[to_additive nsmul_le_nsmul_left_of_nonpos]
theorem pow_le_pow_right_of_le_one' {a : M} {n m : ℕ} (ha : a ≤ 1) (h : n ≤ m) : a ^ m ≤ a ^ n 
goal: m • a ≤ n • a

full_name: nsmul_pos
code: @[to_additive nsmul_pos]
theorem one_lt_pow' {a : M} (ha : 1 < a) {k : ℕ} (hk : k ≠ 0) : 1 < a ^ k 
goal: 0 < k • a

full_name: one_lt_pow'
code: @[to_additive nsmul_pos]
theorem one_lt_pow' {a : M} (ha : 1 < a) {k : ℕ} (hk : k ≠ 0) : 1 < a ^ k 
goal: 1 < a ^ k

full_name: nsmul_neg
code: @[to_additive nsmul_neg]
theorem pow_lt_one' {a : M} (ha : a < 1) {k : ℕ} (hk : k ≠ 0) : a ^ k < 1 
goal: k • a < 0

full_name: pow_lt_one'
code: @[to_additive nsmul_neg]
theorem pow_lt_one' {a : M} (ha : a < 1) {k : ℕ} (hk : k ≠ 0) : a ^ k < 1 
goal: a ^ k < 1

full_name: pow_lt_pow_right'
code: @[to_additive (attr := gcongr) nsmul_lt_nsmul_left]
theorem pow_lt_pow_right' [CovariantClass M M (· * ·) (· < ·)] {a : M} {n m : ℕ} (ha : 1 < a)
    (h : n < m) : a ^ n < a ^ m 
goal: a ^ n < a ^ m

full_name: nsmul_lt_nsmul_left
code: @[to_additive (attr := gcongr) nsmul_lt_nsmul_left]
theorem pow_lt_pow_right' [CovariantClass M M (· * ·) (· < ·)] {a : M} {n m : ℕ} (ha : 1 < a)
    (h : n < m) : a ^ n < a ^ m 
goal: n • a < m • a

full_name: nsmul_left_strictMono
code: @[to_additive nsmul_left_strictMono]
theorem pow_right_strictMono' [CovariantClass M M (· * ·) (· < ·)] {a : M} (ha : 1 < a) :
    StrictMono ((a ^ ·) : ℕ → M) 
goal: StrictMono fun x => x • a

full_name: pow_right_strictMono'
code: @[to_additive nsmul_left_strictMono]
theorem pow_right_strictMono' [CovariantClass M M (· * ·) (· < ·)] {a : M} (ha : 1 < a) :
    StrictMono ((a ^ ·) : ℕ → M) 
goal: StrictMono fun x => a ^ x

full_name: Left.pow_nonneg
code: @[to_additive Left.pow_nonneg]
theorem Left.one_le_pow_of_le (hx : 1 ≤ x) : ∀ {n : ℕ}, 1 ≤ x ^ n
  
goal: 0 ≤ n • x

full_name: Left.one_le_pow_of_le
code: @[to_additive Left.pow_nonneg]
theorem Left.one_le_pow_of_le (hx : 1 ≤ x) : ∀ {n : ℕ}, 1 ≤ x ^ n
  
goal: 1 ≤ x ^ n

full_name: Left.pow_le_one_of_le
code: @[to_additive Left.pow_nonpos]
theorem Left.pow_le_one_of_le (hx : x ≤ 1) : ∀ {n : ℕ}, x ^ n ≤ 1
  
goal: x ^ n ≤ 1

full_name: Left.pow_nonpos
code: @[to_additive Left.pow_nonpos]
theorem Left.pow_le_one_of_le (hx : x ≤ 1) : ∀ {n : ℕ}, x ^ n ≤ 1
  
goal: n • x ≤ 0

full_name: Right.one_le_pow_of_le
code: @[to_additive Right.pow_nonneg]
theorem Right.one_le_pow_of_le (hx : 1 ≤ x) : ∀ {n : ℕ}, 1 ≤ x ^ n
  
goal: 1 ≤ x ^ n

full_name: Right.pow_nonneg
code: @[to_additive Right.pow_nonneg]
theorem Right.one_le_pow_of_le (hx : 1 ≤ x) : ∀ {n : ℕ}, 1 ≤ x ^ n
  
goal: 0 ≤ n • x

full_name: Right.pow_le_one_of_le
code: @[to_additive Right.pow_nonpos]
theorem Right.pow_le_one_of_le (hx : x ≤ 1) : ∀ {n : ℕ}, x ^ n ≤ 1
  
goal: x ^ n ≤ 1

full_name: Right.pow_nonpos
code: @[to_additive Right.pow_nonpos]
theorem Right.pow_le_one_of_le (hx : x ≤ 1) : ∀ {n : ℕ}, x ^ n ≤ 1
  
goal: n • x ≤ 0

full_name: StrictMono.pow_const
code: @[to_additive StrictMono.const_nsmul]
theorem StrictMono.pow_const (hf : StrictMono f) : ∀ {n : ℕ}, n ≠ 0 → StrictMono (f · ^ n)
  
goal: n ≠ 0 → StrictMono fun x => f x ^ n

full_name: StrictMono.const_nsmul
code: @[to_additive StrictMono.const_nsmul]
theorem StrictMono.pow_const (hf : StrictMono f) : ∀ {n : ℕ}, n ≠ 0 → StrictMono (f · ^ n)
  
goal: n ≠ 0 → StrictMono fun x => n • f x

full_name: pow_left_strictMono
code: /-- See also `pow_left_strictMonoOn`. -/
@[to_additive nsmul_right_strictMono]  -- Porting note: nolint to_additive_doc
theorem pow_left_strictMono (hn : n ≠ 0) : StrictMono (· ^ n : M → M) 
goal: StrictMono fun x => x ^ n

full_name: nsmul_right_strictMono
code: /-- See also `pow_left_strictMonoOn`. -/
@[to_additive nsmul_right_strictMono]  -- Porting note: nolint to_additive_doc
theorem pow_left_strictMono (hn : n ≠ 0) : StrictMono (· ^ n : M → M) 
goal: StrictMono fun x => n • x

full_name: nsmul_lt_nsmul_right
code: @[to_additive (attr := mono, gcongr) nsmul_lt_nsmul_right]
lemma pow_lt_pow_left' (hn : n ≠ 0) {a b : M} (hab : a < b) : a ^ n < b ^ n 
goal: n • a < n • b

full_name: pow_lt_pow_left'
code: @[to_additive (attr := mono, gcongr) nsmul_lt_nsmul_right]
lemma pow_lt_pow_left' (hn : n ≠ 0) {a b : M} (hab : a < b) : a ^ n < b ^ n 
goal: a ^ n < b ^ n

full_name: Monotone.const_nsmul
code: @[to_additive Monotone.const_nsmul]
theorem Monotone.pow_const {f : β → M} (hf : Monotone f) : ∀ n : ℕ, Monotone fun a => f a ^ n
  
goal: Monotone fun a => n • f a

full_name: Monotone.pow_const
code: @[to_additive Monotone.const_nsmul]
theorem Monotone.pow_const {f : β → M} (hf : Monotone f) : ∀ n : ℕ, Monotone fun a => f a ^ n
  
goal: Monotone fun a => f a ^ n

full_name: nsmul_right_mono
code: @[to_additive nsmul_right_mono]
theorem pow_left_mono (n : ℕ) : Monotone fun a : M => a ^ n 
goal: Monotone fun a => n • a

full_name: pow_left_mono
code: @[to_additive nsmul_right_mono]
theorem pow_left_mono (n : ℕ) : Monotone fun a : M => a ^ n 
goal: Monotone fun a => a ^ n

full_name: Left.pow_neg
code: @[to_additive Left.pow_neg]
theorem Left.pow_lt_one_of_lt [CovariantClass M M (· * ·) (· < ·)] {n : ℕ} {x : M} (hn : 0 < n)
    (h : x < 1) : x ^ n < 1 
goal: n • x < 0

full_name: Left.pow_lt_one_of_lt
code: @[to_additive Left.pow_neg]
theorem Left.pow_lt_one_of_lt [CovariantClass M M (· * ·) (· < ·)] {n : ℕ} {x : M} (hn : 0 < n)
    (h : x < 1) : x ^ n < 1 
goal: x ^ n < 1

full_name: Right.pow_lt_one_of_lt
code: @[to_additive Right.pow_neg]
theorem Right.pow_lt_one_of_lt [CovariantClass M M (swap (· * ·)) (· < ·)] {n : ℕ} {x : M}
    (hn : 0 < n) (h : x < 1) : x ^ n < 1 
goal: x ^ n < 1

full_name: Right.pow_neg
code: @[to_additive Right.pow_neg]
theorem Right.pow_lt_one_of_lt [CovariantClass M M (swap (· * ·)) (· < ·)] {n : ℕ} {x : M}
    (hn : 0 < n) (h : x < 1) : x ^ n < 1 
goal: n • x < 0

full_name: nsmul_nonneg_iff
code: @[to_additive nsmul_nonneg_iff]
theorem one_le_pow_iff {x : M} {n : ℕ} (hn : n ≠ 0) : 1 ≤ x ^ n ↔ 1 ≤ x 
goal: 0 ≤ n • x ↔ 0 ≤ x

full_name: one_le_pow_iff
code: @[to_additive nsmul_nonneg_iff]
theorem one_le_pow_iff {x : M} {n : ℕ} (hn : n ≠ 0) : 1 ≤ x ^ n ↔ 1 ≤ x 
goal: 1 ≤ x ^ n ↔ 1 ≤ x

full_name: nsmul_nonpos_iff
code: @[to_additive]
theorem pow_le_one_iff {x : M} {n : ℕ} (hn : n ≠ 0) : x ^ n ≤ 1 ↔ x ≤ 1 
goal: n • x ≤ 0 ↔ x ≤ 0

full_name: pow_le_one_iff
code: @[to_additive]
theorem pow_le_one_iff {x : M} {n : ℕ} (hn : n ≠ 0) : x ^ n ≤ 1 ↔ x ≤ 1 
goal: x ^ n ≤ 1 ↔ x ≤ 1

full_name: one_lt_pow_iff
code: @[to_additive nsmul_pos_iff]
theorem one_lt_pow_iff {x : M} {n : ℕ} (hn : n ≠ 0) : 1 < x ^ n ↔ 1 < x 
goal: 1 < x ^ n ↔ 1 < x

full_name: nsmul_pos_iff
code: @[to_additive nsmul_pos_iff]
theorem one_lt_pow_iff {x : M} {n : ℕ} (hn : n ≠ 0) : 1 < x ^ n ↔ 1 < x 
goal: 0 < n • x ↔ 0 < x

full_name: pow_lt_one_iff
code: @[to_additive]
theorem pow_lt_one_iff {x : M} {n : ℕ} (hn : n ≠ 0) : x ^ n < 1 ↔ x < 1 
goal: x ^ n < 1 ↔ x < 1

full_name: nsmul_neg_iff
code: @[to_additive]
theorem pow_lt_one_iff {x : M} {n : ℕ} (hn : n ≠ 0) : x ^ n < 1 ↔ x < 1 
goal: n • x < 0 ↔ x < 0

full_name: pow_eq_one_iff
code: @[to_additive]
theorem pow_eq_one_iff {x : M} {n : ℕ} (hn : n ≠ 0) : x ^ n = 1 ↔ x = 1 
goal: x ^ n = 1 ↔ x = 1

full_name: nsmul_eq_zero_iff
code: @[to_additive]
theorem pow_eq_one_iff {x : M} {n : ℕ} (hn : n ≠ 0) : x ^ n = 1 ↔ x = 1 
goal: n • x = 0 ↔ x = 0

full_name: nsmul_le_nsmul_iff_left
code: @[to_additive nsmul_le_nsmul_iff_left]
theorem pow_le_pow_iff_right' (ha : 1 < a) : a ^ m ≤ a ^ n ↔ m ≤ n 
goal: m • a ≤ n • a ↔ m ≤ n

full_name: pow_le_pow_iff_right'
code: @[to_additive nsmul_le_nsmul_iff_left]
theorem pow_le_pow_iff_right' (ha : 1 < a) : a ^ m ≤ a ^ n ↔ m ≤ n 
goal: a ^ m ≤ a ^ n ↔ m ≤ n

full_name: nsmul_lt_nsmul_iff_left
code: @[to_additive nsmul_lt_nsmul_iff_left]
theorem pow_lt_pow_iff_right' (ha : 1 < a) : a ^ m < a ^ n ↔ m < n 
goal: m • a < n • a ↔ m < n

full_name: pow_lt_pow_iff_right'
code: @[to_additive nsmul_lt_nsmul_iff_left]
theorem pow_lt_pow_iff_right' (ha : 1 < a) : a ^ m < a ^ n ↔ m < n 
goal: a ^ m < a ^ n ↔ m < n

full_name: lt_of_nsmul_lt_nsmul_right
code: @[to_additive lt_of_nsmul_lt_nsmul_right]
theorem lt_of_pow_lt_pow_left' {a b : M} (n : ℕ) : a ^ n < b ^ n → a < b 
goal: n • a < n • b → a < b

full_name: lt_of_pow_lt_pow_left'
code: @[to_additive lt_of_nsmul_lt_nsmul_right]
theorem lt_of_pow_lt_pow_left' {a b : M} (n : ℕ) : a ^ n < b ^ n → a < b 
goal: a ^ n < b ^ n → a < b

full_name: min_lt_of_add_lt_two_nsmul
code: @[to_additive min_lt_of_add_lt_two_nsmul]
theorem min_lt_of_mul_lt_sq {a b c : M} (h : a * b < c ^ 2) : min a b < c 
goal: min a b < c

full_name: min_lt_of_mul_lt_sq
code: @[to_additive min_lt_of_add_lt_two_nsmul]
theorem min_lt_of_mul_lt_sq {a b c : M} (h : a * b < c ^ 2) : min a b < c 
goal: min a b < c

full_name: lt_max_of_sq_lt_mul
code: @[to_additive lt_max_of_two_nsmul_lt_add]
theorem lt_max_of_sq_lt_mul {a b c : M} (h : a ^ 2 < b * c) : a < max b c 
goal: a < max b c

full_name: lt_max_of_two_nsmul_lt_add
code: @[to_additive lt_max_of_two_nsmul_lt_add]
theorem lt_max_of_sq_lt_mul {a b c : M} (h : a ^ 2 < b * c) : a < max b c 
goal: a < max b c

full_name: le_of_nsmul_le_nsmul_right
code: @[to_additive le_of_nsmul_le_nsmul_right]
theorem le_of_pow_le_pow_left' {a b : M} {n : ℕ} (hn : n ≠ 0) : a ^ n ≤ b ^ n → a ≤ b 
goal: n • a ≤ n • b → a ≤ b

full_name: le_of_pow_le_pow_left'
code: @[to_additive le_of_nsmul_le_nsmul_right]
theorem le_of_pow_le_pow_left' {a b : M} {n : ℕ} (hn : n ≠ 0) : a ^ n ≤ b ^ n → a ≤ b 
goal: a ^ n ≤ b ^ n → a ≤ b

full_name: min_le_of_add_le_two_nsmul
code: @[to_additive min_le_of_add_le_two_nsmul]
theorem min_le_of_mul_le_sq {a b c : M} (h : a * b ≤ c ^ 2) : min a b ≤ c 
goal: min a b ≤ c

full_name: min_le_of_mul_le_sq
code: @[to_additive min_le_of_add_le_two_nsmul]
theorem min_le_of_mul_le_sq {a b c : M} (h : a * b ≤ c ^ 2) : min a b ≤ c 
goal: min a b ≤ c

full_name: le_max_of_two_nsmul_le_add
code: @[to_additive le_max_of_two_nsmul_le_add]
theorem le_max_of_sq_le_mul {a b c : M} (h : a ^ 2 ≤ b * c) : a ≤ max b c 
goal: a ≤ max b c

full_name: le_max_of_sq_le_mul
code: @[to_additive le_max_of_two_nsmul_le_add]
theorem le_max_of_sq_le_mul {a b c : M} (h : a ^ 2 ≤ b * c) : a ≤ max b c 
goal: a ≤ max b c

full_name: Left.pow_lt_one_iff'
code: @[to_additive Left.nsmul_neg_iff]
theorem Left.pow_lt_one_iff' [CovariantClass M M (· * ·) (· < ·)] {n : ℕ} {x : M} (hn : 0 < n) :
    x ^ n < 1 ↔ x < 1 
goal: x ^ n < 1 ↔ x < 1

full_name: Left.nsmul_neg_iff
code: @[to_additive Left.nsmul_neg_iff]
theorem Left.pow_lt_one_iff' [CovariantClass M M (· * ·) (· < ·)] {n : ℕ} {x : M} (hn : 0 < n) :
    x ^ n < 1 ↔ x < 1 
goal: n • x < 0 ↔ x < 0

full_name: Left.pow_lt_one_iff
code: theorem Left.pow_lt_one_iff [CovariantClass M M (· * ·) (· < ·)] {n : ℕ} {x : M} (hn : 0 < n) :
    x ^ n < 1 ↔ x < 1 
goal: x ^ n < 1 ↔ x < 1

full_name: Right.pow_lt_one_iff
code: @[to_additive]
theorem Right.pow_lt_one_iff [CovariantClass M M (swap (· * ·)) (· < ·)] {n : ℕ} {x : M}
    (hn : 0 < n) : x ^ n < 1 ↔ x < 1 
goal: x ^ n < 1 ↔ x < 1

full_name: Right.nsmul_neg_iff
code: @[to_additive]
theorem Right.pow_lt_one_iff [CovariantClass M M (swap (· * ·)) (· < ·)] {n : ℕ} {x : M}
    (hn : 0 < n) : x ^ n < 1 ↔ x < 1 
goal: n • x < 0 ↔ x < 0

full_name: zsmul_nonneg
code: @[to_additive zsmul_nonneg]
theorem one_le_zpow {x : G} (H : 1 ≤ x) {n : ℤ} (hn : 0 ≤ n) : 1 ≤ x ^ n 
goal: 0 ≤ n • x

full_name: one_le_zpow
code: @[to_additive zsmul_nonneg]
theorem one_le_zpow {x : G} (H : 1 ≤ x) {n : ℤ} (hn : 0 ≤ n) : 1 ≤ x ^ n 
goal: 1 ≤ x ^ n