Nonnegative real powers preserve positive log-concavity
AutoSamplingTheory.TechnicalLemmas.Geometry.LogConcavity.LogConcaveOn.rpow · theorem · Teaching coverage
Statement
Let E be a real module, f:E→ℝ positive log-concave on s⊆E, and p≥0 a real number. Then x↦f(x)^p, with real exponentiation, is positive log-concave on s. The exponent zero is allowed.
All objects and hypotheses
- E : Type* with [AddCommMonoid E] and [Module ℝ E]. These are the exact algebraic ambient structures; no topology, norm, measure or finite-dimensionality is assumed.
- s : Set E, f : E → ℝ, hf : LogConcaveOn s f.
- p : ℝ and hp : 0≤p.
- {'term': 'Positive log-concavity', 'text': 'LC_s(f) means strict positivity of f at every point of s and concavity of log f on the convex domain s. No zero-valued points are included in this convention.', 'formula': '\\operatorname{LC}_s(f)\\iff(\\forall x\\in s,\\ f(x)>0)\\land\\operatorname{Concave}_s(\\log f).'}
- {'term': 'Convex combinations and Jensen inequalities', 'text': 'Throughout, x,y lie in the stated domain; λ,θ are nonnegative real weights with λ+θ=1. The Lean code often names these weights a,b, independently of the a,b coefficients in specialized potentials.', 'formula': 'z=\\lambda x+\\theta y,\\quad \\lambda,\\theta\\ge0,\\quad\\lambda+\\theta=1;\\qquad V(z)\\le\\lambda V(x)+\\theta V(y)\\text{ for convex }V.'}
- {'term': 'Geometry, not probability normalization', 'text': 'The module proves shapes and convexity properties of real-valued functions. It has no reference measure in its declarations. In particular, names containing normalized_density do not themselves prove normalization, and the quadratic prefactor is not certified as the integral of an arbitrary norm-based shape.', 'formula': '\\operatorname{LC}(Z^{-1}e^{-V})\\quad\\text{does not assert}\\quad Z=\\int e^{-V}\\,d\\mu\\quad\\text{or}\\quad \\int Z^{-1}e^{-V}\\,d\\mu=1.'}
Mathematical proof
1. Real powers of positive numbers stay positive
Since f(x)>0 on s, its real power is positive for any real exponent, in particular the supplied p.
Corresponding Lean step
refine ⟨fun x hx => Real.rpow_pos_of_pos (hf.pos (x := x) hx) p, ?_⟩
The two components requested here are the exact clauses of the predicate, not extra hypotheses.
2. Scale the logarithmic concavity inequality by p
Because p is nonnegative, multiplying a concavity inequality by p keeps its direction. Thus p log f is concave on s.
Corresponding Lean step
have hscaled : ConcaveOn ℝ s (fun x => p • Real.log (f x)) := hf.concaveOn_log.smul hp
The .smul API scales an inequality; its nonnegative scalar hypothesis is what preserves the inequality direction.
3. Identify the logarithm of the real power
At positive arguments log(f(x)^p)=p log f(x). Replace the scaled function by this equal logarithm and combine with positivity.
Corresponding Lean step
refine hscaled.congr ?_
intro x hx
simpa [smul_eq_mul] using (Real.log_rpow (hf.pos (x := x) hx) p).symmThe congr operation transfers the geometric property to a function equal on the domain; all needed log identities are justified at positive arguments.
Lean statement · rpow
Braces name inputs Lean can infer, and bracketed classes state the ambient structures listed above. The assumptions before the final colon are inputs; the expression after it is the exact property this declaration establishes. p is a real number, so ^ uses real exponentiation here. Its nonnegative sign is needed to preserve concavity after scaling; it is not needed merely for positivity.
Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.
theorem LogConcaveOn.rpow {E : Type*} [AddCommMonoid E] [Module ℝ E]
{s : Set E} {f : E → ℝ} {p : ℝ}
(hf : LogConcaveOn s f) (hp : 0 ≤ p) :
LogConcaveOn s (fun x => (f x) ^ p)Lean proof · rpow
p is a real number, so ^ uses real exponentiation here. Its nonnegative sign is needed to preserve concavity after scaling; it is not needed merely for positivity.
Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.
theorem LogConcaveOn.rpow {E : Type*} [AddCommMonoid E] [Module ℝ E]
{s : Set E} {f : E → ℝ} {p : ℝ}
(hf : LogConcaveOn s f) (hp : 0 ≤ p) :
LogConcaveOn s (fun x => (f x) ^ p) := by
refine ⟨fun x hx => Real.rpow_pos_of_pos (hf.pos (x := x) hx) p, ?_⟩
have hscaled : ConcaveOn ℝ s (fun x => p • Real.log (f x)) :=
hf.concaveOn_log.smul hp
refine hscaled.congr ?_
intro x hx
simpa [smul_eq_mul] using (Real.log_rpow (hf.pos (x := x) hx) p).symm
/-- Product-domain tensorization: the product of log-concave factors on
convex domains is log-concave on the Cartesian product. -/Scope and omitted-condition boundaries
- No conclusion for negative p is asserted; negative scaling generally changes concavity to convexity.
- This documentation adds no Lean theorem, compilation evidence, source-equivalence verdict, or new source-fidelity certification.
Source and reuse
ASTIS parents called
AutoSamplingTheory.TechnicalLemmas.Geometry.LogConcavity.LogConcaveOn.posAutoSamplingTheory.TechnicalLemmas.Geometry.LogConcavity.LogConcaveOn.concaveOn_log
Mathlib API called (external library)
- Real.rpow_pos_of_pos
- ConcaveOn.smul
- ConcaveOn.congr
- Real.log_rpow
- smul_eq_mul
Mathematical sources
- Existing ASTIS declaration and exact proof — Directly read current local source; no Lean edit or fresh build.
- Existing curated module card — Local API/source-boundary memory; not independent primary textbook verification.
- Real.rpow_pos_of_pos — Exact inspected Mathlib definition or theorem used by this exposition.
- ConcaveOn.smul — Exact inspected Mathlib definition or theorem used by this exposition.
- ConcaveOn.congr — Exact inspected Mathlib definition or theorem used by this exposition.
- Real.log_rpow — Exact inspected Mathlib definition or theorem used by this exposition.
- Existing usage in Tests.Basic — Read-only source example; no test was run.
ASTIS prose is not a quotation or a source-equivalence certificate. Definitions and aliases are explained as constructions, not counted as new mathematical proofs.