|
| 1 | +/- |
| 2 | +Copyright (c) 2025 Lua Viana Reis. All rights reserved. |
| 3 | +Released under Apache 2.0 license as described in the file LICENSE. |
| 4 | +Authors: Lua Viana Reis |
| 5 | +-/ |
| 6 | + |
| 7 | +import Mathlib |
| 8 | + |
| 9 | +variable {α β : Type*} [m : MeasurableSpace α] [MeasurableSpace β] {f : α → α} (hf : Measurable f) |
| 10 | + |
| 11 | +open MeasureTheory MeasurableSpace ProbabilityTheory Kernel |
| 12 | + |
| 13 | +def MarkovColimit (_ : α → α) := α |
| 14 | + |
| 15 | +instance : MeasurableSpace (MarkovColimit f) := invariants (m := m) f |
| 16 | + |
| 17 | +variable (f) in |
| 18 | +noncomputable def markovColimit : Kernel α (MarkovColimit f) := |
| 19 | + deterministic id (measurable_id'' <| invariants_le f) |
| 20 | + |
| 21 | +lemma markovColimit_invariant : |
| 22 | + markovColimit f ∘ₖ deterministic _ hf = markovColimit f := by |
| 23 | + sorry |
| 24 | + |
| 25 | +section IsColimit |
| 26 | + |
| 27 | +variable (k : Kernel α β) (hk : k ∘ₖ deterministic _ hf = k) |
| 28 | + |
| 29 | +def markovColimit_desc : Kernel (MarkovColimit f) β := by |
| 30 | + sorry |
| 31 | + |
| 32 | +theorem markovColimit_fac : markovColimit_desc ∘ₖ markovColimit f = k := by |
| 33 | + sorry |
| 34 | + |
| 35 | +def markovColimit_uniq (k : Kernel α β) (hk : k ∘ₖ deterministic _ hf = k) : |
| 36 | + Kernel (MarkovColimit f) β := by |
| 37 | + sorry |
| 38 | + |
| 39 | +end IsColimit |
| 40 | + |
| 41 | +noncomputable section Decomposition |
| 42 | + |
| 43 | +variable (f : α → α) (μ : Measure α) (hμ : MeasurePreserving f μ μ) [IsFiniteMeasure μ] |
| 44 | + [StandardBorelSpace α] [Nonempty α] |
| 45 | + |
| 46 | +def foo : Kernel Unit (MarkovColimit f × α) := |
| 47 | + (markovColimit f ×ₖ Kernel.id) ∘ₖ const Unit μ |
| 48 | + |
| 49 | +instance : IsFiniteKernel (β := MarkovColimit f × α) (foo f μ) := by |
| 50 | + rw [foo, markovColimit] |
| 51 | + infer_instance |
| 52 | + |
| 53 | +def bar : Kernel (MarkovColimit f) α := |
| 54 | + Kernel.condKernel (foo f μ) ∘ₖ Kernel.deterministic ((), ·) (by fun_prop) |
| 55 | + |
| 56 | + |
| 57 | +end Decomposition |
| 58 | + |
| 59 | +#check invariants |
| 60 | + |
| 61 | +#check Measure.condKernel |
0 commit comments