Theorem: stronglyMeasurable_deriv_with_param
File: Mathlib/Analysis/Calculus/FDeriv/Measurable.lean

tactic: borelize F
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2
state_after: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2

tactic: rcases h.out with hα|hF
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2
state_after: case inl
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2

case inr
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hF : SecondCountableTopology F
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2

tactic: have : ProperSpace 𝕜 := .of_locallyCompactSpace 𝕜
state_before: case inl
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2
state_after: case inl
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2

tactic: apply stronglyMeasurable_iff_measurable_separable.2 ⟨measurable_deriv_with_param hf, ?_⟩
state_before: case inl
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2
state_after: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
⊢ IsSeparable (range fun p => deriv (f p.1) p.2)

tactic: have : range (fun (p : α × 𝕜) ↦ deriv (f p.1) p.2)
    ⊆ closure (Submodule.span 𝕜 (range f.uncurry)) := by
  rintro - ⟨p, rfl⟩
  have A : deriv (f p.1) p.2 ∈ closure (Submodule.span 𝕜 (range (f p.1))) := by
    rw [← image_univ]
    apply range_deriv_subset_closure_span_image _ dense_univ (mem_range_self _)
  have B : range (f p.1) ⊆ range (f.uncurry) := by
    rintro - ⟨x, rfl⟩
    exact mem_range_self (p.1, x)
  exact closure_mono (Submodule.span_mono B) A
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
⊢ IsSeparable (range fun p => deriv (f p.1) p.2)
state_after: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝² : MeasurableSpace F := borel F
this✝¹ : BorelSpace F
hα : SecondCountableTopology α
this✝ : ProperSpace 𝕜
this : (range fun p => deriv (f p.1) p.2) ⊆ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))
⊢ IsSeparable (range fun p => deriv (f p.1) p.2)

tactic: exact (isSeparable_range hf).span.closure.mono this
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝² : MeasurableSpace F := borel F
this✝¹ : BorelSpace F
hα : SecondCountableTopology α
this✝ : ProperSpace 𝕜
this : (range fun p => deriv (f p.1) p.2) ⊆ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))
⊢ IsSeparable (range fun p => deriv (f p.1) p.2)
state_after: no goals

tactic: rintro - ⟨p, rfl⟩
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
⊢ (range fun p => deriv (f p.1) p.2) ⊆ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))
state_after: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
⊢ (fun p => deriv (f p.1) p.2) p ∈ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))

tactic: have A : deriv (f p.1) p.2 ∈ closure (Submodule.span 𝕜 (range (f p.1))) := by
  rw [← image_univ]
  apply range_deriv_subset_closure_span_image _ dense_univ (mem_range_self _)
state_before: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
⊢ (fun p => deriv (f p.1) p.2) p ∈ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))
state_after: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
A : deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
⊢ (fun p => deriv (f p.1) p.2) p ∈ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))

tactic: have B : range (f p.1) ⊆ range (f.uncurry) := by
  rintro - ⟨x, rfl⟩
  exact mem_range_self (p.1, x)
state_before: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
A : deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
⊢ (fun p => deriv (f p.1) p.2) p ∈ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))
state_after: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
A : deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
B : range (f p.1) ⊆ range (Function.uncurry f)
⊢ (fun p => deriv (f p.1) p.2) p ∈ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))

tactic: exact closure_mono (Submodule.span_mono B) A
state_before: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
A : deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
B : range (f p.1) ⊆ range (Function.uncurry f)
⊢ (fun p => deriv (f p.1) p.2) p ∈ closure ↑(Submodule.span 𝕜 (range (Function.uncurry f)))
state_after: no goals

tactic: rw [← image_univ]
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
⊢ deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
state_after: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
⊢ deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (f p.1 '' univ))

tactic: apply range_deriv_subset_closure_span_image _ dense_univ (mem_range_self _)
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
⊢ deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (f p.1 '' univ))
state_after: no goals

tactic: rintro - ⟨x, rfl⟩
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
A : deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
⊢ range (f p.1) ⊆ range (Function.uncurry f)
state_after: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
A : deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
x : 𝕜
⊢ f p.1 x ∈ range (Function.uncurry f)

tactic: exact mem_range_self (p.1, x)
state_before: case intro
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hα : SecondCountableTopology α
this : ProperSpace 𝕜
p : α × 𝕜
A : deriv (f p.1) p.2 ∈ closure ↑(Submodule.span 𝕜 (range (f p.1)))
x : 𝕜
⊢ f p.1 x ∈ range (Function.uncurry f)
state_after: no goals

tactic: exact (measurable_deriv_with_param hf).stronglyMeasurable
state_before: case inr
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
inst✝¹¹ : LocallyCompactSpace E
F : Type u_3
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
α : Type u_4
inst✝⁸ : TopologicalSpace α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace E
inst✝⁵ : OpensMeasurableSpace α
inst✝⁴ : OpensMeasurableSpace E
f✝ : α → E → F
K : Set (E →L[𝕜] F)
inst✝³ : CompleteSpace F
inst✝² : LocallyCompactSpace 𝕜
inst✝¹ : MeasurableSpace 𝕜
inst✝ : OpensMeasurableSpace 𝕜
h : SecondCountableTopologyEither α F
f : α → 𝕜 → F
hf : Continuous (Function.uncurry f)
this✝¹ : MeasurableSpace F := borel F
this✝ : BorelSpace F
hF : SecondCountableTopology F
⊢ StronglyMeasurable fun p => deriv (f p.1) p.2
state_after: no goals