awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) Y κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
t : Set 𝓨
ht : MeasurableSet t
I : Set S
u : Set ((i : (↑I : Type u_1)) → 𝓧 (↑i : S))
hI : I.Countable
hs : MeasurableSet (I.restrict (π := 𝓧) ⁻¹' u)
this :
  ∀ᵐ (a : α) ∂P,
    (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
      HMul.hMul (α := ENNReal) (β := ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
            ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
          ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
aux : ∀ (f : (i : S) → Ω → 𝓧 i), True
h : Countable.{u_1 + 1} (↑I : Type u_1)
a : α
ha :
  ∀ (i : (↑I : Type u_1)),
    ∀ᵐ (ω : Ω) ∂((κ : (a : α) → Measure Ω) a : Measure Ω), Eq (α := 𝓧 (↑i : S)) (X (↑i : S) ω) (X' (↑i : S) ω)
ω : Ω
hω : ∀ (i : (↑I : Type u_1)), Eq (α := 𝓧 (↑i : S)) (X (↑i : S) ω) (X' (↑i : S) ω)
⊢ Eq (α := (i : (↑I : Type u_1)) → 𝓧 (↑i : S)) (fun (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) fun (i : (↑I : Type u_1)) ↦
    X' (↑i : S) ω

Tactic:
simp [hω]
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) Y κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
t : Set 𝓨
ht : MeasurableSet t
I : Set S
u : Set ((i : (↑I : Type u_1)) → 𝓧 (↑i : S))
hI : I.Countable
hs : MeasurableSet (I.restrict (π := 𝓧) ⁻¹' u)
this :
  ∀ᵐ (a : α) ∂P,
    (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
      HMul.hMul (α := ENNReal) (β := ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
            ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
          ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
aux : ∀ (f : (i : S) → Ω → 𝓧 i), True
h_1 : Countable.{u_1 + 1} (↑I : Type u_1)
a : α
ha :
  ∀ (i : (↑I : Type u_1)),
    ∀ᵐ (ω : Ω) ∂((κ : (a : α) → Measure Ω) a : Measure Ω), Eq (α := 𝓧 (↑i : S)) (X (↑i : S) ω) (X' (↑i : S) ω)
h :
  ∀ (a : Ω),
    Membership.mem (γ := Set Ω)
      {x : Ω |
        Membership.mem (γ := Set Ω)
            {x : Ω | (fun (a : Ω) ↦ ∀ (i : (↑I : Type u_1)), Eq (α := 𝓧 (↑i : S)) (X (↑i : S) a) (X' (↑i : S) a)) x} x →
          Membership.mem (γ := Set Ω)
            {x : Ω |
              (fun (x : Ω) ↦
                  Eq (α := (i : (↑I : Type u_1)) → 𝓧 (↑i : S))
                    ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ (X (↑i : S) ω : 𝓧 (↑i : S))) x)
                    ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ (X' (↑i : S) ω : 𝓧 (↑i : S))) x))
                x}
            x}
      a
h₁ h₂ :
  ∀ (ω : Ω) (hω : ∀ (i : (↑I : Type u_1)), Eq (α := 𝓧 (↑i : S)) (X (↑i : S) ω) (X' (↑i : S) ω)),
    Eq (α := (i : (↑I : Type u_1)) → 𝓧 (↑i : S)) (fun (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) fun (i : (↑I : Type u_1)) ↦
      X' (↑i : S) ω
⊢ (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β := (i : (↑I : Type u_1)) → 𝓧 (↑i : S))
    (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω

Tactic:
filter_upwards [ae_all_iff.2 ha] with ω hω using by simp [hω]

Premises used: Iff.mpr, MeasureTheory.ae_all_iff
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) Y κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
t : Set 𝓨
ht : MeasurableSet t
I : Set S
u : Set ((i : (↑I : Type u_1)) → 𝓧 (↑i : S))
hI : I.Countable
hs : MeasurableSet (I.restrict (π := 𝓧) ⁻¹' u)
this :
  ∀ᵐ (a : α) ∂P,
    (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
      HMul.hMul (α := ENNReal) (β := ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
            ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
          ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
aux : ∀ (f : (i : S) → Ω → 𝓧 i), True
h : Countable.{u_1 + 1} (↑I : Type u_1)
⊢ ∀ᵐ (a : α) ∂P,
    (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β :=
      (i : (↑I : Type u_1)) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω)
      fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω

Tactic:
have h : ∀ᵐ a ∂P, (fun ω (i : I) ↦ X i ω) =ᵐ[κ a] (fun ω (i : I) ↦ X' i ω) := by
    filter_upwards [ae_all_iff.2 fun (i : I) ↦ h2 i] with
      a (ha : ∀ (i : I), ∀ᵐ ω ∂κ a, X i ω = X' i ω)
    filter_upwards [ae_all_iff.2 ha] with ω hω using by simp [hω]
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) Y κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
t : Set 𝓨
ht : MeasurableSet t
I : Set S
u : Set ((i : (↑I : Type u_1)) → 𝓧 (↑i : S))
hI : I.Countable
hs : MeasurableSet (I.restrict (π := 𝓧) ⁻¹' u)
this :
  ∀ᵐ (a : α) ∂P,
    (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
      HMul.hMul (α := ENNReal) (β := ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
            ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
          ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
aux : ∀ (f : (i : S) → Ω → 𝓧 i), True
h_1 : Countable.{u_1 + 1} (↑I : Type u_1)
h :
  ∀ᵐ (a : α) ∂P,
    (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β :=
      (i : (↑I : Type u_1)) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω)
      fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
a : α
ha1 :
  (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
      ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
    HMul.hMul (α := ENNReal) (β := ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
          ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
        ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
ha2 :
  (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β := (i : (↑I : Type u_1)) → 𝓧 (↑i : S))
    (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
⊢ (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
      ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
    HMul.hMul (α := ENNReal) (β := ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
          ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω) ⁻¹' u) :
        ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)

Tactic:
.trans (measure_congr (ae_eq_set_inter (ha2.symm.preimage _) .rfl)) (ha1.trans ?_)

Premises used: MeasureTheory.measure_congr, Filter.EventuallyEq.preimage, MeasureTheory.ae_eq_set_inter, Filter.EventuallyEq.rfl, Filter.EventuallyEq.symm, Eq.trans
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) Y κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
t : Set 𝓨
ht : MeasurableSet t
I : Set S
u : Set ((i : (↑I : Type u_1)) → 𝓧 (↑i : S))
hI : I.Countable
hs : MeasurableSet (I.restrict (π := 𝓧) ⁻¹' u)
this :
  ∀ᵐ (a : α) ∂P,
    (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
      HMul.hMul (α := ENNReal) (β := ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
            ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
          ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
aux : ∀ (f : (i : S) → Ω → 𝓧 i), True
h_1 : Countable.{u_1 + 1} (↑I : Type u_1)
h :
  ∀ᵐ (a : α) ∂P,
    (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β :=
      (i : (↑I : Type u_1)) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω)
      fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
a : α
ha1 :
  (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
      ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
    HMul.hMul (α := ENNReal) (β := ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
          ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
        ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
ha2 :
  (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β := (i : (↑I : Type u_1)) → 𝓧 (↑i : S))
    (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
h₁ :
  Eq (α := ENNReal)
    ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
      ENNReal)
    ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω) ⁻¹' u) :
      ENNReal)
⊢ HMul.hMul (α := ENNReal) (β := ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
          ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
        ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal) =
    HMul.hMul (α := ENNReal) (β := ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
          ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω) ⁻¹' u) :
        ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)

Tactic:
congr 1
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) Y κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
t : Set 𝓨
ht : MeasurableSet t
I : Set S
u : Set ((i : (↑I : Type u_1)) → 𝓧 (↑i : S))
hI : I.Countable
hs : MeasurableSet (I.restrict (π := 𝓧) ⁻¹' u)
this :
  ∀ᵐ (a : α) ∂P,
    (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
      HMul.hMul (α := ENNReal) (β := ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
            ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
          ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
aux : ∀ (f : (i : S) → Ω → 𝓧 i), True
h_1 : Countable.{u_1 + 1} (↑I : Type u_1)
h :
  ∀ᵐ (a : α) ∂P,
    (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β :=
      (i : (↑I : Type u_1)) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω)
      fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
a : α
ha1 :
  (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
      ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
    HMul.hMul (α := ENNReal) (β := ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
          ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
        ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
ha2 :
  (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β := (i : (↑I : Type u_1)) → 𝓧 (↑i : S))
    (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
⊢ Eq (α := ENNReal)
    ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
      ENNReal)
    ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω) ⁻¹' u) :
      ENNReal)

Tactic:
measure_congr (ha2.preimage _)

Premises used: MeasureTheory.measure_congr, Filter.EventuallyEq.preimage
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) Y κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
t : Set 𝓨
ht : MeasurableSet t
I : Set S
u : Set ((i : (↑I : Type u_1)) → 𝓧 (↑i : S))
hI : I.Countable
hs : MeasurableSet (I.restrict (π := 𝓧) ⁻¹' u)
this :
  ∀ᵐ (a : α) ∂P,
    (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
      HMul.hMul (α := ENNReal) (β := ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
            ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
          ENNReal)
        ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
aux : ∀ (f : (i : S) → Ω → 𝓧 i), True
h_1 : Countable.{u_1 + 1} (↑I : Type u_1)
h :
  ∀ᵐ (a : α) ∂P,
    (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β :=
      (i : (↑I : Type u_1)) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω)
      fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
a : α
ha1 :
  (((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
      ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u ∩ Y ⁻¹' t) =
    HMul.hMul (α := ENNReal) (β := ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
          ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
        ENNReal)
      ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal) (Y ⁻¹' t) : ENNReal)
ha2 :
  (ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)).EventuallyEq (β := (i : (↑I : Type u_1)) → 𝓧 (↑i : S))
    (fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω
⊢ Eq (α := ENNReal)
    ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X (↑i : S) ω) ⁻¹' u) :
      ENNReal)
    ((((κ : (a : α) → Measure Ω) a : Measure Ω) : (a : Set Ω) → ENNReal)
        ((fun (ω : Ω) (i : (↑I : Type u_1)) ↦ X' (↑i : S) ω) ⁻¹' u) :
      ENNReal)

Tactic:
exact measure_congr (ha2.preimage _)

Premises used: MeasureTheory.measure_congr, Filter.EventuallyEq.preimage
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X X' : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
h1 : IndepFun (γ := (i : S) → 𝓧 i) Y (fun (ω : Ω) (i : S) ↦ X i ω) κ P
h2 : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
⊢ IndepFun (γ := (i : S) → 𝓧 i) Y (fun (ω : Ω) (i : S) ↦ X' i ω) κ P

Tactic:
(h1.symm.process_congr_left h2).symm

Premises used: ProbabilityTheory.Kernel.IndepFun.process_congr_left, ProbabilityTheory.Kernel.IndepFun.symm
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
T : Type u_2
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : T → Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : (j : T) → MeasurableSpace (𝓨 j)
X X' : (i : S) → Ω → 𝓧 i
Y Y' : (j : T) → Ω → 𝓨 j
hXY : IndepFun (β := (i : S) → 𝓧 i) (γ := (j : T) → 𝓨 j) (fun (ω : Ω) (i : S) ↦ X i ω) (fun (ω : Ω) (j : T) ↦ Y j ω) κ P
hX : ∀ (i : S), ∀ᵐ (a : α) ∂P, X i =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] X' i
hY : ∀ (j : T), ∀ᵐ (a : α) ∂P, Y j =ᶠ[ae (F := Measure Ω) ((κ : (a : α) → Measure Ω) a : Measure Ω)] Y' j
⊢ IndepFun (β := (i : S) → 𝓧 i) (γ := (j : T) → 𝓨 j) (fun (ω : Ω) (i : S) ↦ X' i ω) (fun (ω : Ω) (j : T) ↦ Y' j ω) κ P

Tactic:
(hXY.process_congr_right hY).process_congr_left hX

Premises used: ProbabilityTheory.Kernel.IndepFun.process_congr_left, ProbabilityTheory.Kernel.IndepFun.process_congr_right
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
hX : ∀ (i : S), Measurable (X i)
hY : Measurable Y
h : ∀ (I : Finset S), IndepFun (β := (i : ↥I) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : ↥I) ↦ X (↑i : S) ω) Y κ P
inst_2 : IsZeroOrMarkovKernel κ
πX : Set (Set Ω) :=
  {s : Set Ω |
    ∃ (t : Set ((i : S) → 𝓧 i)),
      Membership.mem (γ := Set (Set ((i : S) → 𝓧 i)))
          (squareCylinders (α := 𝓧) fun (i : S) ↦ {s : Set (𝓧 i) | MeasurableSet s}) t ∧
        (fun (ω : Ω) (i : S) ↦ X i ω) ⁻¹' t = s}
⊢ ∀ (i : S), Membership.mem (γ := Set (Set (𝓧 i))) {s : Set (𝓧 i) | MeasurableSet s} univ

Tactic:
simp
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
hX : ∀ (i : S), Measurable (X i)
hY : Measurable Y
h : ∀ (I : Finset S), IndepFun (β := (i : ↥I) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : ↥I) ↦ X (↑i : S) ω) Y κ P
inst_2 : IsZeroOrMarkovKernel κ
πX : Set (Set Ω) :=
  {s : Set Ω |
    ∃ (t : Set ((i : S) → 𝓧 i)),
      Membership.mem (γ := Set (Set ((i : S) → 𝓧 i)))
          (squareCylinders (α := 𝓧) fun (i : S) ↦ {s : Set (𝓧 i) | MeasurableSet s}) t ∧
        (fun (ω : Ω) (i : S) ↦ X i ω) ⁻¹' t = s}
⊢ IsPiSystem πX

Tactic:
have πX_pi : IsPiSystem πX :=
    IsPiSystem.comap (isPiSystem_squareCylinders (fun _ ↦ isPiSystem_measurableSet) (by simp)) _
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
hX : ∀ (i : S), Measurable (X i)
hY : Measurable Y
h : ∀ (I : Finset S), IndepFun (β := (i : ↥I) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : ↥I) ↦ X (↑i : S) ω) Y κ P
inst_2 : IsZeroOrMarkovKernel κ
πX : Set (Set Ω) :=
  {s : Set Ω |
    ∃ (t : Set ((i : S) → 𝓧 i)),
      Membership.mem (γ := Set (Set ((i : S) → 𝓧 i)))
          (squareCylinders (α := 𝓧) fun (i : S) ↦ {s : Set (𝓧 i) | MeasurableSet s}) t ∧
        (fun (ω : Ω) (i : S) ↦ X i ω) ⁻¹' t = s}
πX_pi : IsPiSystem πX
rw :
  generateFrom
      (image (α := Set ((i : S) → 𝓧 i)) (preimage fun (ω : Ω) (i : S) ↦ X i ω)
        (squareCylinders (α := 𝓧) fun (i : S) ↦ {s : Set (𝓧 i) | MeasurableSet s})) =
    generateFrom πX
⊢ MeasurableSpace.comap (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) (MeasurableSpace.pi (X := 𝓧)) =
    generateFrom πX

Tactic:
rw [generateFrom_squareCylinders.symm, MeasurableSpace.comap_generateFrom]

Premises used: MeasureTheory.generateFrom_squareCylinders, Eq.symm, MeasurableSpace.comap_generateFrom
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
hX : ∀ (i : S), Measurable (X i)
hY : Measurable Y
h : ∀ (I : Finset S), IndepFun (β := (i : ↥I) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : ↥I) ↦ X (↑i : S) ω) Y κ P
inst_2 : IsZeroOrMarkovKernel κ
πX : Set (Set Ω) :=
  {s : Set Ω |
    ∃ (t : Set ((i : S) → 𝓧 i)),
      Membership.mem (γ := Set (Set ((i : S) → 𝓧 i)))
          (squareCylinders (α := 𝓧) fun (i : S) ↦ {s : Set (𝓧 i) | MeasurableSet s}) t ∧
        (fun (ω : Ω) (i : S) ↦ X i ω) ⁻¹' t = s}
πX_pi : IsPiSystem πX
⊢ generateFrom
      (image (α := Set ((i : S) → 𝓧 i)) (preimage fun (ω : Ω) (i : S) ↦ X i ω)
        (squareCylinders (α := 𝓧) fun (i : S) ↦ {s : Set (𝓧 i) | MeasurableSet s})) =
    generateFrom πX

Tactic:
rfl
-- Module: Mathlib.Probability.Independence.Process.Basic
Goal:
S : Type u_1
Ω : Type u_3
mΩ : MeasurableSpace Ω
α : Type u_4
mα : MeasurableSpace α
κ : Kernel α Ω
P : Measure α
𝓧 : S → Type u_5
𝓨 : Type u_6
inst : (i : S) → MeasurableSpace (𝓧 i)
inst_1 : MeasurableSpace 𝓨
X : (i : S) → Ω → 𝓧 i
Y : Ω → 𝓨
hX : ∀ (i : S), Measurable (X i)
hY : Measurable Y
h : ∀ (I : Finset S), IndepFun (β := (i : ↥I) → 𝓧 (↑i : S)) (fun (ω : Ω) (i : ↥I) ↦ X (↑i : S) ω) Y κ P
inst_2 : IsZeroOrMarkovKernel κ
πX : Set (Set Ω) :=
  {s : Set Ω |
    ∃ (t : Set ((i : S) → 𝓧 i)),
      Membership.mem (γ := Set (Set ((i : S) → 𝓧 i)))
          (squareCylinders (α := 𝓧) fun (i : S) ↦ {s : Set (𝓧 i) | MeasurableSet s}) t ∧
        (fun (ω : Ω) (i : S) ↦ X i ω) ⁻¹' t = s}
πX_pi : IsPiSystem πX
⊢ MeasurableSpace.comap (β := (i : S) → 𝓧 i) (fun (ω : Ω) (i : S) ↦ X i ω) (MeasurableSpace.pi (X := 𝓧)) =
    generateFrom πX

Tactic:
have πX_gen : (MeasurableSpace.pi.comap fun ω i ↦ X i ω) = generateFrom πX := by
    rw [generateFrom_squareCylinders.symm, MeasurableSpace.comap_generateFrom]
    rfl