Samplinglib
Lean gate not recorded for this source state main · 0e31a3cda412
ASTIS mathematical exposition

Positive log-concavity on a domain

AutoSamplingTheory.TechnicalLemmas.Geometry.LogConcavity.LogConcaveOn · def · Teaching coverage

Statement

Let E be a real module, s⊆E any set, and f:E→ℝ. Define positive log-concavity on s to mean that f is strictly positive at every point of s and log f is concave on s. Concavity includes convexity of s. This definition imposes no condition on f outside s.

\[\operatorname{LC}_s(f)\ :\Longleftrightarrow\ \bigl[\forall x\in s,\ f(x)>0\bigr]\ \land\ \bigl[s\text{ convex and }\forall x,y\in s,\ a,b\ge0,\ a+b=1:\ a\log f(x)+b\log f(y)\le\log f(ax+by)\bigr].\]

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 and f : E → ℝ are arbitrary; positivity and concavity are clauses of the definition, not input hypotheses.
  • {'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.'}

Construction and meaning

1. Require genuine positivity on the domain

The first clause ensures that each logarithm refers to the usual logarithm of a positive real value. This excludes functions that vanish inside s; it does not rely on Lean's totalized value of log at zero or a negative number.

\[\forall x\in s,\quad 0<f(x).\]
Corresponding Lean step

(∀ x ∈ s, 0 < f x)

The identifiers refer to the assumptions or previously proved facts described in this step; the full original proof below supplies their exact context.

2. Require a convex domain and the concavity inequality

The second clause invokes Mathlib's ConcaveOn predicate for x↦log f(x). Its first component says s is convex, and its second is the displayed weighted inequality. Joining both clauses defines the predicate; there is no theorem proof here.

\[x,y\in s,\quad a,b\ge0,\quad a+b=1\ \Longrightarrow\ ax+by\in s,\quad a\log f(x)+b\log f(y)\le\log f(ax+by).\]
Corresponding Lean step

∧ ConcaveOn ℝ s (fun x => Real.log (f x))

The identifiers refer to the assumptions or previously proved facts described in this step; the full original proof below supplies their exact context.

Lean statement · LogConcaveOn

Braces name inputs Lean can infer, and bracketed classes state the ambient structures listed above. This declaration defines a proposition; its two clauses specify what the property means. The result type Prop means this defines a property, not a new function or probability measure. The two sides of ∧ are positivity and concavity of the logarithm.

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.

def LogConcaveOn {E : Type*} [AddCommMonoid E] [Module ℝ E]
    (s : Set E) (f : E → ℝ) : Prop

Exact module and namespace context

Lean construction · LogConcaveOn

The result type Prop means this defines a property, not a new function or probability measure. The two sides of ∧ are positivity and concavity of the logarithm.

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.

def LogConcaveOn {E : Type*} [AddCommMonoid E] [Module ℝ E]
    (s : Set E) (f : E → ℝ) : Prop :=
  (∀ x ∈ s, 0 < f x) ∧ ConcaveOn ℝ s (fun x => Real.log (f x))

Exact module and namespace context

Scope and omitted-condition boundaries

  • This convention is stricter than a nonnegative extended-log definition allowing zeros on the domain. No equivalence with that broader convention is asserted.
  • The domain may be empty; convexity and pointwise requirements then hold vacuously.
  • This documentation adds no Lean theorem, compilation evidence, source-equivalence verdict, or new source-fidelity certification.

Source and reuse

ASTIS parents called

    Mathlib API called (external library)

    • ConcaveOn
    • Real.log

    Mathematical sources

    ASTIS prose is not a quotation or a source-equivalence certificate. Definitions and aliases are explained as constructions, not counted as new mathematical proofs.