Theorem: ENNReal.exists_lt_add_of_lt_add
File: Mathlib/Topology/Instances/ENNReal.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this : NeZero y
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
tactic: have : NeZero y := ⟨hy⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this : NeZero y
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this✝ : NeZero y
this : NeZero z
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
tactic: have : NeZero z := ⟨hz⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this✝ : NeZero y
this : NeZero z
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this✝ : NeZero y
this : NeZero z
A : Tendsto (fun p => p.1 + p.2) (𝓝[<] y ×ˢ 𝓝[<] z) (𝓝 (y + z))
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
tactic: have A : Tendsto (fun p : ℝ≥0∞ × ℝ≥0∞ => p.1 + p.2) (𝓝[<] y ×ˢ 𝓝[<] z) (𝓝 (y + z)) := by
    apply Tendsto.mono_left _ (Filter.prod_mono nhdsWithin_le_nhds nhdsWithin_le_nhds)
    rw [← nhds_prod_eq]
    exact tendsto_add
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this✝ : NeZero y
this : NeZero z
A : Tendsto (fun p => p.1 + p.2) (𝓝[<] y ×ˢ 𝓝[<] z) (𝓝 (y + z))
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
state_after: case intro.mk.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this✝ : NeZero y
this : NeZero z
A : Tendsto (fun p => p.1 + p.2) (𝓝[<] y ×ˢ 𝓝[<] z) (𝓝 (y + z))
y' z' : ℝ≥0∞
hx : x < (y', z').1 + (y', z').2
hy' : (y', z').1 ∈ Iio y
hz' : (y', z').2 ∈ Iio z
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
tactic: rcases ((A.eventually (lt_mem_nhds h)).and
      (Filter.prod_mem_prod self_mem_nhdsWithin self_mem_nhdsWithin)).exists with
    ⟨⟨y', z'⟩, hx, hy', hz'⟩
state_before: case intro.mk.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ y✝ z✝ ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
x y z : ℝ≥0∞
h : x < y + z
hy : y ≠ 0
hz : z ≠ 0
this✝ : NeZero y
this : NeZero z
A : Tendsto (fun p => p.1 + p.2) (𝓝[<] y ×ˢ 𝓝[<] z) (𝓝 (y + z))
y' z' : ℝ≥0∞
hx : x < (y', z').1 + (y', z').2
hy' : (y', z').1 ∈ Iio y
hz' : (y', z').2 ∈ Iio z
⊢ ∃ y' z', y' < y ∧ z' < z ∧ x < y' + z'
state_after: no goals
tactic: exact ⟨y', z', hy', hz', hx⟩