Documentation

Mathlib.Tactic.ComputeAsymptotics.Multiseries.Basis

Well-formed bases #

Main definitions #

@[reducible, inline]

List of functions used to construct monomials in multiseries.

Instances For

    WellFormedBasis basis means that all functions from basis tend to atTop, and basis is sorted such that if g goes after f in basis, then log f =o[atTop] log g.

    We use two types Basis and WellFormedBasis instead of a single bundled one because it it lets us to use the List API for Basis.

    Instances For
      theorem Tactic.ComputeAsymptotics.WellFormedBasis.of_sublist {basis basis' : Basis} (h : List.Sublist basis basis') (h_basis : WellFormedBasis basis') :
      theorem Tactic.ComputeAsymptotics.WellFormedBasis.tail {basis_hd : โ„ โ†’ โ„} {basis_tl : Basis} (h : WellFormedBasis (basis_hd :: basis_tl)) :

      The tail of a well-formed basis is well-formed.

      theorem Tactic.ComputeAsymptotics.WellFormedBasis.compare_left_aux {basis : Basis} {f : โ„ โ†’ โ„} (h : WellFormedBasis basis) (h_comp : โˆ€ (g : โ„ โ†’ โ„), List.getLast? basis = some g โ†’ (Real.log โˆ˜ f) =o[Filter.atTop] (Real.log โˆ˜ g)) (g : โ„ โ†’ โ„) :
      g โˆˆ basis โ†’ (Real.log โˆ˜ f) =o[Filter.atTop] (Real.log โˆ˜ g)
      theorem Tactic.ComputeAsymptotics.WellFormedBasis.compare_right_aux {basis : Basis} {f : โ„ โ†’ โ„} (h : WellFormedBasis basis) (h_comp : โˆ€ (g : โ„ โ†’ โ„), List.head? basis = some g โ†’ (Real.log โˆ˜ g) =o[Filter.atTop] (Real.log โˆ˜ f)) (g : โ„ โ†’ โ„) :
      g โˆˆ basis โ†’ (Real.log โˆ˜ g) =o[Filter.atTop] (Real.log โˆ˜ f)
      theorem Tactic.ComputeAsymptotics.WellFormedBasis.append {left right : Basis} (h_left : WellFormedBasis left) (h_right : WellFormedBasis right) (h : โˆ€ f โˆˆ left, โˆ€ g โˆˆ right, (Real.log โˆ˜ g) =o[Filter.atTop] (Real.log โˆ˜ f)) :
      WellFormedBasis (left ++ right)
      theorem Tactic.ComputeAsymptotics.WellFormedBasis.cons {basis : Basis} {f : โ„ โ†’ โ„} (h_basis : WellFormedBasis basis) (hf_tendsto : Filter.Tendsto f Filter.atTop Filter.atTop) (hf : โˆ€ g โˆˆ basis, (Real.log โˆ˜ g) =o[Filter.atTop] (Real.log โˆ˜ f)) :
      WellFormedBasis (f :: basis)
      theorem Tactic.ComputeAsymptotics.WellFormedBasis.insert {left right : Basis} {f : โ„ โ†’ โ„} (h : WellFormedBasis (left ++ right)) (hf_tendsto : Filter.Tendsto f Filter.atTop Filter.atTop) (hf_comp_left : โˆ€ (g : โ„ โ†’ โ„), List.getLast? left = some g โ†’ (Real.log โˆ˜ f) =o[Filter.atTop] (Real.log โˆ˜ g)) (hf_comp_right : โˆ€ (g : โ„ โ†’ โ„), List.head? right = some g โ†’ (Real.log โˆ˜ g) =o[Filter.atTop] (Real.log โˆ˜ f)) :
      WellFormedBasis (left ++ f :: right)
      theorem Tactic.ComputeAsymptotics.WellFormedBasis.push {basis : Basis} {f : โ„ โ†’ โ„} (h : WellFormedBasis basis) (hf_tendsto : Filter.Tendsto f Filter.atTop Filter.atTop) (hf_comp : โˆ€ (g : โ„ โ†’ โ„), List.getLast? basis = some g โ†’ (Real.log โˆ˜ f) =o[Filter.atTop] (Real.log โˆ˜ g)) :
      WellFormedBasis (basis ++ [f])

      All functions from a well-formed basis tend to atTop.

      Eventually all functions from a well-formed basis are positive.

      theorem Tactic.ComputeAsymptotics.WellFormedBasis.head_eventually_pos {basis_hd : โ„ โ†’ โ„} {basis_tl : Basis} (h : WellFormedBasis (basis_hd :: basis_tl)) :

      The first function in a well-formed basis is eventually positive.

      theorem Tactic.ComputeAsymptotics.WellFormedBasis.tail_isLittleO_head {hd : โ„ โ†’ โ„} {tl : Basis} (h : WellFormedBasis (hd :: tl)) {f : โ„ โ†’ โ„} (hf : f โˆˆ tl) :
      (Real.log โˆ˜ f) =o[Filter.atTop] (Real.log โˆ˜ hd)

      All functions in the tail of a well-formed basis are little-o of the basis' head.

      theorem Tactic.ComputeAsymptotics.WellFormedBasis.push_log_last {basis_hd : โ„ โ†’ โ„} {basis_tl : Basis} (h_basis : WellFormedBasis (basis_hd :: basis_tl)) :
      WellFormedBasis (basis_hd :: basis_tl ++ [Real.log โˆ˜ (basis_hd :: basis_tl).getLast โ‹ฏ])

      Basis extensions #

      The type of extensions of a given basis, defined as an inductive type. Given a basis : Basis and ex : BasisExtension basis of it, one can use getBasis to produce a basis basis' for which basis <+ basis'. Moreover, all such bases for which basis is a sublist can be obtained in this manner. In this sense BasisExtension is a Type-valued analogue of List.Sublist.

      Instances For

        The basis after applying a basis extension.

        Instances For