Theorem: ContinuousOn.aestronglyMeasurable
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

tactic: borelize β
state_before: α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
⊢ AEStronglyMeasurable f (Measure.restrict μ s)

tactic: refine'
  aestronglyMeasurable_iff_aemeasurable_separable.2
    ⟨hf.aemeasurable hs, f '' s, _,
      mem_of_superset (self_mem_ae_restrict hs) (subset_preimage_image _ _)⟩
state_before: α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
⊢ AEStronglyMeasurable f (Measure.restrict μ s)

tactic: cases h.out
state_before: α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
⊢ IsSeparable (f '' s)

tactic: let f' : s → β := s.restrict f
state_before: case inl
α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
h✝ : SecondCountableTopology α
⊢ IsSeparable (f '' s)

tactic: have A : Continuous f' := continuousOn_iff_continuous_restrict.1 hf
state_before: case inl
α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
h✝ : SecondCountableTopology α
f' : ↑s → β := Set.restrict s f
⊢ IsSeparable (f '' s)

tactic: have B : IsSeparable (univ : Set s) := isSeparable_of_separableSpace _
state_before: case inl
α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
h✝ : SecondCountableTopology α
f' : ↑s → β := Set.restrict s f
A : Continuous f'
⊢ IsSeparable (f '' s)

tactic: convert IsSeparable.image B A using 1
state_before: case inl
α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
h✝ : SecondCountableTopology α
f' : ↑s → β := Set.restrict s f
A : Continuous f'
B : IsSeparable univ
⊢ IsSeparable (f '' s)

tactic: ext x
state_before: case h.e'_3
α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
h✝ : SecondCountableTopology α
f' : ↑s → β := Set.restrict s f
A : Continuous f'
B : IsSeparable univ
⊢ f '' s = f' '' univ

tactic: simp
state_before: case h.e'_3.h
α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
h✝ : SecondCountableTopology α
f' : ↑s → β := Set.restrict s f
A : Continuous f'
B : IsSeparable univ
x : β
⊢ x ∈ f '' s ↔ x ∈ f' '' univ

tactic: exact isSeparable_of_separableSpace _
state_before: case inr
α : Type u_1
β : Type u_2
E : Type ?u.1903104
F : Type ?u.1903107
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
h : SecondCountableTopologyEither α β
inst✝¹ : OpensMeasurableSpace α
inst✝ : PseudoMetrizableSpace β
f : α → β
s : Set α
μ : MeasureTheory.Measure α
hf : ContinuousOn f s
hs : MeasurableSet s
this✝¹ : MeasurableSpace β := borel β
this✝ : BorelSpace β
h✝ : SecondCountableTopology β
⊢ IsSeparable (f '' s)