Theorem: lp.uniformContinuous_coe
File: Mathlib/Analysis/Normed/Lp/lpSpace.lean

Proof steps:
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
⊢ UniformContinuous Subtype.val
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
⊢ UniformContinuous Subtype.val
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)
_i : Fact (1 ≤ p)
hp : p ≠ 0
⊢ UniformContinuous Subtype.val
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
⊢ ∀ (i : α), UniformContinuous fun x => ↑x i
tactic: rw [uniformContinuous_pi]
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
⊢ ∀ (i : α), UniformContinuous fun x => ↑x i
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
⊢ UniformContinuous fun x => ↑x i
tactic: intro i
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
⊢ UniformContinuous fun x => ↑x i
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
⊢ ∀ (i_1 : ℝ),
    0 < i_1 →
      ∃ j, 0 < j ∧ ∀ (x y : ↥(lp E p)), (x, y) ∈ {p_1 | ‖p_1.1 - p_1.2‖ < j} → (↑x i, ↑y i) ∈ {p | ‖p.1 - p.2‖ < i_1}
tactic: rw [NormedAddCommGroup.uniformity_basis_dist.uniformContinuous_iff
    NormedAddCommGroup.uniformity_basis_dist]
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
⊢ ∀ (i_1 : ℝ),
    0 < i_1 →
      ∃ j, 0 < j ∧ ∀ (x y : ↥(lp E p)), (x, y) ∈ {p_1 | ‖p_1.1 - p_1.2‖ < j} → (↑x i, ↑y i) ∈ {p | ‖p.1 - p.2‖ < i_1}
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
⊢ ∃ j, 0 < j ∧ ∀ (x y : ↥(lp E p)), (x, y) ∈ {p_1 | ‖p_1.1 - p_1.2‖ < j} → (↑x i, ↑y i) ∈ {p | ‖p.1 - p.2‖ < ε}
tactic: intro ε hε
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
⊢ ∃ j, 0 < j ∧ ∀ (x y : ↥(lp E p)), (x, y) ∈ {p_1 | ‖p_1.1 - p_1.2‖ < j} → (↑x i, ↑y i) ∈ {p | ‖p.1 - p.2‖ < ε}
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
⊢ ∀ (x y : ↥(lp E p)), (x, y) ∈ {p_1 | ‖p_1.1 - p_1.2‖ < ε} → (↑x i, ↑y i) ∈ {p | ‖p.1 - p.2‖ < ε}
tactic: refine ⟨ε, hε, ?_⟩
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
⊢ ∀ (x y : ↥(lp E p)), (x, y) ∈ {p_1 | ‖p_1.1 - p_1.2‖ < ε} → (↑x i, ↑y i) ∈ {p | ‖p.1 - p.2‖ < ε}
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
f g : ↥(lp E p)
hfg : ‖f - g‖ < ε
⊢ (↑f i, ↑g i) ∈ {p | ‖p.1 - p.2‖ < ε}
tactic: rintro f g (hfg : ‖f - g‖ < ε)
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
f g : ↥(lp E p)
hfg : ‖f - g‖ < ε
⊢ (↑f i, ↑g i) ∈ {p | ‖p.1 - p.2‖ < ε}
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
f g : ↥(lp E p)
hfg : ‖f - g‖ < ε
this : ‖↑f i - ↑g i‖ ≤ ‖f - g‖
⊢ (↑f i, ↑g i) ∈ {p | ‖p.1 - p.2‖ < ε}
tactic: have : ‖f i - g i‖ ≤ ‖f - g‖ := norm_apply_le_norm hp (f - g) i
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
_i : Fact (1 ≤ p)
hp : p ≠ 0
i : α
ε : ℝ
hε : 0 < ε
f g : ↥(lp E p)
hfg : ‖f - g‖ < ε
this : ‖↑f i - ↑g i‖ ≤ ‖f - g‖
⊢ (↑f i, ↑g i) ∈ {p | ‖p.1 - p.2‖ < ε}
state_after: no goals
tactic: exact this.trans_lt hfg