Theorem: MeasureTheory.Measure.pi_map_piCongrLeft
File: Mathlib/MeasureTheory/Constructions/Pi.lean

tactic: let e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) :=
  MeasurableEquiv.piCongrLeft (fun i ↦ β i) e
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
⊢ map (⇑(MeasurableEquiv.piCongrLeft (fun i => β i) e)) (Measure.pi fun i => μ (e i)) = Measure.pi μ
state_after: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
⊢ map (⇑(MeasurableEquiv.piCongrLeft (fun i => β i) e)) (Measure.pi fun i => μ (e i)) = Measure.pi μ

tactic: refine Measure.pi_eq (fun s _ ↦ ?_) |>.symm
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
⊢ map (⇑(MeasurableEquiv.piCongrLeft (fun i => β i) e)) (Measure.pi fun i => μ (e i)) = Measure.pi μ
state_after: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
⊢ (map (⇑(MeasurableEquiv.piCongrLeft (fun i => β i) e)) (Measure.pi fun i => μ (e i))) (univ.pi s) =
    ∏ i : ι', (μ i) (s i)

tactic: rw [e_meas.measurableEmbedding.map_apply]
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
⊢ (map (⇑(MeasurableEquiv.piCongrLeft (fun i => β i) e)) (Measure.pi fun i => μ (e i))) (univ.pi s) =
    ∏ i : ι', (μ i) (s i)
state_after: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
⊢ (Measure.pi fun i => μ (e i)) (⇑e_meas ⁻¹' univ.pi s) = ∏ i : ι', (μ i) (s i)

tactic: let s' : (i : ι) → Set (β (e i)) := fun i ↦ s (e i)
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
⊢ (Measure.pi fun i => μ (e i)) (⇑e_meas ⁻¹' univ.pi s) = ∏ i : ι', (μ i) (s i)
state_after: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
⊢ (Measure.pi fun i => μ (e i)) (⇑e_meas ⁻¹' univ.pi s) = ∏ i : ι', (μ i) (s i)

tactic: have : e_meas ⁻¹' pi univ s = pi univ s' := by
  ext x
  simp only [mem_preimage, Set.mem_pi, mem_univ, forall_true_left, s']
  refine (e.forall_congr ?_).symm
  intro i
  rw [MeasurableEquiv.piCongrLeft_apply_apply e x i]
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
⊢ (Measure.pi fun i => μ (e i)) (⇑e_meas ⁻¹' univ.pi s) = ∏ i : ι', (μ i) (s i)
state_after: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
⊢ (Measure.pi fun i => μ (e i)) (⇑e_meas ⁻¹' univ.pi s) = ∏ i : ι', (μ i) (s i)

tactic: rw [this, pi_pi, Finset.prod_equiv e.symm]
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
⊢ (Measure.pi fun i => μ (e i)) (⇑e_meas ⁻¹' univ.pi s) = ∏ i : ι', (μ i) (s i)
state_after: case hst
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
⊢ ∀ (i : ι'), i ∈ Finset.univ ↔ e.symm i ∈ Finset.univ

case hfg
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
⊢ ∀ i ∈ Finset.univ, (μ i) (s i) = (μ (e (e.symm i))) (s' (e.symm i))

tactic: intro i _
state_before: case hfg
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
⊢ ∀ i ∈ Finset.univ, (μ i) (s i) = (μ (e (e.symm i))) (s' (e.symm i))
state_after: case hfg
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ (μ i) (s i) = (μ (e (e.symm i))) (s' (e.symm i))

tactic: simp only [s']
state_before: case hfg
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ (μ i) (s i) = (μ (e (e.symm i))) (s' (e.symm i))
state_after: case hfg
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ (μ i) (s i) = (μ (e (e.symm i))) (s (e (e.symm i)))

tactic: congr
state_before: case hfg
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ (μ i) (s i) = (μ (e (e.symm i))) (s (e (e.symm i)))
state_after: case hfg.h.e_1.h.e_1.e_a
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_1.h.e_2.e_1
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_2.e_α.e_a
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_3
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ HEq (fun x => ℝ≥0∞) fun x => ℝ≥0∞

case hfg.h.e_4.e_1.e_a
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_4.e_2.e_1
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_5.e_1
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_6
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ HEq (s i) (s (e (e.symm i)))

tactic: all_goals rw [e.apply_symm_apply]
state_before: case hfg.h.e_1.h.e_1.e_a
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_1.h.e_2.e_1
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_2.e_α.e_a
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_3
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ HEq (fun x => ℝ≥0∞) fun x => ℝ≥0∞

case hfg.h.e_4.e_1.e_a
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_4.e_2.e_1
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_5.e_1
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ i = e (e.symm i)

case hfg.h.e_6
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ HEq (s i) (s (e (e.symm i)))
state_after: no goals

tactic: ext x
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
⊢ ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
state_after: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
⊢ x ∈ ⇑e_meas ⁻¹' univ.pi s ↔ x ∈ univ.pi s'

tactic: simp only [mem_preimage, Set.mem_pi, mem_univ, forall_true_left, s']
state_before: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
⊢ x ∈ ⇑e_meas ⁻¹' univ.pi s ↔ x ∈ univ.pi s'
state_after: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
⊢ (∀ (i : ι'), e_meas x i ∈ s i) ↔ ∀ (i : ι), x i ∈ s (e i)

tactic: refine (e.forall_congr ?_).symm
state_before: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
⊢ (∀ (i : ι'), e_meas x i ∈ s i) ↔ ∀ (i : ι), x i ∈ s (e i)
state_after: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
⊢ ∀ (a : ι), x a ∈ s (e a) ↔ e_meas x (e a) ∈ s (e a)

tactic: intro i
state_before: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
⊢ ∀ (a : ι), x a ∈ s (e a) ↔ e_meas x (e a) ∈ s (e a)
state_after: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
i : ι
⊢ x i ∈ s (e i) ↔ e_meas x (e i) ∈ s (e i)

tactic: rw [MeasurableEquiv.piCongrLeft_apply_apply e x i]
state_before: case h
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
x : (b : ι) → β (e b)
i : ι
⊢ x i ∈ s (e i) ↔ e_meas x (e i) ∈ s (e i)
state_after: no goals

tactic: simp only [Finset.mem_univ, implies_true]
state_before: case hst
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
⊢ ∀ (i : ι'), i ∈ Finset.univ ↔ e.symm i ∈ Finset.univ
state_after: no goals

tactic: rw [e.apply_symm_apply]
state_before: case hfg.h.e_6
ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ✝ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ✝ i)
hι' : Fintype ι'
e : ι ≃ ι'
β : ι' → Type u_4
inst✝¹ : (i : ι') → MeasurableSpace (β i)
μ : (i : ι') → Measure (β i)
inst✝ : ∀ (i : ι'), SigmaFinite (μ i)
e_meas : ((b : ι) → β (e b)) ≃ᵐ ((a : ι') → β a) := MeasurableEquiv.piCongrLeft (fun i => β i) e
s : (i : ι') → Set (β i)
x✝ : ∀ (i : ι'), MeasurableSet (s i)
s' : (i : ι) → Set (β (e i)) := fun i => s (e i)
this : ⇑e_meas ⁻¹' univ.pi s = univ.pi s'
i : ι'
a✝ : i ∈ Finset.univ
⊢ HEq (s i) (s (e (e.symm i)))
state_after: no goals