Complete monotonicity in the finite-difference sense #
TauCeti.IsCompletelyMonotone asks for a smooth function whose iterated derivatives alternate
in sign. There is a second, purely order-theoretic notion, which mentions no derivatives at all:
a function f : ℝ → ℝ is completely monotone in the finite-difference sense when every
iterated forward difference taken with an arbitrary list [h₁, …, hₙ] of nonnegative steps has
the sign (-1)ⁿ,
0 ≤ (-1)ⁿ (Δ_{h₁} ⋯ Δ_{hₙ} f)(t) for t ≥ 0,
where Δ_h g = fun t => g (t + h) - g t is Mathlib's fwdDiff. Low orders read as f ≥ 0,
f nonincreasing, f "convex along every pair of steps", and so on.
This file introduces the predicate TauCeti.IsDifferenceCompletelyMonotone and proves that on
smooth functions it is exactly complete monotonicity
(TauCeti.isCompletelyMonotone_iff_isDifferenceCompletelyMonotone). The two halves are genuinely
different in character:
- difference to derivative: fixing a list
l, the sign hypothesis fork :: lsays that the slope ofΔ_l fover[t, t + k]has the sign(-1)^(|l|+1); lettingk → 0⁺turns that into the sign of(Δ_l f)' = Δ_l f', so-f'again satisfies the hypothesis and an induction on the order finishes the argument; - derivative to difference: if
fis completely monotone anda ≥ 0then so ist ↦ f t - f (t + a), because then-th alternating derivative offis itself completely monotone, hence nonincreasing (TauCeti.IsCompletelyMonotone.sub_comp_add_const). Iterating this over the list gives the sign of every mixed difference.
The finite-difference form is the hypothesis that arises in practice: the alternating differences
of a positive-definite function on the involutive semigroup [0, ∞) × V are positive definite,
so the mass of the associated spatial Bochner measure is a function of time all of whose mixed
differences alternate, with no smoothness available a priori. Combining the characterization here
with the mollification of
TauCeti.Analysis.CompletelyMonotone.FiniteDifference.Mollify converts that hypothesis into the
input of the Hausdorff--Bernstein--Widder theorem, up to an arbitrarily small shift of the
argument.
Main declarations #
TauCeti.fwdDiffList: the forward differenceΔ_{h₁} ⋯ Δ_{hₙ} falong a list of steps.TauCeti.fwdDiffList_congr: on[0, ∞)a mixed difference with nonnegative steps only sees the values of the function there, andTauCeti.fwdDiffList_congr_of_add_memsharpens this to any set of arguments closed under adding the steps.TauCeti.IsDifferenceCompletelyMonotone: complete monotonicity in the finite-difference sense.TauCeti.isDifferenceCompletelyMonotone_of_tendsto: the predicate is closed under pointwise limits on[0, ∞), unlike its derivative form.TauCeti.IsDifferenceCompletelyMonotone.neg_derivWithin: the negated derivative within the half-line of a differentiable finite-difference completely monotone function is again one.TauCeti.IsDifferenceCompletelyMonotone.isCompletelyMonotone: aC^∞function that is completely monotone in the finite-difference sense is completely monotone.TauCeti.IsCompletelyMonotone.sub_comp_add_const: iffis completely monotone and0 ≤ athen so ist ↦ f t - f (t + a).TauCeti.isCompletelyMonotone_iff_isDifferenceCompletelyMonotone: the two notions agree onC^∞functions.
References #
- D. V. Widder, The Laplace Transform (Princeton, 1941), Chapter IV.
- C. Berg, J. P. R. Christensen, P. Ressel, Harmonic Analysis on Semigroups (GTM 100, 1984).
Forward differences along a list of steps #
The iterated forward difference of f along a list of steps: fwdDiffList [h₁, …, hₙ] f is
Δ_{h₁} (⋯ (Δ_{hₙ} f)), built from Mathlib's fwdDiff. The order of the steps is irrelevant,
but keeping them in a list is what makes mixed step sizes available, which is strictly more
information than the iterates (Δ_h)^[n] of a single step.
Equations
- TauCeti.fwdDiffList l f = List.foldr fwdDiff f l
Instances For
The empty list of steps takes no difference at all.
Consing a step applies one more forward difference on the outside.
Concatenating step lists composes the corresponding difference operators.
Permuting the step sizes does not change a mixed forward difference.
Along a constant list the mixed difference is the iterated single-step difference.
Mixed differences commute with addition.
Mixed differences commute with scalar multiplication by a constant.
Mixed differences are additive-group homomorphisms: they commute with negation.
A mixed forward difference only reads the function on a set closed under its steps. If S
contains the base point and is closed under adding each step, the difference at that point depends
on the function only through its values on S. Compare TauCeti.fwdDiffList_congr, which is the
case of nonnegative real steps and S = [0, ∞).
A mixed difference of a continuous function is continuous.
The finite-difference predicate #
A function f : ℝ → ℝ is completely monotone in the finite-difference sense if every
mixed forward difference along a list of nonnegative steps has the alternating sign of its
length, at every point of [0, ∞):
0 ≤ (-1)ⁿ (Δ_{h₁} ⋯ Δ_{hₙ} f)(t) for h₁, …, hₙ ≥ 0 and t ≥ 0.
Unlike TauCeti.IsCompletelyMonotone this mentions no derivative, so it makes sense for an
arbitrary function; on C^∞ functions the two agree
(TauCeti.isCompletelyMonotone_iff_isDifferenceCompletelyMonotone). Mixed steps, rather than the
iterates of a single step, are what makes the notion stable under differentiation.
Equations
Instances For
IsDifferenceCompletelyMonotone f unfolds to the alternating sign condition on every mixed
forward difference with nonnegative steps.
A function that is completely monotone in the finite-difference sense is nonnegative on
[0, ∞): this is the hypothesis for the empty list of steps.
A function that is completely monotone in the finite-difference sense is nonincreasing on
[0, ∞): this is the hypothesis for a single step.
The predicate depends only on the values of the function on [0, ∞).
A function that is completely monotone in the finite-difference sense is nonincreasing on
[0, ∞).
The finite-difference predicate is stable under taking one more difference: if f qualifies
and 0 ≤ h, then so does -Δ_h f.
Mixed differences pass to a pointwise limit. As in TauCeti.fwdDiffList_congr, a mixed
difference with nonnegative steps evaluated on [0, ∞) only reads the function there, so
convergence on [0, ∞) is all that is needed.
Complete monotonicity in the finite-difference sense is closed under pointwise limits on
[0, ∞), the half-line the predicate lives on. This is a genuine advantage of the
finite-difference formulation: the derivative form is not visibly stable under pointwise
convergence.
Complete monotonicity in the finite-difference sense is closed under addition.
Complete monotonicity in the finite-difference sense is closed under multiplication by a nonnegative constant.
Differences commute with differentiation #
A mixed difference of a differentiable function is differentiable.
Forward differences commute with differentiation.
From differences to derivatives #
Passing to the negated derivative within [0, ∞) preserves complete monotonicity in the
finite-difference sense. The sign of (Δ_l f)' is read off from the sign of the extra difference
Δ_k (Δ_l f) by letting the step k tend to 0 from the right.
A function that is C^∞ on [0, ∞) and completely monotone in the finite-difference sense
has alternating iterated derivatives within that half-line.
Finite differences detect complete monotonicity. A C^∞ function all of whose mixed
forward differences alternate in sign on [0, ∞) is completely monotone.
From derivatives to differences #
A completely monotone function is completely monotone in the finite-difference sense.
The finite-difference characterization of complete monotonicity. For a C^∞ function,
alternating mixed forward differences on [0, ∞) are equivalent to alternating iterated
derivatives there.