Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

MarkovProcess.Restart.ConditionalMarkov

Definition
MarkovProcessModule_MarkovProcess_Restart_ConditionalMarkov

by WillR · Oct 27, 2026 · Mathlib 0df444a (Lean v4.33.1)

markovprocessmarkovprocess-module-importscope-mainscott-armstrongsource-faithful

Deterministic-time conditional restart on continuous paths

This file specializes the generic conditional-expectation bridge to canonical continuous-path space. The required input is the full future restart identity after restriction to every event in the canonical filtration at the restart time. An unconditional shifted-law identity is only the special case of the input for the whole path space and does not imply the result below.

The theorem is a conditional API: it does not prove its restricted restart-law hypothesis and does not by itself associate a Markov or Hunt process with a transition semigroup.

Complete pinned Lean module MarkovProcess.Restart.ConditionalMarkov by Scott Armstrong (Apache-2.0). Contains the original definitions, instances, theorems and proofs in their original declaration order. Only local MarkovProcess import directives have been rewritten for Prove2Me; source mathematical declarations are unchanged. The bundle must pass Prove2Me's remote compiler before it can be used as a dependency.

Definition code
/-
Copyright (c) 2026 Scott Armstrong. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Armstrong
-/
import Definitions.Def_MarkovProcessModule_MarkovProcess_Restart_ConditionalExpectation
import Definitions.Def_MarkovProcessModule_MarkovProcess_Path_Shift

/-!
# Deterministic-time conditional restart on continuous paths

This file specializes the generic conditional-expectation bridge to canonical continuous-path
space.  The required input is the full future restart identity after restriction to every event in
the canonical filtration at the restart time.  An unconditional shifted-law identity is only the
special case of the input for the whole path space and does not imply the result below.

The theorem is a conditional API: it does not prove its restricted restart-law hypothesis and does
not by itself associate a Markov or Hunt process with a transition semigroup.
-/

open MeasureTheory ProbabilityTheory

namespace MarkovProcess
namespace ContinuousPath

noncomputable section

variable {alpha E : Type*} [TopologicalSpace alpha]
  [MeasurableSpace alpha] [BorelSpace alpha]
  [NormedAddCommGroup E] [NormedSpace Real E] [CompleteSpace E]

/-- An event-restricted whole-future restart identity gives the deterministic-time conditional
Markov formula for every bounded strongly measurable functional of the shifted path. -/
theorem condExp_shift_ae_eq_integral_pathKernel_of_restrict_map
    (Q : Kernel alpha (ContinuousPath alpha)) [IsMarkovKernel Q]
    (x : alpha) (S : NNReal)
    (hRestart : ∀ A : Set (ContinuousPath alpha),
      MeasurableSet[canonicalFiltration (alpha := alpha) S] A →
        ((Q x).restrict A).map (shift S) =
          Kernel.comap Q (coordinateProcess (alpha := alpha) S)
              (measurable_coordinateProcess S) ∘ₘ ((Q x).restrict A))
    (F : ContinuousPath alpha → E) (hF : StronglyMeasurable F)
    (C : Real) (hFC : ∀ eta, ‖F eta‖ ≤ C) :
    (Q x)[fun omega ↦ F (shift S omega)|canonicalFiltration (alpha := alpha) S] =ᵐ[Q x]
      fun omega ↦ ∫ eta, F eta ∂Q (omega S) := by
  let kappa : Kernel (ContinuousPath alpha) (ContinuousPath alpha) :=
    Kernel.comap Q (coordinateProcess (alpha := alpha) S)
      (measurable_coordinateProcess S)
  let : IsMarkovKernel kappa := by
    dsimp only [kappa]
    infer_instance
  have hFm : StronglyMeasurable[canonicalFiltration (alpha := alpha) S]
      (fun omega ↦ ∫ eta, F eta ∂kappa omega) := by
    have hBase : StronglyMeasurable[canonicalFiltration (alpha := alpha) S]
        (fun omega ↦ ∫ eta, F eta ∂Q (omega S)) :=
      hF.integral_kernel.comp_measurable
        (measurable_coordinateProcess_canonicalFiltration S)
    simpa only [kappa, Kernel.comap_apply, coordinateProcess_apply] using hBase
  have h := condExp_comp_ae_eq_integral_kernel_of_restrict_map
    (Q x) kappa (shift S) (measurable_shift_fixed S)
    ((canonicalFiltration (alpha := alpha)).le S)
    (by simpa only [kappa] using hRestart) F hF hFm C hFC
  simpa only [kappa, Kernel.comap_apply, coordinateProcess_apply] using h

end
end ContinuousPath
end MarkovProcess
Source
https://github.com/scottnarmstrong/MarkovProcess/blob/1f8060caa137731fa08029592019eeaf9d997fe5/MarkovProcess/Restart/ConditionalMarkov.lean

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me