Theorem: ProbabilityTheory.kernel.singularPart_compl_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✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
⊢ ((singularPart κ η) a) (mutuallySingularSetSlice κ η a)ᶜ = 0
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ((singularPart κ η) a) (mutuallySingularSetSlice κ η a)ᶜ = 0

tactic: rw [singularPart, 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✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ((singularPart κ η) a) (mutuallySingularSetSlice κ η a)ᶜ = 0
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a,
    x ∈ (mutuallySingularSetSlice κ η a)ᶜ →
      ↑(rnDerivAux κ (κ + η) a x).toNNReal - ↑(1 - rnDerivAux κ (κ + η) a x).toNNReal * rnDeriv κ η a x = 0 x

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

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

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

tactic: all_goals simp_rw [h_coe]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a,
    x ∈ (mutuallySingularSetSlice κ η a)ᶜ →
      ↑(rnDerivAux κ (κ + η) a x).toNNReal - ↑(1 - rnDerivAux κ (κ + η) a x).toNNReal * rnDeriv κ η a x = 0 x

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

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

case hf
α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable
    (Function.uncurry fun a x =>
      ↑(rnDerivAux κ (κ + η) a x).toNNReal - ↑(1 - rnDerivAux κ (κ + η) a x).toNNReal * rnDeriv κ η a x)
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a,
    x ∈ (mutuallySingularSetSlice κ η a)ᶜ →
      ENNReal.ofReal (rnDerivAux κ (κ + η) a x) - ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) * rnDeriv κ η a x = 0 x

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

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

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

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

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

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

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

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

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

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a,
    x ∈ (mutuallySingularSetSlice κ η a)ᶜ →
      ENNReal.ofReal (rnDerivAux κ (κ + η) a x) - ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) * rnDeriv κ η 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✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ ∀ᵐ (x : γ) ∂(κ + η) a,
    x ∈ (mutuallySingularSetSlice κ η a)ᶜ →
      ENNReal.ofReal (rnDerivAux κ (κ + η) a x) - ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) * rnDeriv κ η a x = 0 x
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∈ (mutuallySingularSetSlice κ η a)ᶜ
⊢ ENNReal.ofReal (rnDerivAux κ (κ + η) a x) - ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) * rnDeriv κ η a x = 0 x

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

tactic: simp_rw [rnDeriv]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ ENNReal.ofReal (rnDerivAux κ (κ + η) a x) - ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) * rnDeriv κ η a x = 0 x
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ ENNReal.ofReal (rnDerivAux κ (κ + η) a x) -
      ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) *
        (ENNReal.ofReal (rnDerivAux κ (κ + η) a x) / ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x)) =
    0 x

tactic: rw [← ENNReal.ofReal_div_of_pos, div_eq_inv_mul, ← ENNReal.ofReal_mul, ← mul_assoc,
  mul_inv_cancel, one_mul, tsub_self]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ ENNReal.ofReal (rnDerivAux κ (κ + η) a x) -
      ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) *
        (ENNReal.ofReal (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✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ 0 = 0 x

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ 1 - rnDerivAux κ (κ + η) a x ≠ 0

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ 0 ≤ 1 - rnDerivAux κ (κ + η) a x

α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ 0 < 1 - rnDerivAux κ (κ + η) a x

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

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

tactic: exact measurable_singularPart_fun_right κ η a
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
⊢ Measurable fun b =>
    ENNReal.ofReal (rnDerivAux κ (κ + η) a b) - ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a b) * rnDeriv κ η a b
state_after: no goals

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

tactic: rfl
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ 0 = 0 x
state_after: no goals

tactic: rw [ne_eq, sub_eq_zero]
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ 1 - rnDerivAux κ (κ + η) a x ≠ 0
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ ¬1 = rnDerivAux κ (κ + η) a x

tactic: rw [not_mem_mutuallySingularSetSlice] at hx
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ ¬1 = rnDerivAux κ (κ + η) a x
state_after: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : rnDerivAux κ (κ + η) a x < 1
⊢ ¬1 = rnDerivAux κ (κ + η) a x

tactic: exact hx.ne'
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : rnDerivAux κ (κ + η) a x < 1
⊢ ¬1 = rnDerivAux κ (κ + η) a x
state_after: no goals

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

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

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

tactic: exact not_le.mp hx
state_before: α : Type u_1
γ : Type u_2
mα : MeasurableSpace α
mγ : MeasurableSpace γ
κ✝ η✝ : ↥(kernel α γ)
hαγ : MeasurableSpace.CountableOrCountablyGenerated α γ
κ η : ↥(kernel α γ)
inst✝¹ : IsSFiniteKernel κ
inst✝ : IsSFiniteKernel η
a : α
h_coe : ∀ (b : ℝ), ↑b.toNNReal = ENNReal.ofReal b
x : γ
hx : x ∉ mutuallySingularSetSlice κ η a
⊢ rnDerivAux κ (κ + η) a x < 1
state_after: no goals