Plain-English statement
If a nonnegative-time semigroup preserves its generator domain, its integrated pairing has the declared right derivative, and the generator has zero mean throughout that domain, then the measure is invariant on that domain.
Mathematical statement
If d/dt integral P_t f dmu = integral A(P_t f) dmu = 0 and P_0 f = f, then integral P_t f dmu = integral f dmu for t >= 0.
Intuition
The expected value along the semigroup orbit has zero right derivative on every finite time interval, so the mean-value theorem makes it constant.
Conditions
- Identity and semigroup laws hold for nonnegative times.
- The semigroup orbit remains in the declared generator domain.
- The integral pairing is continuous and has the stated right derivative.
- The integrated generator vanishes on the entire domain.
Why these conditions cannot be dropped
- Core-level mean-zero is insufficient when the semigroup orbit leaves that core.
- A formal generator formula does not justify differentiating an integral pairing.
- Right derivatives respect the one-sided time domain of a Markov semigroup.
Proof route
- Use domain preservation to apply generator mean-zero at every orbit point.
- Rewrite every supplied right derivative of the pairing as zero.
- Apply Mathlib's constant_of_has_deriv_right_zero on [0,t].
- Use the time-zero identity to obtain invariance.
Lean interface notes
- Time is represented by real numbers, while all semigroup laws are guarded by nonnegativity.
- The theorem proves invariance only on the explicit domain/test class.
- Concrete Langevin semigroup construction and the C_c^2 domain-extension step remain open.
Read the mathematics first, then descend into Lean
You do not need to know Lean before opening this panel. The page keeps the paper-level theorem, rigorous proof obligations, exact Lean declaration, and proof dependencies as separate layers so a first-time reader can move down one layer at a time.
Proof architecture
Start with the tree when learning: prerequisites sit below the theorem and downstream results sit above it. Switch to the network when you want to understand where this declaration lives in the local formal library. Every mapped node is clickable.
Graph rule: only dependencies found by the ASTIS source scan are drawn. Missing tactic indirection is treated as an under-approximation; the site never invents an edge just to make a prettier graph.
How to read the exact Lean declaration
Read a Lean theorem left-to-right exactly as you would unpack a mathematical sentence: name → ambient types → automatically inferred structures → explicit hypotheses → conclusion → proof. Then read the proof top-to-bottom as transformations of the current goal.
- NameWhat reusable mathematical fact is being created?
- ParametersWhich symbols are arbitrary, and which structures are inferred by typeclass search?
- PropositionAfter the colon, translate the Lean expression back into a paper statement.
- Proof actionsAfter
by, ask what each tactic does to the mathematical goal—not only what syntax it uses.
Syntax used on this page
This glossary is filtered to syntax that actually occurs in the declaration above. Open a symbol only when you meet it, rather than memorizing Lean grammar in advance.
Source voice and ASTIS voice stay separate
When Samplinglib shows a short quotation from Chewi, it is labeled as a source excerpt and linked to the canonical book page. Intuition, expanded proof steps, hidden regularity assumptions, and Lean explanations are ASTIS-authored commentary. A quotation never substitutes for a formal proof, and an ASTIS explanation is never attributed to the textbook author.
Lean statement
theorem isInvariantOn_of_integral_generator_eq_zero
{E : Type*} [MeasurableSpace E]
{P : ℝ → (E → ℝ) → E → ℝ}
{generator : (E → ℝ) → E → ℝ}
{domain : Set (E → ℝ)} {μ : Measure E}
(hsemigroup : IntegratedSemigroupGeneratorContract P generator domain μ)
(hgenerator_zero : ∀ f ∈ domain, ∫ x, generator f x ∂μ = 0) :
IsInvariantOn P μ domain := by
intro t ht f hf
have hconstant := constant_of_has_deriv_right_zero
(hsemigroup.pairing_continuousOn t ht f hf) (fun s hs => by
have hs0 : 0 ≤ s := hs.1
simpa [hgenerator_zero (P s f)
(hsemigroup.orbit_mem_domain s hs0 f hf)] using
hsemigroup.pairing_hasDerivWithinAt s hs0 f hf)
have htmem : t ∈ Set.Icc (0 : ℝ) t := ⟨ht, le_rfl⟩
simpa [hsemigroup.map_zero f] using hconstant t htmem
/-- Move a supplied sample-space generator derivative to a named law path.
In SDE applications, `hderiv` is usually the Ito-generator derivative for a
test function composed with a process, while `hDrift` and `hDiffusion` identify
the sample drift and diffusion-generator terms with law-level weak-test
integrals. The lemma proves only the reusable rewrite; it does not construct
the process, conditional drift, or Ito theorem.
-/
Open AutoSamplingTheory/TechnicalLemmas/StochasticProcesses/WeakGenerator.lean:58published source at 7bcd37294df1