Theorem: MeasureTheory.SimpleFunc.setToSimpleFunc_congr'
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
⊢ setToSimpleFunc T (map Prod.fst (f.pair g)) = setToSimpleFunc T (map Prod.snd (f.pair g))
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
⊢ setToSimpleFunc T (map Prod.fst (f.pair g)) = setToSimpleFunc T (map Prod.snd (f.pair g))
tactic: have h_pair : Integrable (f.pair g) μ := integrable_pair hf hg
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
⊢ setToSimpleFunc T (map Prod.fst (f.pair g)) = setToSimpleFunc T (map Prod.snd (f.pair g))
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
⊢ ∑ x ∈ (f.pair g).range, (T (↑(f.pair g) ⁻¹' {x})) x.1 = setToSimpleFunc T (map Prod.snd (f.pair g))
tactic: rw [map_setToSimpleFunc T h_add h_pair Prod.fst_zero]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
⊢ ∑ x ∈ (f.pair g).range, (T (↑(f.pair g) ⁻¹' {x})) x.1 = setToSimpleFunc T (map Prod.snd (f.pair g))
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
⊢ ∑ x ∈ (f.pair g).range, (T (↑(f.pair g) ⁻¹' {x})) x.1 = ∑ x ∈ (f.pair g).range, (T (↑(f.pair g) ⁻¹' {x})) x.2
tactic: rw [map_setToSimpleFunc T h_add h_pair Prod.snd_zero]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
⊢ ∑ x ∈ (f.pair g).range, (T (↑(f.pair g) ⁻¹' {x})) x.1 = ∑ x ∈ (f.pair g).range, (T (↑(f.pair g) ⁻¹' {x})) x.2
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p✝ : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
p : E × E
hp : p ∈ (f.pair g).range
⊢ (T (↑(f.pair g) ⁻¹' {p})) p.1 = (T (↑(f.pair g) ⁻¹' {p})) p.2
tactic: refine Finset.sum_congr rfl fun p hp => ?_
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p✝ : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
p : E × E
hp : p ∈ (f.pair g).range
⊢ (T (↑(f.pair g) ⁻¹' {p})) p.1 = (T (↑(f.pair g) ⁻¹' {p})) p.2
state_after: case intro
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
a : α
hp : ↑(f.pair g) a ∈ (f.pair g).range
⊢ (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).1 = (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).2
tactic: rcases mem_range.1 hp with ⟨a, rfl⟩
state_before: case intro
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
a : α
hp : ↑(f.pair g) a ∈ (f.pair g).range
⊢ (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).1 = (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).2
state_after: case pos
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
a : α
hp : ↑(f.pair g) a ∈ (f.pair g).range
eq : ↑f a = ↑g a
⊢ (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).1 = (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).2

case neg
α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
T : Set α → E →L[ℝ] F
h_add : FinMeasAdditive μ T
f g : α →ₛ E
hf : Integrable (↑f) μ
hg : Integrable (↑g) μ
h : Pairwise fun x y => T (↑f ⁻¹' {x} ∩ ↑g ⁻¹' {y}) = 0
h_pair : Integrable (↑(f.pair g)) μ
a : α
hp : ↑(f.pair g) a ∈ (f.pair g).range
eq : ¬↑f a = ↑g a
⊢ (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).1 = (T (↑(f.pair g) ⁻¹' {↑(f.pair g) a})) (↑(f.pair g) a).2
tactic: by_cases eq : f a = g a