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

Proof steps:
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: 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)
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: 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
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: 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)
⊢ (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: 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)
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: 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)
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: rw [this, pi_pi, Finset.prod_equiv e.symm]
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: 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 : ι'
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: 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 (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: congr
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: all_goals rw [e.apply_symm_apply]