Well-formed bases #
Main definitions #
WellFormedBasis basis: a predicate meaning that all functions frombasistend toatTop, andbasisis sorted such that ifggoes afterfinbasis, thenlog f =o[atTop] log g.
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.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The tail of a well-formed basis is well-formed.
All functions from a well-formed basis tend to atTop.
Eventually all functions from a well-formed basis are positive.
The first function in a well-formed basis is eventually positive.
Auxillary lemma. If function f is eventually positive, g tends to atTop, and
log f =o[atTop] log g then for any a and b > 0, then f^a =o[atTop] g^b.
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.
- nil : BasisExtension []
- keep (basis_hd : ℝ → ℝ) {basis_tl : Basis} (ex : BasisExtension basis_tl) : BasisExtension (basis_hd :: basis_tl)
- insert {basis : Basis} (f : ℝ → ℝ) (ex : BasisExtension basis) : BasisExtension basis
Instances For
The basis after applying a basis extension.
Equations
- Tactic.ComputeAsymptotics.BasisExtension.nil.getBasis = []
- (Tactic.ComputeAsymptotics.BasisExtension.keep basis_hd ex_2).getBasis = basis_hd :: ex_2.getBasis
- (Tactic.ComputeAsymptotics.BasisExtension.insert f ex_2).getBasis = f :: ex_2.getBasis