File: Mathlib/Topology/MetricSpace/ProperSpace.lean

full_name: ProperSpace.isCompact_closedBall
code: /-- A pseudometric space is proper if all closed balls are compact. -/
class ProperSpace (α : Type u) [PseudoMetricSpace α] : Prop where
  isCompact_closedBall : ∀ x : α, ∀ r, IsCompact (closedBall x r)
goal: IsCompact (Metric.closedBall x r)

full_name: ProperSpace
code: /-- A pseudometric space is proper if all closed balls are compact. -/
class ProperSpace (α : Type u) [PseudoMetricSpace α] : Prop where
  isCompact_closedBall : ∀ x : α, ∀ r, IsCompact (closedBall x r)
goal: Prop

full_name: isCompact_sphere
code: /-- In a proper pseudometric space, all spheres are compact. -/
theorem isCompact_sphere {α : Type*} [PseudoMetricSpace α] [ProperSpace α] (x : α) (r : ℝ) :
    IsCompact (sphere x r) 
goal: IsCompact (Metric.sphere x r)

full_name: Metric.sphere.compactSpace
code: /-- In a proper pseudometric space, any sphere is a `CompactSpace` when considered as a subtype. -/
instance Metric.sphere.compactSpace {α : Type*} [PseudoMetricSpace α] [ProperSpace α]
    (x : α) (r : ℝ) : CompactSpace (sphere x r) 
goal: CompactSpace ↑(Metric.sphere x r)

full_name: secondCountable_of_proper
code: /-- A proper pseudo metric space is sigma compact, and therefore second countable. -/
instance (priority := 100) secondCountable_of_proper [ProperSpace α] :
    SecondCountableTopology α 
goal: SecondCountableTopology α

full_name: ProperSpace.of_isCompact_closedBall_of_le
code: /-- If all closed balls of large enough radius are compact, then the space is proper. Especially
useful when the lower bound for the radius is 0. -/
theorem ProperSpace.of_isCompact_closedBall_of_le (R : ℝ)
    (h : ∀ x : α, ∀ r, R ≤ r → IsCompact (closedBall x r)) : ProperSpace α 
goal: ProperSpace α

full_name: ProperSpace.of_seq_closedBall
code: /-- If there exists a sequence of compact closed balls with the same center
such that the radii tend to infinity, then the space is proper. -/
theorem ProperSpace.of_seq_closedBall {β : Type*} {l : Filter β} [NeBot l] {x : α} {r : β → ℝ}
    (hr : Tendsto r l atTop) (hc : ∀ᶠ i in l, IsCompact (closedBall x (r i))) :
    ProperSpace α 
goal: ProperSpace α

full_name: proper_of_compact
code: instance (priority := 100) proper_of_compact [CompactSpace α] : ProperSpace α 
goal: ProperSpace α

full_name: locally_compact_of_proper
code: /-- A proper space is locally compact -/
instance (priority := 100) locally_compact_of_proper [ProperSpace α] : LocallyCompactSpace α 
goal: LocallyCompactSpace α

full_name: complete_of_proper
code: /-- A proper space is complete -/
instance (priority := 100) complete_of_proper [ProperSpace α] : CompleteSpace α 
goal: CompleteSpace α

full_name: prod_properSpace
code: /-- A binary product of proper spaces is proper. -/
instance prod_properSpace {α : Type*} {β : Type*} [PseudoMetricSpace α] [PseudoMetricSpace β]
    [ProperSpace α] [ProperSpace β] : ProperSpace (α × β) 
goal: ProperSpace (α × β)

full_name: pi_properSpace
code: /-- A finite product of proper spaces is proper. -/
instance pi_properSpace {π : β → Type*} [Fintype β] [∀ b, PseudoMetricSpace (π b)]
    [h : ∀ b, ProperSpace (π b)] : ProperSpace (∀ b, π b) 
goal: ProperSpace ((b : β) → π b)

full_name: instProperSpaceAdditive
code: instance [PseudoMetricSpace X] [ProperSpace X] : ProperSpace (Additive X) 
goal: ProperSpace (Additive X)

full_name: instProperSpaceMultiplicative
code: instance [PseudoMetricSpace X] [ProperSpace X] : ProperSpace (Multiplicative X) 
goal: ProperSpace (Multiplicative X)

full_name: instProperSpaceOrderDual
code: instance [PseudoMetricSpace X] [ProperSpace X] : ProperSpace Xᵒᵈ 
goal: ProperSpace Xᵒᵈ