Theorem: MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_mk
File: Mathlib/Probability/Kernel/CondDistrib.lean

tactic: refine ⟨fun x => hf.mk f x.2, hf.stronglyMeasurable_mk.comp_measurable measurable_snd, ?_⟩
state_before: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
⊢ AEStronglyMeasurable (fun x => f x.2) (Measure.map (fun ω => (X ω, ω)) μ)
state_after: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
⊢ (fun x => f x.2) =ᶠ[ae (Measure.map (fun ω => (X ω, ω)) μ)] fun x => AEStronglyMeasurable.mk f hf x.2

tactic: suffices h : Measure.QuasiMeasurePreserving Prod.snd (μ.map fun ω ↦ (X ω, ω)) μ from
  Measure.QuasiMeasurePreserving.ae_eq h hf.ae_eq_mk
state_before: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
⊢ (fun x => f x.2) =ᶠ[ae (Measure.map (fun ω => (X ω, ω)) μ)] fun x => AEStronglyMeasurable.mk f hf x.2
state_after: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
⊢ Measure.QuasiMeasurePreserving Prod.snd (Measure.map (fun ω => (X ω, ω)) μ) μ

tactic: refine ⟨measurable_snd, Measure.AbsolutelyContinuous.mk fun s hs hμs => ?_⟩
state_before: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
⊢ Measure.QuasiMeasurePreserving Prod.snd (Measure.map (fun ω => (X ω, ω)) μ) μ
state_after: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ (Measure.map Prod.snd (Measure.map (fun ω => (X ω, ω)) μ)) s = 0

tactic: rw [Measure.map_apply _ hs]
state_before: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ (Measure.map Prod.snd (Measure.map (fun ω => (X ω, ω)) μ)) s = 0
state_after: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0

α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ Measurable Prod.snd

tactic: swap
state_before: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0

α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ Measurable Prod.snd
state_after: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ Measurable Prod.snd

α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0

tactic: by_cases hX : AEMeasurable X μ
state_before: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0
state_after: case pos
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0

case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : ¬AEMeasurable X μ
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0

tactic: exact measurable_snd
state_before: α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
⊢ Measurable Prod.snd
state_after: no goals

tactic: rw [Measure.map_apply_of_aemeasurable]
state_before: case pos
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0
state_after: case pos
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ μ ((fun ω => (X ω, ω)) ⁻¹' (Prod.snd ⁻¹' s)) = 0

case pos.hf
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ AEMeasurable (fun ω => (X ω, ω)) μ

case pos.hs
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ MeasurableSet (Prod.snd ⁻¹' s)

tactic: rw [← univ_prod, mk_preimage_prod, preimage_univ, univ_inter, preimage_id']
state_before: case pos
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ μ ((fun ω => (X ω, ω)) ⁻¹' (Prod.snd ⁻¹' s)) = 0
state_after: case pos
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ μ s = 0

tactic: exact hμs
state_before: case pos
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ μ s = 0
state_after: no goals

tactic: exact hX.prod_mk aemeasurable_id
state_before: case pos.hf
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ AEMeasurable (fun ω => (X ω, ω)) μ
state_after: no goals

tactic: exact measurable_snd hs
state_before: case pos.hs
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable X μ
⊢ MeasurableSet (Prod.snd ⁻¹' s)
state_after: no goals

tactic: rw [Measure.map_of_not_aemeasurable]
state_before: case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : ¬AEMeasurable X μ
⊢ (Measure.map (fun ω => (X ω, ω)) μ) (Prod.snd ⁻¹' s) = 0
state_after: case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : ¬AEMeasurable X μ
⊢ 0 (Prod.snd ⁻¹' s) = 0

case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : ¬AEMeasurable X μ
⊢ ¬AEMeasurable (fun ω => (X ω, ω)) μ

tactic: simp
state_before: case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : ¬AEMeasurable X μ
⊢ 0 (Prod.snd ⁻¹' s) = 0
state_after: no goals

tactic: contrapose! hX
state_before: case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : ¬AEMeasurable X μ
⊢ ¬AEMeasurable (fun ω => (X ω, ω)) μ
state_after: case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable (fun ω => (X ω, ω)) μ
⊢ AEMeasurable X μ

tactic: exact measurable_fst.comp_aemeasurable hX
state_before: case neg
α : Type u_1
β : Type u_2
Ω✝ : Type u_3
F✝ : Type u_4
inst✝⁵ : MeasurableSpace Ω✝
inst✝⁴ : StandardBorelSpace Ω✝
inst✝³ : Nonempty Ω✝
inst✝² : NormedAddCommGroup F✝
mα : MeasurableSpace α
μ✝ : Measure α
inst✝¹ : IsFiniteMeasure μ✝
X✝ : α → β
Y : α → Ω✝
mβ : MeasurableSpace β
s✝ : Set Ω✝
t : Set β
f✝ : β × Ω✝ → F✝
Ω : Type u_5
F : Type u_6
mΩ : MeasurableSpace Ω
X : Ω → β
μ : Measure Ω
inst✝ : TopologicalSpace F
f : Ω → F
hf : AEStronglyMeasurable f μ
s : Set Ω
hs : MeasurableSet s
hμs : μ s = 0
hX : AEMeasurable (fun ω => (X ω, ω)) μ
⊢ AEMeasurable X μ
state_after: no goals