-- File: optlib/Optlib/Algorithm/BCD/Scheme.lean
Theorem statement:
theorem extracted_formal_statement_31.{u_2, u_1} {E : Type u_1} {F : Type u_2} [inst : NormedAddCommGroup E]
  [inst_1 : CompleteSpace E] [inst_2 : ProperSpace E] [inst_3 : NormedAddCommGroup F] [inst_4 : CompleteSpace F]
  [inst_5 : ProperSpace F] (x : E) (y : F) (r : ℝ) (h : IsCompact (Metric.closedBall x r ×ˢ Metric.closedBall y r))
  (hsub : Metric.closedBall (x, y) r ⊆ Metric.closedBall x r ×ˢ Metric.closedBall y r) :
  IsCompact (Metric.closedBall (x, y) r) := sorry

Tactic state before:
case mk
E : Type u_1
F : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : InnerProductSpace ℝ E
inst✝⁵ : CompleteSpace E
inst✝⁴ : ProperSpace E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
inst✝¹ : CompleteSpace F
inst✝ : ProperSpace F
f : E → ℝ
g : F → ℝ
H : WithLp 2 (E × F) → ℝ
x0 : E
y0 : F
l : NNReal
x : E
y : F
r : ℝ
h : IsCompact (Metric.closedBall x r ×ˢ Metric.closedBall y r)
this : ∀ {a b : ℝ}, a ≤ √(a ^ 2 + b ^ 2)
hsub : Metric.closedBall (x, y) r ⊆ Metric.closedBall x r ×ˢ Metric.closedBall y r
⊢ IsCompact (Metric.closedBall (x, y) r)

Tactic: apply IsCompact.of_isClosed_subset h (@Metric.isClosed_closedBall (WithLp 2 (E × F)) _ _ _) hsub

Tactic state after:

Premises used:
IsCompact.of_isClosed_subset : ∀ {X : Type u} [inst : TopologicalSpace X] {s t : Set X},
  IsCompact s → IsClosed t → t ⊆ s → IsCompact t
Metric.isClosed_closedBall : ∀ {α : Type u_2} [inst : PseudoMetricSpace α] {x : α} {ε : ℝ},
  IsClosed (Metric.closedBall x ε)