Theorem: ProbabilityTheory.kernel.measure_mutuallySingularSetSlice
File: Mathlib/Probability/Kernel/RadonNikodym.lean

tactic: have h_coe : ∀ b, (Real.toNNReal b : ℝ≥0∞) = ENNReal.ofReal b := fun _ ↦ rfl
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
⊢ (η a) (mutuallySingularSetSlice κ η a) = 0
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ (η a) (mutuallySingularSetSlice κ η a) = 0

tactic: suffices withDensity (κ + η) (fun a x ↦ Real.toNNReal
    (1 - rnDerivAux κ (κ + η) a x)) a {x | 1 ≤ rnDerivAux κ (κ + η) a x} = 0 by
  rwa [withDensity_one_sub_rnDerivAux κ η] at this
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ (η a) (mutuallySingularSetSlice κ η a) = 0
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ((withDensity (κ + η) fun a x => ↑(1 - rnDerivAux κ (κ + η) a x).toNNReal) a) {x | 1 ≤ rnDerivAux κ (κ + η) a x} = 0

tactic: simp_rw [h_coe]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ((withDensity (κ + η) fun a x => ↑(1 - rnDerivAux κ (κ + η) a x).toNNReal) a) {x | 1 ≤ rnDerivAux κ (κ + η) a x} = 0
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ((withDensity (κ + η) fun a x => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x)) a)
      {x | 1 ≤ rnDerivAux κ (κ + η) a x} =
    0

tactic: rw [kernel.withDensity_apply', lintegral_eq_zero_iff, EventuallyEq, ae_restrict_iff]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ((withDensity (κ + η) fun a x => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x)) a)
      {x | 1 ≤ rnDerivAux κ (κ + η) a x} =
    0
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a, x ∈ {x | 1 ≤ rnDerivAux κ (κ + η) a x} → ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ MeasurableSet {x | ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x}

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable fun b => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a b)

case hf
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable (Function.uncurry fun a x => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x))

tactic: rotate_left
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a, x ∈ {x | 1 ≤ rnDerivAux κ (κ + η) a x} → ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ MeasurableSet {x | ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x}

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable fun b => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a b)

case hf
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable (Function.uncurry fun a x => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x))
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ MeasurableSet {x | ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x}

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable fun b => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a b)

case hf
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable (Function.uncurry fun a x => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x))

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a, x ∈ {x | 1 ≤ rnDerivAux κ (κ + η) a x} → ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x

tactic: refine ae_of_all _ (fun x hx ↦ ?_)
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a, x ∈ {x | 1 ≤ rnDerivAux κ (κ + η) a x} → ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∈ {x | 1 ≤ rnDerivAux κ (κ + η) a x}
⊢ ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x

tactic: simp only [mem_setOf_eq] at hx
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∈ {x | 1 ≤ rnDerivAux κ (κ + η) a x}
⊢ ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : 1 ≤ rnDerivAux κ (κ + η) a x
⊢ ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x

tactic: simp [hx]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : 1 ≤ rnDerivAux κ (κ + η) a x
⊢ ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x
state_after: no goals

tactic: rwa [withDensity_one_sub_rnDerivAux κ η] at this
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
this :
  ((withDensity (κ + η) fun a x => ↑(1 - rnDerivAux κ (κ + η) a x).toNNReal) a) {x | 1 ≤ rnDerivAux κ (κ + η) a x} = 0
⊢ (η a) (mutuallySingularSetSlice κ η a) = 0
state_after: no goals

tactic: exact (measurable_const.sub
  ((measurable_rnDerivAux _ _).comp measurable_prod_mk_left)).ennreal_ofReal
  (measurableSet_singleton _)
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ MeasurableSet {x | ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) = 0 x}
state_after: no goals

tactic: exact (measurable_const.sub
  ((measurable_rnDerivAux _ _).comp measurable_prod_mk_left)).ennreal_ofReal
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable fun b => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a b)
state_after: no goals

tactic: exact (measurable_const.sub (measurable_rnDerivAux _ _)).ennreal_ofReal
state_before: case hf
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable (Function.uncurry fun a x => ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x))
state_after: no goals