Theorem: integral_piSplitAt_left (ForML/IndexIntegral.lean)

State before:
ι : Type u_1
inst✝¹⁰ : Fintype ι
inst✝⁹ : DecidableEq ι
E : Type u_2
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
mE : MeasureSpace E
inst✝⁶ : SigmaFinite volume
D : ι → Type u_3
inst✝⁵ : (i : ι) → NormedAddCommGroup (D i)
inst✝⁴ : (i : ι) → NormedSpace ℝ (D i)
mD : (i : ι) → MeasureSpace (D i)
inst✝³ : ∀ (i : ι), SigmaFinite volume
F : Type u_4
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
i : ι
f : ((i : ι) → D i) → F
hf : Integrable f
⊢ ∫ (x : (i : ι) → D i), f x = ∫ (u : D i) (x : (j : { j // j ≠ i }) → D ↑j), f ((Equiv.piSplitAt i D).symm (u, x))
Tactic:
rw [integral_piSplitAt i]
State after:
ι : Type u_1
inst✝¹⁰ : Fintype ι
inst✝⁹ : DecidableEq ι
E : Type u_2
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
mE : MeasureSpace E
inst✝⁶ : SigmaFinite volume
D : ι → Type u_3
inst✝⁵ : (i : ι) → NormedAddCommGroup (D i)
inst✝⁴ : (i : ι) → NormedSpace ℝ (D i)
mD : (i : ι) → MeasureSpace (D i)
inst✝³ : ∀ (i : ι), SigmaFinite volume
F : Type u_4
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
i : ι
f : ((i : ι) → D i) → F
hf : Integrable f
⊢ ∫ (p : D i × ((j : { j // j ≠ i }) → D ↑j)), f ((Equiv.piSplitAt i fun i => D i).symm p) =
    ∫ (u : D i) (x : (j : { j // j ≠ i }) → D ↑j), f ((Equiv.piSplitAt i D).symm (u, x))

State before:
ι : Type u_1
inst✝¹⁰ : Fintype ι
inst✝⁹ : DecidableEq ι
E : Type u_2
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
mE : MeasureSpace E
inst✝⁶ : SigmaFinite volume
D : ι → Type u_3
inst✝⁵ : (i : ι) → NormedAddCommGroup (D i)
inst✝⁴ : (i : ι) → NormedSpace ℝ (D i)
mD : (i : ι) → MeasureSpace (D i)
inst✝³ : ∀ (i : ι), SigmaFinite volume
F : Type u_4
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
i : ι
f : ((i : ι) → D i) → F
hf : Integrable f
⊢ ∫ (p : D i × ((j : { j // j ≠ i }) → D ↑j)), f ((Equiv.piSplitAt i fun i => D i).symm p) =
    ∫ (u : D i) (x : (j : { j // j ≠ i }) → D ↑j), f ((Equiv.piSplitAt i D).symm (u, x))
Tactic:
rw [Measure.volume_eq_prod]
State after:
ι : Type u_1
inst✝¹⁰ : Fintype ι
inst✝⁹ : DecidableEq ι
E : Type u_2
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
mE : MeasureSpace E
inst✝⁶ : SigmaFinite volume
D : ι → Type u_3
inst✝⁵ : (i : ι) → NormedAddCommGroup (D i)
inst✝⁴ : (i : ι) → NormedSpace ℝ (D i)
mD : (i : ι) → MeasureSpace (D i)
inst✝³ : ∀ (i : ι), SigmaFinite volume
F : Type u_4
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
i : ι
f : ((i : ι) → D i) → F
hf : Integrable f
⊢ ∫ (p : D i × ((j : { j // j ≠ i }) → D ↑j)), f ((Equiv.piSplitAt i fun i => D i).symm p) ∂Measure.prod volume volume =
    ∫ (u : D i) (x : (j : { j // j ≠ i }) → D ↑j), f ((Equiv.piSplitAt i D).symm (u, x))

State before:
ι : Type u_1
inst✝¹⁰ : Fintype ι
inst✝⁹ : DecidableEq ι
E : Type u_2
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
mE : MeasureSpace E
inst✝⁶ : SigmaFinite volume
D : ι → Type u_3
inst✝⁵ : (i : ι) → NormedAddCommGroup (D i)
inst✝⁴ : (i : ι) → NormedSpace ℝ (D i)
mD : (i : ι) → MeasureSpace (D i)
inst✝³ : ∀ (i : ι), SigmaFinite volume
F : Type u_4
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
i : ι
f : ((i : ι) → D i) → F
hf : Integrable f
⊢ ∫ (p : D i × ((j : { j // j ≠ i }) → D ↑j)), f ((Equiv.piSplitAt i fun i => D i).symm p) ∂Measure.prod volume volume =
    ∫ (u : D i) (x : (j : { j // j ≠ i }) → D ↑j), f ((Equiv.piSplitAt i D).symm (u, x))
Tactic:
rw [integral_prod _ (hf.piSplitAt i)]
State after:
no goals