Theorem: ProbabilityTheory.StieltjesFunction.measurable_measure
File: Mathlib/Probability/Kernel/Disintegration/CdfToKernel.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
⊢ Measurable fun a => (f a).measure
state_after: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
⊢ Measurable fun b => (f b).measure s
tactic: refine Measure.measurable_measure.mpr fun s hs ↦ ?_
state_before: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
⊢ Measurable fun b => (f b).measure s
state_after: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
this : ∀ (a : α), IsProbabilityMeasure (f a).measure
⊢ Measurable fun b => (f b).measure s
tactic: have : ∀ a, IsProbabilityMeasure (f a).measure :=
    fun a ↦ (f a).isProbabilityMeasure (hf_bot a) (hf_top a)
state_before: α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
this : ∀ (a : α), IsProbabilityMeasure (f a).measure
⊢ Measurable fun b => (f b).measure s
state_after: case refine_1
α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
this : ∀ (a : α), IsProbabilityMeasure (f a).measure
⊢ (fun s => Measurable fun b => (f b).measure s) ∅

case refine_2
α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
this : ∀ (a : α), IsProbabilityMeasure (f a).measure
⊢ ∀ t ∈ range Iic, (fun s => Measurable fun b => (f b).measure s) t

case refine_3
α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
this : ∀ (a : α), IsProbabilityMeasure (f a).measure
⊢ ∀ (t : Set ℝ),
    MeasurableSet t →
      (fun s => Measurable fun b => (f b).measure s) t → (fun s => Measurable fun b => (f b).measure s) tᶜ

case refine_4
α : Type u_1
β : Type u_2
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ✝ : Kernel α (β × ℝ)
ν✝ : Kernel α β
x✝ : MeasurableSpace β
f✝ : α × β → StieltjesFunction
κ : Kernel α (β × ℝ)
ν : Kernel α β
f : α → StieltjesFunction
hf : ∀ (q : ℝ), Measurable fun a => ↑(f a) q
hf_bot : ∀ (a : α), Tendsto (↑(f a)) atBot (𝓝 0)
hf_top : ∀ (a : α), Tendsto (↑(f a)) atTop (𝓝 1)
s : Set ℝ
hs : MeasurableSet s
this : ∀ (a : α), IsProbabilityMeasure (f a).measure
⊢ ∀ (f_1 : ℕ → Set ℝ),
    Pairwise (Disjoint on f_1) →
      (∀ (i : ℕ), MeasurableSet (f_1 i)) →
        (∀ (i : ℕ), (fun s => Measurable fun b => (f b).measure s) (f_1 i)) →
          (fun s => Measurable fun b => (f b).measure s) (⋃ i, f_1 i)
tactic: refine MeasurableSpace.induction_on_inter
    (C := fun s ↦ Measurable fun b ↦ StieltjesFunction.measure (f b) s)
    (borel_eq_generateFrom_Iic ℝ) isPiSystem_Iic ?_ ?_ ?_ ?_ hs