Theorem: lp.sum_rpow_le_of_tendsto
File: Mathlib/Analysis/NormedSpace/lpSpace.lean

tactic: have hp' : p ≠ 0 := (zero_lt_one.trans_le _i.elim).ne'
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
⊢ ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C ^ ENNReal.toReal p

tactic: have hp'' : 0 < p.toReal := ENNReal.toReal_pos hp' hp
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
⊢ ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C ^ ENNReal.toReal p

tactic: let G : (∀ a, E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ p.toReal
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
⊢ ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C ^ ENNReal.toReal p

tactic: have hG : Continuous G := by
  refine' continuous_finset_sum s _
  intro a _
  have : Continuous fun f : ∀ a, E a => f a := continuous_apply a
  exact this.norm.rpow_const fun _ => Or.inr hp''.le
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
⊢ ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C ^ ENNReal.toReal p

tactic: refine' le_of_tendsto (hG.continuousAt.tendsto.comp hf) _
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
hG : Continuous G
⊢ ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C ^ ENNReal.toReal p

tactic: refine' hCF.mono _
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
hG : Continuous G
⊢ ∀ᶠ (c : ι) in l, (G ∘ id fun i => ↑(F i)) c ≤ C ^ ENNReal.toReal p

tactic: intro k hCFk
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
hG : Continuous G
⊢ ∀ (x : ι), ‖F x‖ ≤ C → (G ∘ id fun i => ↑(F i)) x ≤ C ^ ENNReal.toReal p

tactic: refine' (lp.sum_rpow_le_norm_rpow hp'' (F k) s).trans _
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
hG : Continuous G
k : ι
hCFk : ‖F k‖ ≤ C
⊢ (G ∘ id fun i => ↑(F i)) k ≤ C ^ ENNReal.toReal p

tactic: exact Real.rpow_le_rpow (norm_nonneg _) hCFk hp''.le
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
hG : Continuous G
k : ι
hCFk : ‖F k‖ ≤ C
⊢ ‖F k‖ ^ ENNReal.toReal p ≤ C ^ ENNReal.toReal p

tactic: refine' continuous_finset_sum s _
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
⊢ Continuous G

tactic: intro a _
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
⊢ ∀ (i : α), i ∈ s → Continuous fun f => ‖f i‖ ^ ENNReal.toReal p

tactic: have : Continuous fun f : ∀ a, E a => f a := continuous_apply a
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
a : α
a✝ : a ∈ s
⊢ Continuous fun f => ‖f a‖ ^ ENNReal.toReal p

tactic: exact this.norm.rpow_const fun _ => Or.inr hp''.le
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝¹ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
l : Filter ι
inst✝ : NeBot l
_i : Fact (1 ≤ p)
hp : p ≠ ⊤
C : ℝ
F : ι → { x // x ∈ lp E p }
hCF : ∀ᶠ (k : ι) in l, ‖F k‖ ≤ C
f : (a : α) → E a
hf : Tendsto (id fun i => ↑(F i)) l (𝓝 f)
s : Finset α
hp' : p ≠ 0
hp'' : 0 < ENNReal.toReal p
G : ((a : α) → E a) → ℝ := fun f => ∑ a in s, ‖f a‖ ^ ENNReal.toReal p
a : α
a✝ : a ∈ s
this : Continuous fun f => f a
⊢ Continuous fun f => ‖f a‖ ^ ENNReal.toReal p