Documentation

Mathlib.Analysis.Asymptotics.LinearGrowth

Linear growth #

This file defines the linear growth of a sequence u : โ„• โ†’ R. This notion comes in two versions, using a liminf and a limsup respectively. Most properties are developed for R = EReal.

Main definitions #

TODO #

Generalize statements from EReal to ENNReal (or others). This may need additional typeclasses.

Lemma about coercion from ENNReal to EReal. This needs additional lemmas about ENNReal.toEReal.

Definition #

noncomputable def LinearGrowth.linearGrowthInf {R : Type u_1} [ConditionallyCompleteLattice R] [Div R] [NatCast R] (u : โ„• โ†’ R) :
R

Lower linear growth of a sequence.

Equations
    Instances For
      noncomputable def LinearGrowth.linearGrowthSup {R : Type u_1} [ConditionallyCompleteLattice R] [Div R] [NatCast R] (u : โ„• โ†’ R) :
      R

      Upper linear growth of a sequence.

      Equations
        Instances For

          Basic properties #

          theorem LinearGrowth.linearGrowthInf_le_linearGrowthSup {R : Type u_1} [ConditionallyCompleteLattice R] [Div R] [NatCast R] {u : โ„• โ†’ R} (h : Filter.IsBoundedUnder (fun (x1 x2 : R) => x1 โ‰ค x2) Filter.atTop fun (n : โ„•) => u n / โ†‘n := by isBoundedDefault) (h' : Filter.IsBoundedUnder (fun (x1 x2 : R) => x1 โ‰ฅ x2) Filter.atTop fun (n : โ„•) => u n / โ†‘n := by isBoundedDefault) :

          Special cases #

          Addition and negation #

          Affine bounds #

          Infimum and supremum #

          Lower linear growth as an InfTopHom.

          Equations
            Instances For
              theorem LinearGrowth.linearGrowthInf_biInf {ฮฑ : Type u_1} (u : ฮฑ โ†’ โ„• โ†’ EReal) {s : Set ฮฑ} (hs : s.Finite) :
              linearGrowthInf (โจ… x โˆˆ s, u x) = โจ… x โˆˆ s, linearGrowthInf (u x)
              theorem LinearGrowth.linearGrowthInf_iInf {ฮน : Type u_1} [Finite ฮน] (u : ฮน โ†’ โ„• โ†’ EReal) :
              linearGrowthInf (โจ… (i : ฮน), u i) = โจ… (i : ฮน), linearGrowthInf (u i)

              Upper linear growth as a SupBotHom.

              Equations
                Instances For
                  theorem LinearGrowth.linearGrowthSup_biSup {ฮฑ : Type u_1} (u : ฮฑ โ†’ โ„• โ†’ EReal) {s : Set ฮฑ} (hs : s.Finite) :
                  linearGrowthSup (โจ† x โˆˆ s, u x) = โจ† x โˆˆ s, linearGrowthSup (u x)
                  theorem LinearGrowth.linearGrowthSup_iSup {ฮน : Type u_1} [Finite ฮน] (u : ฮน โ†’ โ„• โ†’ EReal) :
                  linearGrowthSup (โจ† (i : ฮน), u i) = โจ† (i : ฮน), linearGrowthSup (u i)

                  Composition #

                  theorem LinearGrowth.EReal.eventually_atTop_exists_nat_between {a b : EReal} (h : a < b) (hb : 0 โ‰ค b) :
                  โˆ€แถ  (n : โ„•) in Filter.atTop, โˆƒ (m : โ„•), a * โ†‘n โ‰ค โ†‘m โˆง โ†‘m โ‰ค b * โ†‘n
                  theorem LinearGrowth.linearGrowthSup_comp_le {u : โ„• โ†’ EReal} {v : โ„• โ†’ โ„•} (hu : โˆƒแถ  (n : โ„•) in Filter.atTop, 0 โ‰ค u n) (hvโ‚€ : (linearGrowthSup fun (n : โ„•) => โ†‘(v n)) โ‰  0) (hvโ‚ : (linearGrowthSup fun (n : โ„•) => โ†‘(v n)) โ‰  โŠค) (hvโ‚‚ : Filter.Tendsto v Filter.atTop Filter.atTop) :

                  Monotone sequences #

                  theorem Monotone.linearGrowthInf_comp {u : โ„• โ†’ EReal} {v : โ„• โ†’ โ„•} {a : EReal} (h : Monotone u) (hv : Filter.Tendsto (fun (n : โ„•) => โ†‘(v n) / โ†‘n) Filter.atTop (nhds a)) (ha : a โ‰  0) (ha' : a โ‰  โŠค) :
                  theorem Monotone.linearGrowthSup_comp {u : โ„• โ†’ EReal} {v : โ„• โ†’ โ„•} {a : EReal} (h : Monotone u) (hv : Filter.Tendsto (fun (n : โ„•) => โ†‘(v n) / โ†‘n) Filter.atTop (nhds a)) (ha : a โ‰  0) (ha' : a โ‰  โŠค) :