ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- IsLocalization.exist_integer_multiples_of_finite
theorem exist_integer_multiples_of_finite {ι : Type*} [Finite ι] (f : ι → S) :
    ∃ b : M, ∀ i, IsLocalization.IsInteger R ((b : R) • f i) 
Arguments: {R : Type u_1} [CommSemiring R] (M : Submonoid R) {S : Type u_2} [CommSemiring S] [Algebra R S] [IsLocalization M S] {ι : Type u_4} [Finite ι] (f : ι → S)
Goal: ∃ b, ∀ (i : ι), IsLocalization.IsInteger R (↑b • f i)
-- IsLocalization.exist_integer_multiples_of_finset
theorem exist_integer_multiples_of_finset (s : Finset S) :
    ∃ b : M, ∀ a ∈ s, IsInteger R ((b : R) • a) 
Arguments: {R : Type u_1} [CommSemiring R] (M : Submonoid R) {S : Type u_2} [CommSemiring S] [Algebra R S] [IsLocalization M S] (s : Finset S)
Goal: ∃ b, ∀ a ∈ s, IsLocalization.IsInteger R (↑b • a)
-- IsLocalization.map_integerMultiple
@[simp]
theorem map_integerMultiple {ι : Type*} (s : Finset ι) (f : ι → S) (i : s) :
    algebraMap R S (integerMultiple M s f i) = commonDenom M s f • f i 
Arguments: {R : Type u_1} [CommSemiring R] (M : Submonoid R) {S : Type u_2} [CommSemiring S] [Algebra R S] [IsLocalization M S] {ι : Type u_4} (s : Finset ι) (f : ι → S) (i : { x // x ∈ s })
Goal: (algebraMap R S) (IsLocalization.integerMultiple M s f i) = IsLocalization.commonDenom M s f • f ↑i
-- IsLocalization.finsetIntegerMultiple_image
theorem finsetIntegerMultiple_image [DecidableEq R] (s : Finset S) :
    algebraMap R S '' finsetIntegerMultiple M s = commonDenomOfFinset M s • (s : Set S) 
Arguments: {R : Type u_1} [CommSemiring R] (M : Submonoid R) {S : Type u_2} [CommSemiring S] [Algebra R S] [IsLocalization M S] [DecidableEq R] (s : Finset S)
Goal: ⇑(algebraMap R S) '' ↑(IsLocalization.finsetIntegerMultiple M s) = IsLocalization.commonDenomOfFinset M s • ↑s
-- Algebra.formallySmooth_iff
@[mk_iff]
class FormallySmooth : Prop where
  comp_surjective :
    ∀ ⦃B : Type u⦄ [CommRing B],
      ∀ [Algebra R B] (I : Ideal B) (_ : I ^ 2 = ⊥),
        Function.Surjective ((Ideal.Quotient.mkₐ R I).comp : (A →ₐ[R] B) → A →ₐ[R] B ⧸ I)
Arguments: (R : Type u) [CommSemiring R] (A : Type u) [Semiring A] [Algebra R A]
Goal: Algebra.FormallySmooth R A ↔
  ∀ ⦃B : Type u⦄ [inst : CommRing B] [inst_1 : Algebra R B] (I : Ideal B),
    I ^ 2 = ⊥ → Function.Surjective (Ideal.Quotient.mkₐ R I).comp
-- Algebra.FormallySmooth.comp_surjective
@[mk_iff]
class FormallySmooth : Prop where
  comp_surjective :
    ∀ ⦃B : Type u⦄ [CommRing B],
      ∀ [Algebra R B] (I : Ideal B) (_ : I ^ 2 = ⊥),
        Function.Surjective ((Ideal.Quotient.mkₐ R I).comp : (A →ₐ[R] B) → A →ₐ[R] B ⧸ I)
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] [self : Algebra.FormallySmooth R A] ⦃B : Type u⦄ [CommRing B] [Algebra R B] (I : Ideal B)
Goal: I ^ 2 = ⊥ → Function.Surjective (Ideal.Quotient.mkₐ R I).comp
-- Algebra.FormallySmooth.exists_lift
theorem exists_lift {B : Type u} [CommRing B] [_RB : Algebra R B]
    [FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B ⧸ I) :
    ∃ f : A →ₐ[R] B, (Ideal.Quotient.mkₐ R I).comp f = g 
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [_RB : Algebra R B] [Algebra.FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B ⧸ I)
Goal: ∃ f, (Ideal.Quotient.mkₐ R I).comp f = g
-- Algebra.FormallySmooth.comp_lift
@[simp]
theorem comp_lift [FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I)
    (g : A →ₐ[R] B ⧸ I) : (Ideal.Quotient.mkₐ R I).comp (FormallySmooth.lift I hI g) = g 
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] [Algebra.FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B ⧸ I)
Goal: (Ideal.Quotient.mkₐ R I).comp (Algebra.FormallySmooth.lift I hI g) = g
-- Algebra.FormallySmooth.mk_lift
@[simp]
theorem mk_lift [FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I)
    (g : A →ₐ[R] B ⧸ I) (x : A) : Ideal.Quotient.mk I (FormallySmooth.lift I hI g x) = g x 
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] [Algebra.FormallySmooth R A] (I : Ideal B) (hI : IsNilpotent I) (g : A →ₐ[R] B ⧸ I) (x : A)
Goal: (Ideal.Quotient.mk I) ((Algebra.FormallySmooth.lift I hI g) x) = g x
-- Algebra.FormallySmooth.liftOfSurjective_apply
@[simp]
theorem liftOfSurjective_apply [FormallySmooth R A] (f : A →ₐ[R] C) (g : B →ₐ[R] C)
    (hg : Function.Surjective g) (hg' : IsNilpotent <| RingHom.ker (g : B →+* C)) (x : A) :
    g (FormallySmooth.liftOfSurjective f g hg hg' x) = f x 
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] {C : Type u} [CommRing C] [Algebra R C] [Algebra.FormallySmooth R A] (f : A →ₐ[R] C) (g : B →ₐ[R] C) (hg : Function.Surjective ⇑g) (hg' : IsNilpotent (RingHom.ker ↑g)) (x : A)
Goal: g ((Algebra.FormallySmooth.liftOfSurjective f g hg hg') x) = f x
-- Algebra.FormallySmooth.comp_liftOfSurjective
@[simp]
theorem comp_liftOfSurjective [FormallySmooth R A] (f : A →ₐ[R] C) (g : B →ₐ[R] C)
    (hg : Function.Surjective g) (hg' : IsNilpotent <| RingHom.ker (g : B →+* C)) :
    g.comp (FormallySmooth.liftOfSurjective f g hg hg') = f 
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] {B : Type u} [CommRing B] [Algebra R B] {C : Type u} [CommRing C] [Algebra R C] [Algebra.FormallySmooth R A] (f : A →ₐ[R] C) (g : B →ₐ[R] C) (hg : Function.Surjective ⇑g) (hg' : IsNilpotent (RingHom.ker ↑g))
Goal: g.comp (Algebra.FormallySmooth.liftOfSurjective f g hg hg') = f
-- Algebra.FormallySmooth.of_equiv
theorem of_equiv [FormallySmooth R A] (e : A ≃ₐ[R] B) : FormallySmooth R B 
Arguments: {R : Type u} [CommSemiring R] {A B : Type u} [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Algebra.FormallySmooth R A] (e : A ≃ₐ[R] B)
Goal: Algebra.FormallySmooth R B
-- Algebra.FormallySmooth.comp
theorem comp [FormallySmooth R A] [FormallySmooth A B] : FormallySmooth R B 
Arguments: (R : Type u) [CommSemiring R] (A : Type u) [CommSemiring A] [Algebra R A] (B : Type u) [Semiring B] [Algebra R B] [Algebra A B] [IsScalarTower R A B] [Algebra.FormallySmooth R A] [Algebra.FormallySmooth A B]
Goal: Algebra.FormallySmooth R B
-- Algebra.FormallySmooth.of_split
theorem of_split [FormallySmooth R P] (g : A →ₐ[R] P ⧸ (RingHom.ker f.toRingHom) ^ 2)
    (hg : f.kerSquareLift.comp g = AlgHom.id R A) : FormallySmooth R A 
Arguments: {R : Type u} [CommRing R] {P A : Type u} [CommRing A] [Algebra R A] [CommRing P] [Algebra R P] (f : P →ₐ[R] A) [Algebra.FormallySmooth R P] (g : A →ₐ[R] P ⧸ RingHom.ker f.toRingHom ^ 2) (hg : f.kerSquareLift.comp g = AlgHom.id R A)
Goal: Algebra.FormallySmooth R A
-- Algebra.FormallySmooth.iff_split_surjection
theorem iff_split_surjection [FormallySmooth R P] :
    FormallySmooth R A ↔ ∃ g, f.kerSquareLift.comp g = AlgHom.id R A 
Arguments: {R : Type u} [CommRing R] {P A : Type u} [CommRing A] [Algebra R A] [CommRing P] [Algebra R P] (f : P →ₐ[R] A) (hf : Function.Surjective ⇑f) [Algebra.FormallySmooth R P]
Goal: Algebra.FormallySmooth R A ↔ ∃ g, f.kerSquareLift.comp g = AlgHom.id R A
-- Algebra.FormallySmooth.of_isLocalization
theorem of_isLocalization : FormallySmooth R Rₘ 
Arguments: {R Rₘ : Type u} [CommRing R] [CommRing Rₘ] (M : Submonoid R) [Algebra R Rₘ] [IsLocalization M Rₘ]
Goal: Algebra.FormallySmooth R Rₘ
-- Algebra.FormallySmooth.localization_base
theorem localization_base [FormallySmooth R Sₘ] : FormallySmooth Rₘ Sₘ 
Arguments: {R Rₘ Sₘ : Type u} [CommRing R] [CommRing Rₘ] [CommRing Sₘ] (M : Submonoid R) [Algebra R Sₘ] [Algebra R Rₘ] [Algebra Rₘ Sₘ] [IsScalarTower R Rₘ Sₘ] [IsLocalization M Rₘ] [Algebra.FormallySmooth R Sₘ]
Goal: Algebra.FormallySmooth Rₘ Sₘ
-- Algebra.FormallySmooth.localization_map
theorem localization_map [FormallySmooth R S] : FormallySmooth Rₘ Sₘ 
Arguments: {R S Rₘ Sₘ : Type u} [CommRing R] [CommRing S] [CommRing Rₘ] [CommRing Sₘ] (M : Submonoid R) [Algebra R S] [Algebra R Sₘ] [Algebra S Sₘ] [Algebra R Rₘ] [Algebra Rₘ Sₘ] [IsScalarTower R Rₘ Sₘ] [IsScalarTower R S Sₘ] [IsLocalization M Rₘ] [IsLocalization (Submonoid.map (algebraMap R S) M) Sₘ] [Algebra.FormallySmooth R S]
Goal: Algebra.FormallySmooth Rₘ Sₘ
-- Algebra.Smooth.formallySmooth
class Smooth [CommSemiring R] (A : Type u) [Semiring A] [Algebra R A] : Prop where
  formallySmooth : FormallySmooth R A := by infer_instance
  finitePresentation : FinitePresentation R A := by infer_instance
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] [self : Algebra.Smooth R A]
Goal: Algebra.FormallySmooth R A
-- Algebra.Smooth.finitePresentation
class Smooth [CommSemiring R] (A : Type u) [Semiring A] [Algebra R A] : Prop where
  formallySmooth : FormallySmooth R A := by infer_instance
  finitePresentation : FinitePresentation R A := by infer_instance
Arguments: {R : Type u} [CommSemiring R] {A : Type u} [Semiring A] [Algebra R A] [self : Algebra.Smooth R A]
Goal: Algebra.FinitePresentation R A
-- Algebra.Smooth.of_equiv
theorem of_equiv [Smooth R A] (e : A ≃ₐ[R] B) : Smooth R B 
Arguments: {R : Type u} [CommRing R] {A B : Type u} [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] [Algebra.Smooth R A] (e : A ≃ₐ[R] B)
Goal: Algebra.Smooth R B
-- Algebra.Smooth.of_isLocalization_Away
theorem of_isLocalization_Away (r : R) [IsLocalization.Away r A] : Smooth R A 
Arguments: {R : Type u} [CommRing R] {A : Type u} [CommRing A] [Algebra R A] (r : R) [IsLocalization.Away r A]
Goal: Algebra.Smooth R A
-- Algebra.Smooth.comp
theorem comp [Algebra A B] [IsScalarTower R A B] [Smooth R A] [Smooth A B] : Smooth R B 
Arguments: (R : Type u) [CommRing R] (A B : Type u) [CommRing A] [Algebra R A] [CommRing B] [Algebra R B] [Algebra A B] [IsScalarTower R A B] [Algebra.Smooth R A] [Algebra.Smooth A B]
Goal: Algebra.Smooth R B
-- AkraBazziRecurrence.dist_r_b
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (i : α)
Goal: (fun n => ↑(r i n) - b i * ↑n) =o[Filter.atTop] fun n => ↑n / Real.log ↑n ^ 2
-- AkraBazziRecurrence.r_lt_n
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (i : α) (n : ℕ)
Goal: self.n₀ ≤ n → r i n < n
-- AkraBazziRecurrence.a_pos
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (i : α)
Goal: 0 < a i
-- AkraBazziRecurrence.b_pos
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (i : α)
Goal: 0 < b i
-- AkraBazziRecurrence.n₀_gt_zero
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r)
Goal: 0 < self.n₀
-- AkraBazziRecurrence.b_lt_one
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (i : α)
Goal: b i < 1
-- AkraBazziRecurrence.T_gt_zero'
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (n : ℕ) (hn : n < self.n₀)
Goal: 0 < T n
-- AkraBazziRecurrence.g_nonneg
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (x : ℝ)
Goal: x ≥ 0 → 0 ≤ g x
-- AkraBazziRecurrence.g_grows_poly
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r)
Goal: AkraBazziRecurrence.GrowsPolynomially g
-- AkraBazziRecurrence.h_rec
structure AkraBazziRecurrence {α : Type*} [Fintype α] [Nonempty α]
    (T : ℕ → ℝ) (g : ℝ → ℝ) (a : α → ℝ) (b : α → ℝ) (r : α → ℕ → ℕ) where
    n₀ : ℕ
    n₀_gt_zero : 0 < n₀
    a_pos : ∀ i, 0 < a i
    b_pos : ∀ i, 0 < b i
    b_lt_one : ∀ i, b i < 1
    g_nonneg : ∀ x ≥ 0, 0 ≤ g x
    g_grows_poly : AkraBazziRecurrence.GrowsPolynomially g
    h_rec (n : ℕ) (hn₀ : n₀ ≤ n) : T n = (∑ i, a i * T (r i n)) + g n
    T_gt_zero' (n : ℕ) (hn : n < n₀) : 0 < T n
    r_lt_n : ∀ i n, n₀ ≤ n → r i n < n
    dist_r_b : ∀ i, (fun n => (r i n : ℝ) - b i * n) =o[atTop] fun n => n / (log n) ^ 2
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (self : AkraBazziRecurrence T g a b r) (n : ℕ) (hn₀ : self.n₀ ≤ n)
Goal: T n = ∑ i : α, a i * T (r i n) + g ↑n
-- AkraBazziRecurrence.min_bi_le
@[aesop safe apply]
lemma min_bi_le {b : α → ℝ} (i : α) : b (min_bi b) ≤ b i 
Arguments: {α : Type u_1} [Finite α] [Nonempty α] {b : α → ℝ} (i : α)
Goal: b (AkraBazziRecurrence.min_bi b) ≤ b i
-- AkraBazziRecurrence.max_bi_le
@[aesop safe apply]
lemma max_bi_le {b : α → ℝ} (i : α) : b i ≤ b (max_bi b) 
Arguments: {α : Type u_1} [Finite α] [Nonempty α] {b : α → ℝ} (i : α)
Goal: b i ≤ b (AkraBazziRecurrence.max_bi b)
-- AkraBazziRecurrence.dist_r_b'
lemma dist_r_b' : ∀ᶠ n in atTop, ∀ i, ‖(r i n : ℝ) - b i * n‖ ≤ n / log n ^ 2 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), ‖↑(r i n) - b i * ↑n‖ ≤ ↑n / Real.log ↑n ^ 2
-- AkraBazziRecurrence.isLittleO_self_div_log_id
lemma isLittleO_self_div_log_id :
    (fun (n : ℕ) => n / log n ^ 2) =o[atTop] (fun (n : ℕ) => (n : ℝ)) 
Goal: (fun n => ↑n / Real.log ↑n ^ 2) =o[Filter.atTop] fun n => ↑n
-- AkraBazziRecurrence.eventually_b_le_r
lemma eventually_b_le_r : ∀ᶠ (n : ℕ) in atTop, ∀ i, (b i : ℝ) * n - (n / log n ^ 2) ≤ r i n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), b i * ↑n - ↑n / Real.log ↑n ^ 2 ≤ ↑(r i n)
-- AkraBazziRecurrence.eventually_r_le_b
lemma eventually_r_le_b : ∀ᶠ (n : ℕ) in atTop, ∀ i, r i n ≤ (b i : ℝ) * n + (n / log n ^ 2) 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), ↑(r i n) ≤ b i * ↑n + ↑n / Real.log ↑n ^ 2
-- AkraBazziRecurrence.eventually_r_lt_n
lemma eventually_r_lt_n : ∀ᶠ (n : ℕ) in atTop, ∀ i, r i n < n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), r i n < n
-- AkraBazziRecurrence.eventually_bi_mul_le_r
lemma eventually_bi_mul_le_r : ∀ᶠ (n : ℕ) in atTop, ∀ i, (b (min_bi b) / 2) * n ≤ r i n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), b (AkraBazziRecurrence.min_bi b) / 2 * ↑n ≤ ↑(r i n)
-- AkraBazziRecurrence.bi_min_div_two_lt_one
lemma bi_min_div_two_lt_one : b (min_bi b) / 2 < 1 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: b (AkraBazziRecurrence.min_bi b) / 2 < 1
-- AkraBazziRecurrence.bi_min_div_two_pos
lemma bi_min_div_two_pos : 0 < b (min_bi b) / 2 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: 0 < b (AkraBazziRecurrence.min_bi b) / 2
-- AkraBazziRecurrence.exists_eventually_const_mul_le_r
lemma exists_eventually_const_mul_le_r :
    ∃ c ∈ Set.Ioo (0 : ℝ) 1, ∀ᶠ (n : ℕ) in atTop, ∀ i, c * n ≤ r i n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∃ c ∈ Set.Ioo 0 1, ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), c * ↑n ≤ ↑(r i n)
-- AkraBazziRecurrence.eventually_r_ge
lemma eventually_r_ge (C : ℝ) : ∀ᶠ (n : ℕ) in atTop, ∀ i, C ≤ r i n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r) (C : ℝ)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), C ≤ ↑(r i n)
-- AkraBazziRecurrence.tendsto_atTop_r
lemma tendsto_atTop_r (i : α) : Tendsto (r i) atTop atTop 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r) (i : α)
Goal: Filter.Tendsto (r i) Filter.atTop Filter.atTop
-- AkraBazziRecurrence.tendsto_atTop_r_real
lemma tendsto_atTop_r_real (i : α) : Tendsto (fun n => (r i n : ℝ)) atTop atTop 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r) (i : α)
Goal: Filter.Tendsto (fun n => ↑(r i n)) Filter.atTop Filter.atTop
-- AkraBazziRecurrence.exists_eventually_r_le_const_mul
lemma exists_eventually_r_le_const_mul :
    ∃ c ∈ Set.Ioo (0 : ℝ) 1, ∀ᶠ (n : ℕ) in atTop, ∀ i, r i n ≤ c * n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∃ c ∈ Set.Ioo 0 1, ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), ↑(r i n) ≤ c * ↑n
-- AkraBazziRecurrence.eventually_r_pos
lemma eventually_r_pos : ∀ᶠ (n : ℕ) in atTop, ∀ i, 0 < r i n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), 0 < r i n
-- AkraBazziRecurrence.eventually_log_b_mul_pos
lemma eventually_log_b_mul_pos : ∀ᶠ (n : ℕ) in atTop, ∀ i, 0 < log (b i * n) 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, ∀ (i : α), 0 < Real.log (b i * ↑n)
-- AkraBazziRecurrence.T_pos
@[aesop safe apply] lemma T_pos (n : ℕ) : 0 < T n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r) (n : ℕ)
Goal: 0 < T n
-- AkraBazziRecurrence.T_nonneg
@[aesop safe apply]
lemma T_nonneg (n : ℕ) : 0 ≤ T n 
Arguments: {α : Type u_1} [Fintype α] [Nonempty α] {T : ℕ → ℝ} {g : ℝ → ℝ} {a b : α → ℝ} {r : α → ℕ → ℕ} (R : AkraBazziRecurrence T g a b r) (n : ℕ)
Goal: 0 ≤ T n
-- AkraBazziRecurrence.one_add_smoothingFn_le_two
lemma one_add_smoothingFn_le_two {x : ℝ} (hx : exp 1 ≤ x) : 1 + ε x ≤ 2 
Arguments: {x : ℝ} (hx : rexp 1 ≤ x)
Goal: 1 + AkraBazziRecurrence.smoothingFn x ≤ 2
-- AkraBazziRecurrence.isLittleO_smoothingFn_one
lemma isLittleO_smoothingFn_one : ε =o[atTop] (fun _ => (1 : ℝ)) 
Goal: AkraBazziRecurrence.smoothingFn =o[Filter.atTop] fun x => 1
-- AkraBazziRecurrence.isEquivalent_one_add_smoothingFn_one
lemma isEquivalent_one_add_smoothingFn_one : (fun x => 1 + ε x) ~[atTop] (fun _ => (1 : ℝ)) 
Goal: (fun x => 1 + AkraBazziRecurrence.smoothingFn x) ~[Filter.atTop] fun x => 1