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

tactic: ext a s hs
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
⊢ withDensity η (rnDeriv κ η) + singularPart κ η = κ
state_after: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
⊢ ((withDensity η (rnDeriv κ η) + singularPart κ η) a) s = (κ a) s

tactic: rw [← inter_union_diff s (mutuallySingularSetSlice κ η a)]
state_before: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
⊢ ((withDensity η (rnDeriv κ η) + singularPart κ η) a) s = (κ a) s
state_after: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
⊢ ((withDensity η (rnDeriv κ η) + singularPart κ η) a)
      (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a)

tactic: simp only [coeFn_add, Pi.add_apply, Measure.coe_add]
state_before: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
⊢ ((withDensity η (rnDeriv κ η) + singularPart κ η) a)
      (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a)
state_after: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
⊢ ((withDensity η (rnDeriv κ η)) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) +
      ((singularPart κ η) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a)

tactic: have hm := measurableSet_mutuallySingularSetSlice κ η a
state_before: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
⊢ ((withDensity η (rnDeriv κ η)) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) +
      ((singularPart κ η) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a)
state_after: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
hm : MeasurableSet (mutuallySingularSetSlice κ η a)
⊢ ((withDensity η (rnDeriv κ η)) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) +
      ((singularPart κ η) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a)

tactic: simp only [measure_union (Disjoint.mono inter_subset_right subset_rfl disjoint_sdiff_right)
  (hs.diff hm)]
state_before: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
hm : MeasurableSet (mutuallySingularSetSlice κ η a)
⊢ ((withDensity η (rnDeriv κ η)) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) +
      ((singularPart κ η) a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a ∪ s \ mutuallySingularSetSlice κ η a)
state_after: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
hm : MeasurableSet (mutuallySingularSetSlice κ η a)
⊢ ((withDensity η (rnDeriv κ η)) a) (s ∩ mutuallySingularSetSlice κ η a) +
        ((withDensity η (rnDeriv κ η)) a) (s \ mutuallySingularSetSlice κ η a) +
      (((singularPart κ η) a) (s ∩ mutuallySingularSetSlice κ η a) +
        ((singularPart κ η) a) (s \ mutuallySingularSetSlice κ η a)) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a) + (κ a) (s \ mutuallySingularSetSlice κ η a)

tactic: rw [singularPart_of_subset_mutuallySingularSetSlice (hs.inter hm) inter_subset_right,
  singularPart_of_subset_compl_mutuallySingularSetSlice (diff_subset_iff.mpr (by simp)),
  add_zero, withDensity_rnDeriv_of_subset_mutuallySingularSetSlice inter_subset_right,
  zero_add, withDensity_rnDeriv_of_subset_compl_mutuallySingularSetSlice (hs.diff hm)
    (diff_subset_iff.mpr (by simp)), add_comm]
state_before: case h.h
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
hm : MeasurableSet (mutuallySingularSetSlice κ η a)
⊢ ((withDensity η (rnDeriv κ η)) a) (s ∩ mutuallySingularSetSlice κ η a) +
        ((withDensity η (rnDeriv κ η)) a) (s \ mutuallySingularSetSlice κ η a) +
      (((singularPart κ η) a) (s ∩ mutuallySingularSetSlice κ η a) +
        ((singularPart κ η) a) (s \ mutuallySingularSetSlice κ η a)) =
    (κ a) (s ∩ mutuallySingularSetSlice κ η a) + (κ a) (s \ mutuallySingularSetSlice κ η a)
state_after: no goals

tactic: simp
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsFiniteKernel κ
inst✝ : IsFiniteKernel η
a : α
s : Set γ
hs : MeasurableSet s
hm : MeasurableSet (mutuallySingularSetSlice κ η a)
⊢ s ⊆ mutuallySingularSetSlice κ η a ∪ (mutuallySingularSetSlice κ η a)ᶜ
state_after: no goals