Theorem: ENNReal.zpow_le_of_le
File: Mathlib/Data/Real/ENNReal.lean

tactic: induction' a with a a <;> induction' b with b b
state_before: α : Type ?u.713362
β : Type ?u.713365
a✝ b✝ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a b : ℤ
h : a ≤ b
⊢ x ^ a ≤ x ^ b

tactic: simp only [Int.ofNat_eq_coe, zpow_ofNat]
state_before: case ofNat.ofNat
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.ofNat a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.ofNat b
h : Int.ofNat a ≤ Int.ofNat b
⊢ x ^ Int.ofNat a ≤ x ^ Int.ofNat b

tactic: exact pow_le_pow hx (Int.le_of_ofNat_le_ofNat h)
state_before: case ofNat.ofNat
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.ofNat a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.ofNat b
h : Int.ofNat a ≤ Int.ofNat b
⊢ x ^ a ≤ x ^ b

tactic: apply absurd h (not_le_of_gt _)
state_before: case ofNat.negSucc
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.ofNat a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.negSucc b
h : Int.ofNat a ≤ Int.negSucc b
⊢ x ^ Int.ofNat a ≤ x ^ Int.negSucc b

tactic: exact lt_of_lt_of_le (Int.negSucc_lt_zero _) (Int.ofNat_nonneg _)
state_before: α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.ofNat a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.negSucc b
h : Int.ofNat a ≤ Int.negSucc b
⊢ Int.ofNat a > Int.negSucc b

tactic: simp only [zpow_negSucc, Int.ofNat_eq_coe, zpow_ofNat]
state_before: case negSucc.ofNat
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.negSucc a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.ofNat b
h : Int.negSucc a ≤ Int.ofNat b
⊢ x ^ Int.negSucc a ≤ x ^ Int.ofNat b

tactic: refine' (ENNReal.inv_le_one.2 _).trans _ <;> exact one_le_pow_of_one_le' hx _
state_before: case negSucc.ofNat
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.negSucc a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.ofNat b
h : Int.negSucc a ≤ Int.ofNat b
⊢ (x ^ (a + 1))⁻¹ ≤ x ^ b

tactic: simp only [zpow_negSucc, ENNReal.inv_le_inv]
state_before: case negSucc.negSucc
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.negSucc a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.negSucc b
h : Int.negSucc a ≤ Int.negSucc b
⊢ x ^ Int.negSucc a ≤ x ^ Int.negSucc b

tactic: apply pow_le_pow hx
state_before: case negSucc.negSucc
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.negSucc a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.negSucc b
h : Int.negSucc a ≤ Int.negSucc b
⊢ x ^ (b + 1) ≤ x ^ (a + 1)

tactic: simpa only [← Int.ofNat_le, neg_le_neg_iff, Int.ofNat_add, Int.ofNat_one, Int.negSucc_eq] using
  h
state_before: case negSucc.negSucc
α : Type ?u.713362
β : Type ?u.713365
a✝¹ b✝¹ c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
hx : 1 ≤ x
a✝ b✝ : ℤ
h✝² : a✝ ≤ b✝
a : ℕ
h✝¹ : Int.negSucc a ≤ b✝
b : ℕ
h✝ : a✝ ≤ Int.negSucc b
h : Int.negSucc a ≤ Int.negSucc b
⊢ b + 1 ≤ a + 1