awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
h₁ :
  ∀ (x : Ω),
    HMul.hMul (α := ℝ) (∏ i : S, (f i : (a : E i) → ℝ) ((fun (a : S) ↦ X a x, fun (a : T) ↦ Y a x).1 i))
        (∏ j : T, (g j : (a : F j) → ℝ) ((fun (a : S) ↦ X a x, fun (a : T) ↦ Y a x).2 j)) =
      HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
        (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x
h₂ :
  ∀ (x : Ω),
    Eq (α := ℝ) (∏ i : S, (f i : (a : E i) → ℝ) ((fun (a : S) ↦ X a x) i)) ((∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x)
⊢ ∫ (x : Ω),
      HMul.hMul (α := ℝ) (∏ i : S, (f i : (a : E i) → ℝ) ((fun (a : S) ↦ X a x, fun (a : T) ↦ Y a x).1 i))
        (∏ j : T, (g j : (a : F j) → ℝ) ((fun (a : S) ↦ X a x, fun (a : T) ↦ Y a x).2 j)) ∂P =
    HMul.hMul (α := ℝ) (∫ (x : Ω), ∏ i : S, (f i : (a : E i) → ℝ) ((fun (a : S) ↦ X a x) i) ∂P)
      (∫ (x : Ω), ∏ j : T, (g j : (a : F j) → ℝ) ((fun (a : T) ↦ Y a x) j) ∂P)
have h₃ : ∀ (x : Ω),
  Eq (α := ℝ) (∏ j : T, (g j : (a : F j) → ℝ) ((fun (a : T) ↦ Y a x) j)) ((∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x)
Tactic: convert! h f g
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
⊢ Measurable (β := ℝ) fun (y : (j : T) → F j) ↦ ∏ j : T, (g j : (a : F j) → ℝ) (y j)
have funProp : ∀ (i : T), Membership.mem (γ := Finset T) Finset.univ i → inst_5 i ≤ inst_5 i
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
funProp : ∀ (i : T), Membership.mem (γ := Finset T) Finset.univ i → inst_5 i ≤ inst_5 i
⊢ Measurable (β := ℝ) fun (y : (j : T) → F j) ↦ ∏ j : T, (g j : (a : F j) → ℝ) (y j)
have funProp₁ : ∀ (i : T),
  Membership.mem (γ := Finset T) Finset.univ i → MeasurableEmbedding (β := ℝ) fun (a1 : F i) ↦ (g i : (a : F i) → ℝ) a1
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
⊢ Measurable (β := ℝ) fun (x : (i : S) → E i) ↦ ∏ i : S, (f i : (a : E i) → ℝ) (x i)
have funProp : ∀ (i : S), Membership.mem (γ := Finset S) Finset.univ i → inst_1 i ≤ inst_1 i
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
funProp : ∀ (i : S), Membership.mem (γ := Finset S) Finset.univ i → inst_1 i ≤ inst_1 i
⊢ Measurable (β := ℝ) fun (x : (i : S) → E i) ↦ ∏ i : S, (f i : (a : E i) → ℝ) (x i)
have funProp₁ : ∀ (i : S),
  Membership.mem (γ := Finset S) Finset.univ i → MeasurableEmbedding (β := ℝ) fun (a1 : E i) ↦ (f i : (a : E i) → ℝ) a1
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
⊢ Measurable (β := ℝ) fun (p : ((i : S) → E i) × ((j : T) → F j)) ↦
    HMul.hMul (α := ℝ) (∏ i : S, (f i : (a : E i) → ℝ) (p.1 i)) (∏ j : T, (g j : (a : F j) → ℝ) (p.2 j))
have funProp : ∀ (i : S), Membership.mem (γ := Finset S) Finset.univ i → inst_1 i ≤ inst_1 i
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
funProp : ∀ (i : S), Membership.mem (γ := Finset S) Finset.univ i → inst_1 i ≤ inst_1 i
⊢ Measurable (β := ℝ) fun (p : ((i : S) → E i) × ((j : T) → F j)) ↦
    HMul.hMul (α := ℝ) (∏ i : S, (f i : (a : E i) → ℝ) (p.1 i)) (∏ j : T, (g j : (a : F j) → ℝ) (p.2 j))
have funProp₁ : ∀ (i : S),
  Membership.mem (γ := Finset S) Finset.univ i → MeasurableEmbedding (β := ℝ) fun (a1 : E i) ↦ (f i : (a : E i) → ℝ) a1
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
funProp : ∀ (i : S), Membership.mem (γ := Finset S) Finset.univ i → inst_1 i ≤ inst_1 i
funProp₁ :
  ∀ (i : S),
    Membership.mem (γ := Finset S) Finset.univ i →
      MeasurableEmbedding (β := ℝ) fun (a1 : E i) ↦ (f i : (a : E i) → ℝ) a1
⊢ Measurable (β := ℝ) fun (p : ((i : S) → E i) × ((j : T) → F j)) ↦
    HMul.hMul (α := ℝ) (∏ i : S, (f i : (a : E i) → ℝ) (p.1 i)) (∏ j : T, (g j : (a : F j) → ℝ) (p.2 j))
have funProp₂ : ∀ (i : T), Membership.mem (γ := Finset T) Finset.univ i → inst_5 i ≤ inst_5 i
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : Fintype S
inst_9 : Fintype T
inst_10 : IsFiniteMeasure P
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
    ∫ (x : Ω),
        HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
          (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
        (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
f : (i : S) → E i →ᵇ ℝ
g : (j : T) → F j →ᵇ ℝ
funProp : ∀ (i : S), Membership.mem (γ := Finset S) Finset.univ i → inst_1 i ≤ inst_1 i
funProp₁ :
  ∀ (i : S),
    Membership.mem (γ := Finset S) Finset.univ i →
      MeasurableEmbedding (β := ℝ) fun (a1 : E i) ↦ (f i : (a : E i) → ℝ) a1
funProp₂ : ∀ (i : T), Membership.mem (γ := Finset T) Finset.univ i → inst_5 i ≤ inst_5 i
⊢ Measurable (β := ℝ) fun (p : ((i : S) → E i) × ((j : T) → F j)) ↦
    HMul.hMul (α := ℝ) (∏ i : S, (f i : (a : E i) → ℝ) (p.1 i)) (∏ j : T, (g j : (a : F j) → ℝ) (p.2 j))
have funProp₃ : ∀ (i : T),
  Membership.mem (γ := Finset T) Finset.univ i → MeasurableEmbedding (β := ℝ) fun (a1 : F i) ↦ (g i : (a : F i) → ℝ) a1
Tactic: fun_prop
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : IsFiniteMeasure P
inst_9 : Finite S
inst_10 : Finite T
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : ((s : S) → E s) →ᵇ ℝ) (g : ((t : T) → F t) →ᵇ ℝ),
    ∫ (x : Ω),
        (fun (ω : Ω) ↦
            HMul.hMul (α := ℝ) (β := ℝ) ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)
              ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ))
          x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (fun (ω : Ω) ↦ ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)) x ∂P)
        (∫ (x : Ω), (fun (ω : Ω) ↦ ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ)) x ∂P)
⊢ (fun (ω : Ω) (s : S) ↦ X s ω) ⟂ᵢ[P] fun (ω : Ω) (t : T) ↦ Y t ω
have have : ∀ (this : Fintype S), (fun (ω : Ω) (s : S) ↦ X s ω) ⟂ᵢ[P] fun (ω : Ω) (t : T) ↦ Y t ω
Tactic: have := Fintype.ofFinite S
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : IsFiniteMeasure P
inst_9 : Finite S
inst_10 : Finite T
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : ((s : S) → E s) →ᵇ ℝ) (g : ((t : T) → F t) →ᵇ ℝ),
    ∫ (x : Ω),
        (fun (ω : Ω) ↦
            HMul.hMul (α := ℝ) (β := ℝ) ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)
              ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ))
          x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (fun (ω : Ω) ↦ ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)) x ∂P)
        (∫ (x : Ω), (fun (ω : Ω) ↦ ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ)) x ∂P)
this : Fintype S
⊢ (fun (ω : Ω) (s : S) ↦ X s ω) ⟂ᵢ[P] fun (ω : Ω) (t : T) ↦ Y t ω
have have : ∀ (this : Fintype T), (fun (ω : Ω) (s : S) ↦ X s ω) ⟂ᵢ[P] fun (ω : Ω) (t : T) ↦ Y t ω
Tactic: have := Fintype.ofFinite T
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : IsFiniteMeasure P
inst_9 : Finite S
inst_10 : Finite T
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : ((s : S) → E s) →ᵇ ℝ) (g : ((t : T) → F t) →ᵇ ℝ),
    ∫ (x : Ω),
        (fun (ω : Ω) ↦
            HMul.hMul (α := ℝ) (β := ℝ) ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)
              ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ))
          x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (fun (ω : Ω) ↦ ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)) x ∂P)
        (∫ (x : Ω), (fun (ω : Ω) ↦ ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ)) x ∂P)
this_1 : Fintype S
this : Fintype T
⊢ (fun (ω : Ω) (s : S) ↦ X s ω) ⟂ᵢ[P] fun (ω : Ω) (t : T) ↦ Y t ω
have refine : ∀ (f : (s : S) → E s →ᵇ ℝ) (g : (t : T) → F t →ᵇ ℝ),
  ∫ (x : Ω),
      HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
        (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
    HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
      (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
Tactic: refine pi_indepFun_pi_of_prod_bcf mX mY fun f g ↦ ?_
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : IsFiniteMeasure P
inst_9 : Finite S
inst_10 : Finite T
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : ((s : S) → E s) →ᵇ ℝ) (g : ((t : T) → F t) →ᵇ ℝ),
    ∫ (x : Ω),
        (fun (ω : Ω) ↦
            HMul.hMul (α := ℝ) (β := ℝ) ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)
              ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ))
          x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (fun (ω : Ω) ↦ ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)) x ∂P)
        (∫ (x : Ω), (fun (ω : Ω) ↦ ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ)) x ∂P)
this_1 : Fintype S
this : Fintype T
f : (s : S) → E s →ᵇ ℝ
g : (t : T) → F t →ᵇ ℝ
⊢ ∫ (x : Ω),
      HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
        (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
    HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
      (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
have h₁ : ∀ (x x : Ω),
  HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
      (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x =
    HMul.hMul (α := ℝ) (β := ℝ)
      ((∏ s : S, (f s).compContinuous { toFun := Function.eval (β := E) s, continuous_toFun := sorry } :
            (a : (s : S) → E s) → ℝ)
          fun (x_1 : S) ↦ X x_1 x :
        ℝ)
      ((∏ t : T, (g t).compContinuous { toFun := Function.eval (β := F) t, continuous_toFun := sorry } :
            (a : (t : T) → F t) → ℝ)
          fun (x_1 : T) ↦ Y x_1 x :
        ℝ)
Tactic: convert!
    h (∏ s, (f s).compContinuous ⟨Function.eval s, by fun_prop⟩)
      (∏ t, (g t).compContinuous ⟨Function.eval t, by fun_prop⟩)
-- Lean 4 proof step from Mathlib.Probability.Independence.BoundedContinuousFunction (goal)
Goal:
Ω : Type u_1
S : Type u_2
T : Type u_3
mΩ : MeasurableSpace Ω
P : Measure Ω
E : S → Type u_4
F : T → Type u_5
inst : (s : S) → TopologicalSpace (E s)
inst_1 : (s : S) → MeasurableSpace (E s)
inst_2 : ∀ (s : S), BorelSpace.{u_4} (E s)
inst_3 : ∀ (s : S), HasOuterApproxClosed.{u_4} (E s)
inst_4 : (t : T) → TopologicalSpace (F t)
inst_5 : (t : T) → MeasurableSpace (F t)
inst_6 : ∀ (t : T), BorelSpace.{u_5} (F t)
inst_7 : ∀ (t : T), HasOuterApproxClosed.{u_5} (F t)
X : (s : S) → Ω → E s
Y : (t : T) → Ω → F t
inst_8 : IsFiniteMeasure P
inst_9 : Finite S
inst_10 : Finite T
mX : ∀ (s : S), AEMeasurable (X s) P
mY : ∀ (t : T), AEMeasurable (Y t) P
h :
  ∀ (f : ((s : S) → E s) →ᵇ ℝ) (g : ((t : T) → F t) →ᵇ ℝ),
    ∫ (x : Ω),
        (fun (ω : Ω) ↦
            HMul.hMul (α := ℝ) (β := ℝ) ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)
              ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ))
          x ∂P =
      HMul.hMul (α := ℝ) (∫ (x : Ω), (fun (ω : Ω) ↦ ((f : (a : (s : S) → E s) → ℝ) fun (x : S) ↦ X x ω : ℝ)) x ∂P)
        (∫ (x : Ω), (fun (ω : Ω) ↦ ((g : (a : (t : T) → F t) → ℝ) fun (x : T) ↦ Y x ω : ℝ)) x ∂P)
this_1 : Fintype S
this : Fintype T
f : (s : S) → E s →ᵇ ℝ
g : (t : T) → F t →ᵇ ℝ
h₁ :
  ∀ (x x : Ω),
    HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
        (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x =
      HMul.hMul (α := ℝ) (β := ℝ)
        ((∏ s : S, (f s).compContinuous { toFun := Function.eval (β := E) s, continuous_toFun := ⋯ } :
              (a : (s : S) → E s) → ℝ)
            fun (x_1 : S) ↦ X x_1 x :
          ℝ)
        ((∏ t : T, (g t).compContinuous { toFun := Function.eval (β := F) t, continuous_toFun := ⋯ } :
              (a : (t : T) → F t) → ℝ)
            fun (x_1 : T) ↦ Y x_1 x :
          ℝ)
⊢ ∫ (x : Ω),
      HMul.hMul (α := Ω → ℝ) (β := Ω → ℝ) (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s)
        (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P =
    HMul.hMul (α := ℝ) (∫ (x : Ω), (∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x ∂P)
      (∫ (x : Ω), (∏ t : T, (⇑(g t) : (a : F t) → ℝ) ∘ Y t) x ∂P)
have h₂ : ∀ (x x : Ω),
  Eq (α := ℝ) ((∏ s : S, (⇑(f s) : (a : E s) → ℝ) ∘ X s) x : ℝ)
    ((∏ s : S, (f s).compContinuous { toFun := Function.eval (β := E) s, continuous_toFun := sorry } :
          (a : (s : S) → E s) → ℝ)
        fun (x_1 : S) ↦ X x_1 x :
      ℝ)
Tactic: convert!
    h (∏ s, (f s).compContinuous ⟨Function.eval s, by fun_prop⟩)
      (∏ t, (g t).compContinuous ⟨Function.eval t, by fun_prop⟩)