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

tactic: have h_eq_add := rnDeriv_add_singularPart κ η
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ 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_eq_add : withDensity η (rnDeriv κ η) + singularPart κ η = κ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ a) (mutuallySingularSetSlice κ η a)ᶜ = 0

tactic: simp_rw [ext_iff, Measure.ext_iff] at h_eq_add
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_eq_add : withDensity η (rnDeriv κ η) + singularPart κ η = κ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ 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_eq_add : ∀ (a : α) (s : Set γ), MeasurableSet s → ((withDensity η (rnDeriv κ η) + singularPart κ η) a) s = (κ a) s
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ a) (mutuallySingularSetSlice κ η a)ᶜ = 0

tactic: specialize h_eq_add a (mutuallySingularSetSlice κ η a)ᶜ
  (measurableSet_mutuallySingularSetSlice κ η a).compl
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_eq_add : ∀ (a : α) (s : Set γ), MeasurableSet s → ((withDensity η (rnDeriv κ η) + singularPart κ η) a) s = (κ a) s
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ 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_eq_add :
  ((withDensity η (rnDeriv κ η) + singularPart κ η) a) (mutuallySingularSetSlice κ η a)ᶜ =
    (κ a) (mutuallySingularSetSlice κ η a)ᶜ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ a) (mutuallySingularSetSlice κ η a)ᶜ = 0

tactic: simp only [coeFn_add, Pi.add_apply, Measure.coe_add,
  singularPart_compl_mutuallySingularSetSlice κ η, add_zero] at h_eq_add
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_eq_add :
  ((withDensity η (rnDeriv κ η) + singularPart κ η) a) (mutuallySingularSetSlice κ η a)ᶜ =
    (κ a) (mutuallySingularSetSlice κ η a)ᶜ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ 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_eq_add : ((withDensity η (rnDeriv κ η)) a) (mutuallySingularSetSlice κ η a)ᶜ = (κ a) (mutuallySingularSetSlice κ η a)ᶜ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ a) (mutuallySingularSetSlice κ η a)ᶜ = 0

tactic: rw [← h_eq_add]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_eq_add : ((withDensity η (rnDeriv κ η)) a) (mutuallySingularSetSlice κ η a)ᶜ = (κ a) (mutuallySingularSetSlice κ η a)ᶜ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (κ 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_eq_add : ((withDensity η (rnDeriv κ η)) a) (mutuallySingularSetSlice κ η a)ᶜ = (κ a) (mutuallySingularSetSlice κ η a)ᶜ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ ((withDensity η (rnDeriv κ η)) a) (mutuallySingularSetSlice κ η a)ᶜ = 0

tactic: exact withDensity_rnDeriv_eq_zero_iff_apply_eq_zero κ η a
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h_eq_add : ((withDensity η (rnDeriv κ η)) a) (mutuallySingularSetSlice κ η a)ᶜ = (κ a) (mutuallySingularSetSlice κ η a)ᶜ
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ ((withDensity η (rnDeriv κ η)) a) (mutuallySingularSetSlice κ η a)ᶜ = 0
state_after: no goals