Theorem: MeasureTheory.memℒp_re_im_iff
File: Mathlib/MeasureTheory/Function/LpSpace.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
⊢ Memℒp (fun x => RCLike.re (f x)) p μ ∧ Memℒp (fun x => RCLike.im (f x)) p μ ↔ Memℒp f p μ
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
⊢ Memℒp (fun x => RCLike.re (f x)) p μ ∧ Memℒp (fun x => RCLike.im (f x)) p μ → Memℒp f p μ
tactic: refine ⟨?_, fun hf => ⟨hf.re, hf.im⟩⟩
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
⊢ Memℒp (fun x => RCLike.re (f x)) p μ ∧ Memℒp (fun x => RCLike.im (f x)) p μ → Memℒp f p μ
state_after: case intro
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
hre : Memℒp (fun x => RCLike.re (f x)) p μ
him : Memℒp (fun x => RCLike.im (f x)) p μ
⊢ Memℒp f p μ
tactic: rintro ⟨hre, him⟩
state_before: case intro
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
hre : Memℒp (fun x => RCLike.re (f x)) p μ
him : Memℒp (fun x => RCLike.im (f x)) p μ
⊢ Memℒp f p μ
state_after: case h.e'_5
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
hre : Memℒp (fun x => RCLike.re (f x)) p μ
him : Memℒp (fun x => RCLike.im (f x)) p μ
⊢ f = (fun x => ↑(RCLike.re (f x))) + fun x => RCLike.I * ↑(RCLike.im (f x))
tactic: convert MeasureTheory.Memℒp.add (E := K) hre.ofReal (him.ofReal.const_mul RCLike.I)
state_before: case h.e'_5
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
hre : Memℒp (fun x => RCLike.re (f x)) p μ
him : Memℒp (fun x => RCLike.im (f x)) p μ
⊢ f = (fun x => ↑(RCLike.re (f x))) + fun x => RCLike.I * ↑(RCLike.im (f x))
state_after: case h.e'_5.h
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
hre : Memℒp (fun x => RCLike.re (f x)) p μ
him : Memℒp (fun x => RCLike.im (f x)) p μ
x : α
⊢ f x = ((fun x => ↑(RCLike.re (f x))) + fun x => RCLike.I * ↑(RCLike.im (f x))) x
tactic: ext1 x
state_before: case h.e'_5.h
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
𝕜 : Type u_5
inst✝³ : NontriviallyNormedField 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
K : Type u_6
inst✝ : RCLike K
f : α → K
hre : Memℒp (fun x => RCLike.re (f x)) p μ
him : Memℒp (fun x => RCLike.im (f x)) p μ
x : α
⊢ f x = ((fun x => ↑(RCLike.re (f x))) + fun x => RCLike.I * ↑(RCLike.im (f x))) x
state_after: no goals
tactic: rw [Pi.add_apply, mul_comm, RCLike.re_add_im]