File: Mathlib/Computability/AkraBazzi/GrowsPolynomially.lean

full_name: AkraBazziRecurrence.GrowsPolynomially
code: /-- The growth condition that the function `g` must satisfy for the Akra-Bazzi theorem to apply.
It roughly states that `c₁ g(n) ≤ g(u) ≤ c₂ g(n)`, for `u` between `b*n` and `n` for any
constant `b ∈ (0,1)`. -/
def GrowsPolynomially (f : ℝ → ℝ) : Prop 
goal: Prop

full_name: AkraBazziRecurrence.GrowsPolynomially.congr_of_eventuallyEq
code: lemma congr_of_eventuallyEq {f g : ℝ → ℝ} (hfg : f =ᶠ[atTop] g) (hg : GrowsPolynomially g) :
    GrowsPolynomially f 
goal: AkraBazziRecurrence.GrowsPolynomially f

full_name: AkraBazziRecurrence.GrowsPolynomially.iff_eventuallyEq
code: lemma iff_eventuallyEq {f g : ℝ → ℝ} (h : f =ᶠ[atTop] g) :
    GrowsPolynomially f ↔ GrowsPolynomially g 
goal: AkraBazziRecurrence.GrowsPolynomially f ↔ AkraBazziRecurrence.GrowsPolynomially g

full_name: AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_le
code: lemma eventually_atTop_le {b : ℝ} (hb : b ∈ Set.Ioo 0 1) (hf : GrowsPolynomially f) :
    ∃ c > 0, ∀ᶠ x in atTop, ∀ u ∈ Set.Icc (b * x) x, f u ≤ c * f x 
goal: ∃ c > 0, ∀ᶠ (x : ℝ) in Filter.atTop, ∀ u ∈ Set.Icc (b * x) x, f u ≤ c * f x

full_name: AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_le_nat
code: lemma eventually_atTop_le_nat {b : ℝ} (hb : b ∈ Set.Ioo 0 1) (hf : GrowsPolynomially f) :
    ∃ c > 0, ∀ᶠ (n : ℕ) in atTop, ∀ u ∈ Set.Icc (b * n) n, f u ≤ c * f n 
goal: ∃ c > 0, ∀ᶠ (n : ℕ) in Filter.atTop, ∀ u ∈ Set.Icc (b * ↑n) ↑n, f u ≤ c * f ↑n

full_name: AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_ge
code: lemma eventually_atTop_ge {b : ℝ} (hb : b ∈ Set.Ioo 0 1) (hf : GrowsPolynomially f) :
    ∃ c > 0, ∀ᶠ x in atTop, ∀ u ∈ Set.Icc (b * x) x, c * f x ≤ f u 
goal: ∃ c > 0, ∀ᶠ (x : ℝ) in Filter.atTop, ∀ u ∈ Set.Icc (b * x) x, c * f x ≤ f u

full_name: AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_ge_nat
code: lemma eventually_atTop_ge_nat {b : ℝ} (hb : b ∈ Set.Ioo 0 1) (hf : GrowsPolynomially f) :
    ∃ c > 0, ∀ᶠ (n : ℕ) in atTop, ∀ u ∈ Set.Icc (b * n) n, c * f n ≤ f u 
goal: ∃ c > 0, ∀ᶠ (n : ℕ) in Filter.atTop, ∀ u ∈ Set.Icc (b * ↑n) ↑n, c * f ↑n ≤ f u

full_name: AkraBazziRecurrence.GrowsPolynomially.eventually_zero_of_frequently_zero
code: lemma eventually_zero_of_frequently_zero (hf : GrowsPolynomially f) (hf' : ∃ᶠ x in atTop, f x = 0) :
    ∀ᶠ x in atTop, f x = 0 
goal: ∀ᶠ (x : ℝ) in Filter.atTop, f x = 0

full_name: AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_nonneg_or_nonpos
code: lemma eventually_atTop_nonneg_or_nonpos (hf : GrowsPolynomially f) :
    (∀ᶠ x in atTop, 0 ≤ f x) ∨ (∀ᶠ x in atTop, f x ≤ 0) 
goal: (∀ᶠ (x : ℝ) in Filter.atTop, 0 ≤ f x) ∨ ∀ᶠ (x : ℝ) in Filter.atTop, f x ≤ 0

full_name: AkraBazziRecurrence.GrowsPolynomially.eventually_atTop_zero_or_pos_or_neg
code: lemma eventually_atTop_zero_or_pos_or_neg (hf : GrowsPolynomially f) :
    (∀ᶠ x in atTop, f x = 0) ∨ (∀ᶠ x in atTop, 0 < f x) ∨ (∀ᶠ x in atTop, f x < 0) 
goal: (∀ᶠ (x : ℝ) in Filter.atTop, f x = 0) ∨ (∀ᶠ (x : ℝ) in Filter.atTop, 0 < f x) ∨ ∀ᶠ (x : ℝ) in Filter.atTop, f x < 0

full_name: AkraBazziRecurrence.GrowsPolynomially.neg
code: protected lemma neg {f : ℝ → ℝ} (hf : GrowsPolynomially f) : GrowsPolynomially (-f) 
goal: AkraBazziRecurrence.GrowsPolynomially (-f)

full_name: AkraBazziRecurrence.GrowsPolynomially.neg_iff
code: protected lemma neg_iff {f : ℝ → ℝ} : GrowsPolynomially f ↔ GrowsPolynomially (-f) 
goal: AkraBazziRecurrence.GrowsPolynomially f ↔ AkraBazziRecurrence.GrowsPolynomially (-f)

full_name: AkraBazziRecurrence.GrowsPolynomially.abs
code: protected lemma abs (hf : GrowsPolynomially f) : GrowsPolynomially (fun x => |f x|) 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => |f x|

full_name: AkraBazziRecurrence.GrowsPolynomially.norm
code: protected lemma norm (hf : GrowsPolynomially f) : GrowsPolynomially (fun x => ‖f x‖) 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => ‖f x‖

full_name: AkraBazziRecurrence.growsPolynomially_const
code: lemma growsPolynomially_const {c : ℝ} : GrowsPolynomially (fun _ => c) 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => c

full_name: AkraBazziRecurrence.growsPolynomially_id
code: lemma growsPolynomially_id : GrowsPolynomially (fun x => x) 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => x

full_name: AkraBazziRecurrence.GrowsPolynomially.mul
code: protected lemma GrowsPolynomially.mul {f g : ℝ → ℝ} (hf : GrowsPolynomially f)
    (hg : GrowsPolynomially g) : GrowsPolynomially fun x => f x * g x 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => f x * g x

full_name: AkraBazziRecurrence.GrowsPolynomially.const_mul
code: lemma GrowsPolynomially.const_mul {f : ℝ → ℝ} {c : ℝ} (hf : GrowsPolynomially f) :
    GrowsPolynomially fun x => c * f x 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => c * f x

full_name: AkraBazziRecurrence.GrowsPolynomially.add
code: protected lemma GrowsPolynomially.add {f g : ℝ → ℝ} (hf : GrowsPolynomially f)
    (hg : GrowsPolynomially g) (hf' : 0 ≤ᶠ[atTop] f) (hg' : 0 ≤ᶠ[atTop] g) :
    GrowsPolynomially fun x => f x + g x 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => f x + g x

full_name: AkraBazziRecurrence.GrowsPolynomially.add_isLittleO
code: lemma GrowsPolynomially.add_isLittleO {f g : ℝ → ℝ} (hf : GrowsPolynomially f)
    (hfg : g =o[atTop] f) : GrowsPolynomially fun x => f x + g x 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => f x + g x

full_name: AkraBazziRecurrence.GrowsPolynomially.inv
code: protected lemma GrowsPolynomially.inv {f : ℝ → ℝ} (hf : GrowsPolynomially f) :
    GrowsPolynomially fun x => (f x)⁻¹ 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => (f x)⁻¹

full_name: AkraBazziRecurrence.GrowsPolynomially.div
code: protected lemma GrowsPolynomially.div {f g : ℝ → ℝ} (hf : GrowsPolynomially f)
    (hg : GrowsPolynomially g) : GrowsPolynomially fun x => f x / g x 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => f x / g x

full_name: AkraBazziRecurrence.GrowsPolynomially.rpow
code: protected lemma GrowsPolynomially.rpow (p : ℝ) (hf : GrowsPolynomially f)
    (hf_nonneg : ∀ᶠ x in atTop, 0 ≤ f x) : GrowsPolynomially fun x => (f x) ^ p 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => f x ^ p

full_name: AkraBazziRecurrence.GrowsPolynomially.pow
code: protected lemma GrowsPolynomially.pow (p : ℕ) (hf : GrowsPolynomially f)
    (hf_nonneg : ∀ᶠ x in atTop, 0 ≤ f x) : GrowsPolynomially fun x => (f x) ^ p 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => f x ^ p

full_name: AkraBazziRecurrence.GrowsPolynomially.zpow
code: protected lemma GrowsPolynomially.zpow (p : ℤ) (hf : GrowsPolynomially f)
    (hf_nonneg : ∀ᶠ x in atTop, 0 ≤ f x) : GrowsPolynomially fun x => (f x) ^ p 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => f x ^ p

full_name: AkraBazziRecurrence.growsPolynomially_rpow
code: lemma growsPolynomially_rpow (p : ℝ) : GrowsPolynomially fun x => x ^ p 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => x ^ p

full_name: AkraBazziRecurrence.growsPolynomially_pow
code: lemma growsPolynomially_pow (p : ℕ) : GrowsPolynomially fun x => x ^ p 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => x ^ p

full_name: AkraBazziRecurrence.growsPolynomially_zpow
code: lemma growsPolynomially_zpow (p : ℤ) : GrowsPolynomially fun x => x ^ p 
goal: AkraBazziRecurrence.GrowsPolynomially fun x => x ^ p

full_name: AkraBazziRecurrence.growsPolynomially_log
code: lemma growsPolynomially_log : GrowsPolynomially Real.log 
goal: AkraBazziRecurrence.GrowsPolynomially Real.log

full_name: AkraBazziRecurrence.GrowsPolynomially.of_isTheta
code: lemma GrowsPolynomially.of_isTheta {f g : ℝ → ℝ} (hg : GrowsPolynomially g) (hf : f =Θ[atTop] g)
    (hf' : ∀ᶠ x in atTop, 0 ≤ f x) : GrowsPolynomially f 
goal: AkraBazziRecurrence.GrowsPolynomially f

full_name: AkraBazziRecurrence.GrowsPolynomially.of_isEquivalent
code: lemma GrowsPolynomially.of_isEquivalent {f g : ℝ → ℝ} (hg : GrowsPolynomially g)
    (hf : f ~[atTop] g) : GrowsPolynomially f 
goal: AkraBazziRecurrence.GrowsPolynomially f

full_name: AkraBazziRecurrence.GrowsPolynomially.of_isEquivalent_const
code: lemma GrowsPolynomially.of_isEquivalent_const {f : ℝ → ℝ} {c : ℝ} (hf : f ~[atTop] fun _ => c) :
    GrowsPolynomially f 
goal: AkraBazziRecurrence.GrowsPolynomially f