Samplinglib
Lean gate not recorded for this source state main · 0e31a3cda412
production module

AutoSamplingTheory.TechnicalLemmas.Probability.KernelInvariance

Read the mathematical statements and proofs in order

2 named declarations scanned from AutoSamplingTheory/TechnicalLemmas/Probability/KernelInvariance.lean.

Imports
Imported by
Placeholder scan
0 declaration(s) flagged
Gate status
Partial

Declarations

theorem AutoSamplingTheory.TechnicalLemmas.Probability.KernelInvariance.invariant_pow Partial Not mapped

Read the complete mathematical statement and proof, with Lean below each

- If `μ` is invariant for the one-step kernel `κ`, then it is invariant for its `n`-step kernel `κ ^ n` for every `n : ℕ`. This is an invariance statement only. It does not assert irreducibility, aperiodicity, convergence from another initial law, or a mixing rate.

theorem invariant_pow {α : Type*} [MeasurableSpace α]
    {κ : Kernel α α} {μ : Measure α}
    (hκ : κ.Invariant μ) (n : ℕ) :
    (κ ^ n).Invariant μ := by
  induction n with
  | zero =>
      change Kernel.id.Invariant μ
      exact Measure.id_comp
  | succ n ih =>
      rw [pow_succ]
      change ((κ ^ n) ∘ₖ κ).Invariant μ
      exact ih.comp hκ

/-- Measure-level form of `invariant_pow`: starting an invariant law and taking
`n` transitions leaves the law unchanged. -/
theorem AutoSamplingTheory.TechnicalLemmas.Probability.KernelInvariance.bind_pow_eq Partial Not mapped

Read the complete mathematical statement and proof, with Lean below each

- Measure-level form of `invariant_pow`: starting an invariant law and taking `n` transitions leaves the law unchanged.

theorem bind_pow_eq {α : Type*} [MeasurableSpace α]
    {κ : Kernel α α} {μ : Measure α}
    (hκ : κ.Invariant μ) (n : ℕ) :
    μ.bind (κ ^ n) = μ :=
  (invariant_pow hκ n).def

end KernelInvariance
end Probability
end TechnicalLemmas
end AutoSamplingTheory