-- Mathlib/Analysis/Normed/Module/FiniteDimension.lean
theorem exists_norm_le_le_norm_sub_of_finset {c : 𝕜} (hc : 1 < ‖c‖) {R : ℝ} (hR : ‖c‖ < R)
    (h : ¬FiniteDimensional 𝕜 E) (s : Finset E) : ∃ x : E, ‖x‖ ≤ R ∧ ∀ y ∈ s, 1 ≤ ‖y - x‖

Proof state:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
h : ¬FiniteDimensional 𝕜 E
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
⊢ ∃ x, x ∉ F

Tactic:
contrapose! h

Result:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
h : ∀ (x : E), x ∈ F
⊢ FiniteDimensional 𝕜 E

Proof state:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
h : ¬FiniteDimensional 𝕜 E
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this✝ : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
this : ∃ x, x ∉ F
⊢ ∃ x, ‖x‖ ≤ R ∧ ∀ y ∈ s, 1 ≤ ‖y - x‖

Tactic:
obtain ⟨x, xR, hx⟩ : ∃ x : E, ‖x‖ ≤ R ∧ ∀ y : E, y ∈ F → 1 ≤ ‖x - y‖ :=
  riesz_lemma_of_norm_lt hc hR Fclosed this

Result:
case intro.intro
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
h : ¬FiniteDimensional 𝕜 E
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this✝ : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
this : ∃ x, x ∉ F
x : E
xR : ‖x‖ ≤ R
hx : ∀ y ∈ F, 1 ≤ ‖x - y‖
⊢ ∃ x, ‖x‖ ≤ R ∧ ∀ y ∈ s, 1 ≤ ‖y - x‖

Proof state:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
h : ∀ (x : E), x ∈ F
⊢ FiniteDimensional 𝕜 E

Tactic:
have : (⊤ : Submodule 𝕜 E) = F := by
  ext x
  simp [h]

Result:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this✝ : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
h : ∀ (x : E), x ∈ F
this : ⊤ = F
⊢ FiniteDimensional 𝕜 E

Proof state:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this✝ : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
h : ∀ (x : E), x ∈ F
this : ⊤ = F
⊢ FiniteDimensional 𝕜 E

Tactic:
have : FiniteDimensional 𝕜 (⊤ : Submodule 𝕜 E) := by rwa [this]

Result:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this✝¹ : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
h : ∀ (x : E), x ∈ F
this✝ : ⊤ = F
this : FiniteDimensional 𝕜 ↥⊤
⊢ FiniteDimensional 𝕜 E

Proof state:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
h : ¬FiniteDimensional 𝕜 E
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
⊢ ∃ x, ‖x‖ ≤ R ∧ ∀ y ∈ s, 1 ≤ ‖y - x‖

Tactic:
haveI : FiniteDimensional 𝕜 F :=
  Module.finite_def.2
    ((Submodule.fg_top _).2 (Submodule.fg_def.2 ⟨s, Finset.finite_toSet _, rfl⟩))

Result:
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
h : ¬FiniteDimensional 𝕜 E
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this : FiniteDimensional 𝕜 ↥F
⊢ ∃ x, ‖x‖ ≤ R ∧ ∀ y ∈ s, 1 ≤ ‖y - x‖

Proof state:
case h
𝕜 : Type u
inst✝³ : NontriviallyNormedField 𝕜
E : Type v
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : CompleteSpace 𝕜
c : 𝕜
hc : 1 < ‖c‖
R : ℝ
hR : ‖c‖ < R
s : Finset E
F : Submodule 𝕜 E := Submodule.span 𝕜 ↑s
this : FiniteDimensional 𝕜 ↥F
Fclosed : IsClosed ↑F
h : ∀ (x : E), x ∈ F
x : E
⊢ x ∈ ⊤ ↔ x ∈ F

Tactic:
simp [h]

Result:
no goals