Theorem: aestronglyMeasurable_indicator_iff
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

tactic: constructor
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
⊢ AEStronglyMeasurable (indicator s f) μ ↔ AEStronglyMeasurable f (Measure.restrict μ s)

tactic: intro h
state_before: case mp
α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
⊢ AEStronglyMeasurable (indicator s f) μ → AEStronglyMeasurable f (Measure.restrict μ s)

tactic: exact (h.mono_measure Measure.restrict_le_self).congr (indicator_ae_eq_restrict hs)
state_before: case mp
α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
h : AEStronglyMeasurable (indicator s f) μ
⊢ AEStronglyMeasurable f (Measure.restrict μ s)

tactic: intro h
state_before: case mpr
α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
⊢ AEStronglyMeasurable f (Measure.restrict μ s) → AEStronglyMeasurable (indicator s f) μ

tactic: refine' ⟨indicator s (h.mk f), h.stronglyMeasurable_mk.indicator hs, _⟩
state_before: case mpr
α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
h : AEStronglyMeasurable f (Measure.restrict μ s)
⊢ AEStronglyMeasurable (indicator s f) μ

tactic: have A : s.indicator f =ᵐ[μ.restrict s] s.indicator (h.mk f) :=
  (indicator_ae_eq_restrict hs).trans (h.ae_eq_mk.trans <| (indicator_ae_eq_restrict hs).symm)
state_before: case mpr
α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
h : AEStronglyMeasurable f (Measure.restrict μ s)
⊢ indicator s f =ᶠ[ae μ] indicator s (AEStronglyMeasurable.mk f h)

tactic: have B : s.indicator f =ᵐ[μ.restrict (sᶜ)] s.indicator (h.mk f) :=
  (indicator_ae_eq_restrict_compl hs).trans (indicator_ae_eq_restrict_compl hs).symm
state_before: case mpr
α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
h : AEStronglyMeasurable f (Measure.restrict μ s)
A : indicator s f =ᶠ[ae (Measure.restrict μ s)] indicator s (AEStronglyMeasurable.mk f h)
⊢ indicator s f =ᶠ[ae μ] indicator s (AEStronglyMeasurable.mk f h)

tactic: exact ae_of_ae_restrict_of_ae_restrict_compl _ A B
state_before: case mpr
α : Type u_2
β : Type u_1
γ : Type ?u.339024
ι : Type ?u.339027
inst✝³ : Countable ι
m : MeasurableSpace α
μ : Measure α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
f g : α → β
inst✝ : Zero β
s : Set α
hs : MeasurableSet s
h : AEStronglyMeasurable f (Measure.restrict μ s)
A : indicator s f =ᶠ[ae (Measure.restrict μ s)] indicator s (AEStronglyMeasurable.mk f h)
B : indicator s f =ᶠ[ae (Measure.restrict μ (sᶜ))] indicator s (AEStronglyMeasurable.mk f h)
⊢ indicator s f =ᶠ[ae μ] indicator s (AEStronglyMeasurable.mk f h)