zzhisthebest/LeanBenchmark huggingface dataset:
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_0.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E] {Ω : Type u_2}
  {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → β} {g : Ω → β'} {F : β × β' → E}
  {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'} [inst_1 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F}
  (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) (hfg : IndepFun f g μ)
  (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' := sorry

Tactic state before:
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
⊢ Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'

Tactic:
exact (ProbabilityTheory.indepFun_iff_map_prod_eq_prod_map_map hf hg).mp hfg

Tactic state after:
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_1.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E]
  [inst_1 : NormedSpace ℝ E] {Ω : Type u_2} {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω}
  {f : Ω → β} {g : Ω → β'} {F : β × β' → E} {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'}
  [inst_2 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ)
  (hfg : IndepFun f g μ) (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∫ (ω : Ω), ∫ (ω' : Ω), F (f ω, g ω') ∂μ ∂μ = ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ →
      (fun a => ∫ (ω' : Ω), F (f a, g ω') ∂μ) =ᶠ[ae μ] fun a => ∫ (x' : β'), F (f a, x') ∂ν' := sorry

Tactic state before:
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
⊢ ∫ (ω : Ω), ∫ (ω' : Ω), F (f ω, g ω') ∂μ ∂μ = ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ

Tactic:
apply integral_congr_ae

Tactic state after:
[case h
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ⊢ (fun a => ∫ (ω' : Ω), F (f a, g ω') ∂μ) =ᶠ[ae μ] fun a => ∫ (x' : β'), F (f a, x') ∂ν']
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_2.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E]
  [inst_1 : NormedSpace ℝ E] {Ω : Type u_2} {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω}
  {f : Ω → β} {g : Ω → β'} {F : β × β' → E} {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'}
  [inst_2 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ)
  (hfg : IndepFun f g μ) (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∀ (ω : Ω),
      ∫ (ω' : Ω), F (f ω, g ω') ∂μ = ∫ (x' : β'), F (f ω, x') ∂ν' →
        ∫ (x' : β'), F (f ω, x') ∂ν' = ∫ (ω' : Ω), F (f ω, g ω') ∂μ := sorry

Tactic state before:
case h.h
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
ω : Ω
⊢ ∫ (ω' : Ω), F (f ω, g ω') ∂μ = ∫ (x' : β'), F (f ω, x') ∂ν'

Tactic:
apply Eq.symm

Tactic state after:
[case h.h.h
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ω : Ω
 ⊢ ∫ (x' : β'), F (f ω, x') ∂ν' = ∫ (ω' : Ω), F (f ω, g ω') ∂μ]
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_3.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E]
  [inst_1 : NormedSpace ℝ E] {Ω : Type u_2} {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω}
  {f : Ω → β} {g : Ω → β'} {F : β × β' → E} {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'}
  [inst_2 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ)
  (hfg : IndepFun f g μ) (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∀ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' = ∫ (ω' : Ω), F (f ω, g ω') ∂μ → AEMeasurable g μ := sorry

Tactic state before:
case h.h.h
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
ω : Ω
⊢ ∫ (x' : β'), F (f ω, x') ∂ν' = ∫ (ω' : Ω), F (f ω, g ω') ∂μ

Tactic:
apply MeasureTheory.integral_map

Tactic state after:
[case h.h.h.hφ
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ω : Ω
 ⊢ AEMeasurable g μ,
 case h.h.h.hfm
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ω : Ω
 ⊢ AEStronglyMeasurable (fun y => F (f ω, y)) (Measure.map g μ)]
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_4.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E]
  [inst_1 : NormedSpace ℝ E] {Ω : Type u_2} {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω}
  {f : Ω → β} {g : Ω → β'} {F : β × β' → E} {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'}
  [inst_2 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ)
  (hfg : IndepFun f g μ) (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∀ (ω : Ω),
      ∫ (x' : β'), F (f ω, x') ∂ν' = ∫ (ω' : Ω), F (f ω, g ω') ∂μ →
        AEStronglyMeasurable (fun y => F (f ω, y)) (Measure.map g μ) := sorry

Tactic state before:
case h.h.h
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
ω : Ω
⊢ ∫ (x' : β'), F (f ω, x') ∂ν' = ∫ (ω' : Ω), F (f ω, g ω') ∂μ

Tactic:
apply MeasureTheory.integral_map

Tactic state after:
[case h.h.h.hφ
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ω : Ω
 ⊢ AEMeasurable g μ,
 case h.h.h.hfm
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ω : Ω
 ⊢ AEStronglyMeasurable (fun y => F (f ω, y)) (Measure.map g μ)]
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_5.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E] {Ω : Type u_2}
  {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → β} {g : Ω → β'} {F : β × β' → E}
  {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'} [inst_1 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F}
  (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) (hfg : IndepFun f g μ)
  (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∀ (ω : Ω),
      AEStronglyMeasurable (fun y => F (f ω, y)) (Measure.map g μ) → StronglyMeasurable fun y => F (f ω, y) := sorry

Tactic state before:
case h.h.h.hfm
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
ω : Ω
⊢ AEStronglyMeasurable (fun y => F (f ω, y)) (Measure.map g μ)

Tactic:
apply StronglyMeasurable.aestronglyMeasurable

Tactic state after:
[case h.h.h.hfm.hf
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ω : Ω
 ⊢ StronglyMeasurable fun y => F (f ω, y)]
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_6.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E] {Ω : Type u_2}
  {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → β} {g : Ω → β'} {F : β × β' → E}
  {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'} [inst_1 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F}
  (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) (hfg : IndepFun f g μ)
  (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∀ (ω : Ω), (StronglyMeasurable fun y => F (f ω, y)) → Measurable (Prod.mk (f ω)) := sorry

Tactic state before:
case h.h.h.hfm.hf
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
ω : Ω
⊢ StronglyMeasurable fun y => F (f ω, y)

Tactic:
apply hF'.comp_measurable

Tactic state after:
[case h.h.h.hfm.hf
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ω : Ω
 ⊢ Measurable (Prod.mk (f ω))]
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_7.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E] {Ω : Type u_2}
  {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω} {f : Ω → β} {g : Ω → β'} {F : β × β' → E}
  {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'} [inst_1 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F}
  (hf : AEMeasurable f μ) (hg : AEMeasurable g μ) (hfg : IndepFun f g μ)
  (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' → ∀ (ω : Ω), Measurable (Prod.mk (f ω)) := sorry

Tactic state before:
case h.h.h.hfm.hf
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
ω : Ω
⊢ Measurable (Prod.mk (f ω))

Tactic:
exact measurable_prodMk_left

Tactic state after:
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_8.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E]
  [inst_1 : NormedSpace ℝ E] {Ω : Type u_2} {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω}
  {f : Ω → β} {g : Ω → β'} {F : β × β' → E} {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'}
  [inst_2 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ)
  (hfg : IndepFun f g μ) (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ = ∫ (x : β), ∫ (x' : β'), F (x, x') ∂ν' ∂ν →
      ∫ (x : β), ∫ (x' : β'), F (x, x') ∂ν' ∂ν = ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ := sorry

Tactic state before:
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
⊢ ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ = ∫ (x : β), ∫ (x' : β'), F (x, x') ∂ν' ∂ν

Tactic:
apply Eq.symm

Tactic state after:
[case h
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ⊢ ∫ (x : β), ∫ (x' : β'), F (x, x') ∂ν' ∂ν = ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ]
import Mathlib
import FoML


open MeasureTheory ProbabilityTheory

theorem extracted_formal_statement_9.{u_4, u_3, u_2, u_1} {E : Type u_1} [inst : NormedAddCommGroup E]
  [inst_1 : NormedSpace ℝ E] {Ω : Type u_2} {β : Type u_3} {β' : Type u_4} {_mΩ : MeasurableSpace Ω} {μ : Measure Ω}
  {f : Ω → β} {g : Ω → β'} {F : β × β' → E} {mβ : MeasurableSpace β} {mβ' : MeasurableSpace β'}
  [inst_2 : IsFiniteMeasure μ] {hF' : StronglyMeasurable F} (hf : AEMeasurable f μ) (hg : AEMeasurable g μ)
  (hfg : IndepFun f g μ) (hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))) :
  let ν := Measure.map f μ;
  let ν' := Measure.map g μ;
  Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν' →
    ∫ (x : β), ∫ (x' : β'), F (x, x') ∂ν' ∂ν = ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ → AEMeasurable f μ := sorry

Tactic state before:
case h
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
Ω : Type u_2
β : Type u_3
β' : Type u_4
_mΩ : MeasurableSpace Ω
μ : Measure Ω
f : Ω → β
g : Ω → β'
F : β × β' → E
mβ : MeasurableSpace β
mβ' : MeasurableSpace β'
inst✝ : IsFiniteMeasure μ
hF' : StronglyMeasurable F
hf : AEMeasurable f μ
hg : AEMeasurable g μ
hfg : IndepFun f g μ
hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
ν : Measure β := Measure.map f μ
ν' : Measure β' := Measure.map g μ
hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
⊢ ∫ (x : β), ∫ (x' : β'), F (x, x') ∂ν' ∂ν = ∫ (ω : Ω), ∫ (x' : β'), F (f ω, x') ∂ν' ∂μ

Tactic:
apply MeasureTheory.integral_map

Tactic state after:
[case h.hφ
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ⊢ AEMeasurable f μ,
 case h.hfm
 E : Type u_1
 inst✝² : NormedAddCommGroup E
 inst✝¹ : NormedSpace ℝ E
 Ω : Type u_2
 β : Type u_3
 β' : Type u_4
 _mΩ : MeasurableSpace Ω
 μ : Measure Ω
 f : Ω → β
 g : Ω → β'
 F : β × β' → E
 mβ : MeasurableSpace β
 mβ' : MeasurableSpace β'
 inst✝ : IsFiniteMeasure μ
 hF' : StronglyMeasurable F
 hf : AEMeasurable f μ
 hg : AEMeasurable g μ
 hfg : IndepFun f g μ
 hF : HasFiniteIntegral F ((Measure.map f μ).prod (Measure.map g μ))
 ν : Measure β := Measure.map f μ
 ν' : Measure β' := Measure.map g μ
 hfg' : Measure.map (fun ω => (f ω, g ω)) μ = ν.prod ν'
 ⊢ AEStronglyMeasurable (fun y => ∫ (x' : β'), F (y, x') ∂ν') (Measure.map f μ)]