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

tactic: conv_rhs => rw [← rnDeriv_add_singularPart κ η, coeFn_add, Pi.add_apply]
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 ⟂ₘ η a
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
⊢ (withDensity η (rnDeriv κ η)) a = 0 ↔ (withDensity η (rnDeriv κ η)) a + (singularPart κ η) a ⟂ₘ η a

tactic: refine ⟨fun h ↦ ?_, fun h ↦ ?_⟩
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 ↔ (withDensity η (rnDeriv κ η)) a + (singularPart κ η) a ⟂ₘ η a
state_after: case refine_1
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a = 0
⊢ (withDensity η (rnDeriv κ η)) a + (singularPart κ η) a ⟂ₘ η a

case refine_2
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a + (singularPart κ η) a ⟂ₘ η a
⊢ (withDensity η (rnDeriv κ η)) a = 0

tactic: rw [Measure.MutuallySingular.add_left_iff] at h
state_before: case refine_2
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a + (singularPart κ η) a ⟂ₘ η a
⊢ (withDensity η (rnDeriv κ η)) a = 0
state_after: case refine_2
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a ⟂ₘ η a ∧ (singularPart κ η) a ⟂ₘ η a
⊢ (withDensity η (rnDeriv κ η)) a = 0

tactic: rw [← Measure.MutuallySingular.self_iff]
state_before: case refine_2
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a ⟂ₘ η a ∧ (singularPart κ η) a ⟂ₘ η a
⊢ (withDensity η (rnDeriv κ η)) a = 0
state_after: case refine_2
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a ⟂ₘ η a ∧ (singularPart κ η) a ⟂ₘ η a
⊢ (withDensity η (rnDeriv κ η)) a ⟂ₘ (withDensity η (rnDeriv κ η)) a

tactic: exact h.1.mono_ac Measure.AbsolutelyContinuous.rfl
  (withDensity_absolutelyContinuous (κ := η) (rnDeriv κ η) a)
state_before: case refine_2
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a ⟂ₘ η a ∧ (singularPart κ η) a ⟂ₘ η a
⊢ (withDensity η (rnDeriv κ η)) a ⟂ₘ (withDensity η (rnDeriv κ η)) a
state_after: no goals

tactic: rw [h, zero_add]
state_before: case refine_1
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a = 0
⊢ (withDensity η (rnDeriv κ η)) a + (singularPart κ η) a ⟂ₘ η a
state_after: case refine_1
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a = 0
⊢ (singularPart κ η) a ⟂ₘ η a

tactic: exact mutuallySingular_singularPart _ _ _
state_before: case refine_1
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
h : (withDensity η (rnDeriv κ η)) a = 0
⊢ (singularPart κ η) a ⟂ₘ η a
state_after: no goals