ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- EMetric.mem_ball_self
theorem mem_ball_self (h : 0 < ε) : x ∈ ball x ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {ε : ℝ≥0∞} (h : 0 < ε)
Goal: x ∈ EMetric.ball x ε
-- EMetric.mem_closedBall_self
theorem mem_closedBall_self : x ∈ closedBall x ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {ε : ℝ≥0∞}
Goal: x ∈ EMetric.closedBall x ε
-- EMetric.mem_ball_comm
theorem mem_ball_comm : x ∈ ball y ε ↔ y ∈ ball x ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞}
Goal: x ∈ EMetric.ball y ε ↔ y ∈ EMetric.ball x ε
-- EMetric.mem_closedBall_comm
theorem mem_closedBall_comm : x ∈ closedBall y ε ↔ y ∈ closedBall x ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞}
Goal: x ∈ EMetric.closedBall y ε ↔ y ∈ EMetric.closedBall x ε
-- EMetric.ball_subset_ball
@[gcongr]
theorem ball_subset_ball (h : ε₁ ≤ ε₂) : ball x ε₁ ⊆ ball x ε₂ 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {ε₁ ε₂ : ℝ≥0∞} (h : ε₁ ≤ ε₂)
Goal: EMetric.ball x ε₁ ⊆ EMetric.ball x ε₂
-- EMetric.closedBall_subset_closedBall
@[gcongr]
theorem closedBall_subset_closedBall (h : ε₁ ≤ ε₂) : closedBall x ε₁ ⊆ closedBall x ε₂ 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {ε₁ ε₂ : ℝ≥0∞} (h : ε₁ ≤ ε₂)
Goal: EMetric.closedBall x ε₁ ⊆ EMetric.closedBall x ε₂
-- EMetric.ball_disjoint
theorem ball_disjoint (h : ε₁ + ε₂ ≤ edist x y) : Disjoint (ball x ε₁) (ball y ε₂) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε₁ ε₂ : ℝ≥0∞} (h : ε₁ + ε₂ ≤ edist x y)
Goal: Disjoint (EMetric.ball x ε₁) (EMetric.ball y ε₂)
-- EMetric.ball_subset
theorem ball_subset (h : edist x y + ε₁ ≤ ε₂) (h' : edist x y ≠ ∞) : ball x ε₁ ⊆ ball y ε₂ 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε₁ ε₂ : ℝ≥0∞} (h : edist x y + ε₁ ≤ ε₂) (h' : edist x y ≠ ⊤)
Goal: EMetric.ball x ε₁ ⊆ EMetric.ball y ε₂
-- EMetric.exists_ball_subset_ball
theorem exists_ball_subset_ball (h : y ∈ ball x ε) : ∃ ε' > 0, ball y ε' ⊆ ball x ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞} (h : y ∈ EMetric.ball x ε)
Goal: ∃ ε' > 0, EMetric.ball y ε' ⊆ EMetric.ball x ε
-- EMetric.ball_eq_empty_iff
theorem ball_eq_empty_iff : ball x ε = ∅ ↔ ε = 0 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {ε : ℝ≥0∞}
Goal: EMetric.ball x ε = ∅ ↔ ε = 0
-- EMetric.ordConnected_setOf_closedBall_subset
theorem ordConnected_setOf_closedBall_subset (x : α) (s : Set α) :
    OrdConnected { r | closedBall x r ⊆ s } 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x : α) (s : Set α)
Goal: {r | EMetric.closedBall x r ⊆ s}.OrdConnected
-- EMetric.ordConnected_setOf_ball_subset
theorem ordConnected_setOf_ball_subset (x : α) (s : Set α) : OrdConnected { r | ball x r ⊆ s } 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x : α) (s : Set α)
Goal: {r | EMetric.ball x r ⊆ s}.OrdConnected
-- EMetric.ball_zero
@[simp]
theorem ball_zero : ball x 0 = ∅ 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α}
Goal: EMetric.ball x 0 = ∅
-- EMetric.nhds_basis_eball
theorem nhds_basis_eball : (𝓝 x).HasBasis (fun ε : ℝ≥0∞ => 0 < ε) (ball x) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α}
Goal: (𝓝 x).HasBasis (fun ε => 0 < ε) (EMetric.ball x)
-- EMetric.nhdsWithin_basis_eball
theorem nhdsWithin_basis_eball : (𝓝[s] x).HasBasis (fun ε : ℝ≥0∞ => 0 < ε) fun ε => ball x ε ∩ s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {s : Set α}
Goal: (𝓝[s] x).HasBasis (fun ε => 0 < ε) fun ε => EMetric.ball x ε ∩ s
-- EMetric.nhds_basis_closed_eball
theorem nhds_basis_closed_eball : (𝓝 x).HasBasis (fun ε : ℝ≥0∞ => 0 < ε) (closedBall x) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α}
Goal: (𝓝 x).HasBasis (fun ε => 0 < ε) (EMetric.closedBall x)
-- EMetric.nhdsWithin_basis_closed_eball
theorem nhdsWithin_basis_closed_eball :
    (𝓝[s] x).HasBasis (fun ε : ℝ≥0∞ => 0 < ε) fun ε => closedBall x ε ∩ s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {s : Set α}
Goal: (𝓝[s] x).HasBasis (fun ε => 0 < ε) fun ε => EMetric.closedBall x ε ∩ s
-- EMetric.nhds_eq
theorem nhds_eq : 𝓝 x = ⨅ ε > 0, 𝓟 (ball x ε) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α}
Goal: 𝓝 x = ⨅ ε, ⨅ (_ : ε > 0), 𝓟 (EMetric.ball x ε)
-- EMetric.mem_nhds_iff
theorem mem_nhds_iff : s ∈ 𝓝 x ↔ ∃ ε > 0, ball x ε ⊆ s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {s : Set α}
Goal: s ∈ 𝓝 x ↔ ∃ ε > 0, EMetric.ball x ε ⊆ s
-- EMetric.mem_nhdsWithin_iff
theorem mem_nhdsWithin_iff : s ∈ 𝓝[t] x ↔ ∃ ε > 0, ball x ε ∩ t ⊆ s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {s t : Set α}
Goal: s ∈ 𝓝[t] x ↔ ∃ ε > 0, EMetric.ball x ε ∩ t ⊆ s
-- EMetric.tendsto_nhdsWithin_nhdsWithin
theorem tendsto_nhdsWithin_nhdsWithin {t : Set β} {a b} :
    Tendsto f (𝓝[s] a) (𝓝[t] b) ↔
      ∀ ε > 0, ∃ δ > 0, ∀ ⦃x⦄, x ∈ s → edist x a < δ → f x ∈ t ∧ edist (f x) b < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {s : Set α} [PseudoEMetricSpace β] {f : α → β} {t : Set β} {a : α} {b : β}
Goal: Filter.Tendsto f (𝓝[s] a) (𝓝[t] b) ↔ ∀ ε > 0, ∃ δ > 0, ∀ ⦃x : α⦄, x ∈ s → edist x a < δ → f x ∈ t ∧ edist (f x) b < ε
-- EMetric.tendsto_nhdsWithin_nhds
theorem tendsto_nhdsWithin_nhds {a b} :
    Tendsto f (𝓝[s] a) (𝓝 b) ↔
      ∀ ε > 0, ∃ δ > 0, ∀ {x : α}, x ∈ s → edist x a < δ → edist (f x) b < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {s : Set α} [PseudoEMetricSpace β] {f : α → β} {a : α} {b : β}
Goal: Filter.Tendsto f (𝓝[s] a) (𝓝 b) ↔ ∀ ε > 0, ∃ δ > 0, ∀ {x : α}, x ∈ s → edist x a < δ → edist (f x) b < ε
-- EMetric.tendsto_nhds_nhds
theorem tendsto_nhds_nhds {a b} :
    Tendsto f (𝓝 a) (𝓝 b) ↔ ∀ ε > 0, ∃ δ > 0, ∀ ⦃x⦄, edist x a < δ → edist (f x) b < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : α → β} {a : α} {b : β}
Goal: Filter.Tendsto f (𝓝 a) (𝓝 b) ↔ ∀ ε > 0, ∃ δ > 0, ∀ ⦃x : α⦄, edist x a < δ → edist (f x) b < ε
-- EMetric.isOpen_iff
theorem isOpen_iff : IsOpen s ↔ ∀ x ∈ s, ∃ ε > 0, ball x ε ⊆ s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α}
Goal: IsOpen s ↔ ∀ x ∈ s, ∃ ε > 0, EMetric.ball x ε ⊆ s
-- EMetric.isOpen_ball
theorem isOpen_ball : IsOpen (ball x ε) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {ε : ℝ≥0∞}
Goal: IsOpen (EMetric.ball x ε)
-- EMetric.isClosed_ball_top
theorem isClosed_ball_top : IsClosed (ball x ⊤) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α}
Goal: IsClosed (EMetric.ball x ⊤)
-- EMetric.ball_mem_nhds
theorem ball_mem_nhds (x : α) {ε : ℝ≥0∞} (ε0 : 0 < ε) : ball x ε ∈ 𝓝 x 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x : α) {ε : ℝ≥0∞} (ε0 : 0 < ε)
Goal: EMetric.ball x ε ∈ 𝓝 x
-- EMetric.closedBall_mem_nhds
theorem closedBall_mem_nhds (x : α) {ε : ℝ≥0∞} (ε0 : 0 < ε) : closedBall x ε ∈ 𝓝 x 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x : α) {ε : ℝ≥0∞} (ε0 : 0 < ε)
Goal: EMetric.closedBall x ε ∈ 𝓝 x
-- EMetric.ball_prod_same
theorem ball_prod_same [PseudoEMetricSpace β] (x : α) (y : β) (r : ℝ≥0∞) :
    ball x r ×ˢ ball y r = ball (x, y) r 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (x : α) (y : β) (r : ℝ≥0∞)
Goal: EMetric.ball x r ×ˢ EMetric.ball y r = EMetric.ball (x, y) r
-- EMetric.closedBall_prod_same
theorem closedBall_prod_same [PseudoEMetricSpace β] (x : α) (y : β) (r : ℝ≥0∞) :
    closedBall x r ×ˢ closedBall y r = closedBall (x, y) r 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (x : α) (y : β) (r : ℝ≥0∞)
Goal: EMetric.closedBall x r ×ˢ EMetric.closedBall y r = EMetric.closedBall (x, y) r
-- EMetric.mem_closure_iff
theorem mem_closure_iff : x ∈ closure s ↔ ∀ ε > 0, ∃ y ∈ s, edist x y < ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {s : Set α}
Goal: x ∈ closure s ↔ ∀ ε > 0, ∃ y ∈ s, edist x y < ε
-- EMetric.tendsto_nhds
theorem tendsto_nhds {f : Filter β} {u : β → α} {a : α} :
    Tendsto u f (𝓝 a) ↔ ∀ ε > 0, ∀ᶠ x in f, edist (u x) a < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {f : Filter β} {u : β → α} {a : α}
Goal: Filter.Tendsto u f (𝓝 a) ↔ ∀ ε > 0, ∀ᶠ (x : β) in f, edist (u x) a < ε
-- EMetric.tendsto_atTop
theorem tendsto_atTop [Nonempty β] [SemilatticeSup β] {u : β → α} {a : α} :
    Tendsto u atTop (𝓝 a) ↔ ∀ ε > 0, ∃ N, ∀ n ≥ N, edist (u n) a < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [Nonempty β] [SemilatticeSup β] {u : β → α} {a : α}
Goal: Filter.Tendsto u Filter.atTop (𝓝 a) ↔ ∀ ε > 0, ∃ N, ∀ n ≥ N, edist (u n) a < ε
-- EMetric.inseparable_iff
theorem inseparable_iff : Inseparable x y ↔ edist x y = 0 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α}
Goal: Inseparable x y ↔ edist x y = 0
-- EMetric.cauchySeq_iff
theorem cauchySeq_iff [Nonempty β] [SemilatticeSup β] {u : β → α} :
    CauchySeq u ↔ ∀ ε > 0, ∃ N, ∀ m, N ≤ m → ∀ n, N ≤ n → edist (u m) (u n) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [Nonempty β] [SemilatticeSup β] {u : β → α}
Goal: CauchySeq u ↔ ∀ ε > 0, ∃ N, ∀ (m : β), N ≤ m → ∀ (n : β), N ≤ n → edist (u m) (u n) < ε
-- EMetric.cauchySeq_iff'
theorem cauchySeq_iff' [Nonempty β] [SemilatticeSup β] {u : β → α} :
    CauchySeq u ↔ ∀ ε > (0 : ℝ≥0∞), ∃ N, ∀ n ≥ N, edist (u n) (u N) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [Nonempty β] [SemilatticeSup β] {u : β → α}
Goal: CauchySeq u ↔ ∀ ε > 0, ∃ N, ∀ n ≥ N, edist (u n) (u N) < ε
-- EMetric.cauchySeq_iff_NNReal
theorem cauchySeq_iff_NNReal [Nonempty β] [SemilatticeSup β] {u : β → α} :
    CauchySeq u ↔ ∀ ε : ℝ≥0, 0 < ε → ∃ N, ∀ n, N ≤ n → edist (u n) (u N) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [Nonempty β] [SemilatticeSup β] {u : β → α}
Goal: CauchySeq u ↔ ∀ (ε : ℝ≥0), 0 < ε → ∃ N, ∀ (n : β), N ≤ n → edist (u n) (u N) < ↑ε
-- EMetric.totallyBounded_iff
theorem totallyBounded_iff {s : Set α} :
    TotallyBounded s ↔ ∀ ε > 0, ∃ t : Set α, t.Finite ∧ s ⊆ ⋃ y ∈ t, ball y ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α}
Goal: TotallyBounded s ↔ ∀ ε > 0, ∃ t, t.Finite ∧ s ⊆ ⋃ y ∈ t, EMetric.ball y ε
-- EMetric.totallyBounded_iff'
theorem totallyBounded_iff' {s : Set α} :
    TotallyBounded s ↔ ∀ ε > 0, ∃ t, t ⊆ s ∧ Set.Finite t ∧ s ⊆ ⋃ y ∈ t, ball y ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α}
Goal: TotallyBounded s ↔ ∀ ε > 0, ∃ t ⊆ s, t.Finite ∧ s ⊆ ⋃ y ∈ t, EMetric.ball y ε
-- EMetric.subset_countable_closure_of_almost_dense_set
theorem subset_countable_closure_of_almost_dense_set (s : Set α)
    (hs : ∀ ε > 0, ∃ t : Set α, t.Countable ∧ s ⊆ ⋃ x ∈ t, closedBall x ε) :
    ∃ t, t ⊆ s ∧ t.Countable ∧ s ⊆ closure t 
Arguments: {α : Type u} [PseudoEMetricSpace α] (s : Set α) (hs : ∀ ε > 0, ∃ t, t.Countable ∧ s ⊆ ⋃ x ∈ t, EMetric.closedBall x ε)
Goal: ∃ t ⊆ s, t.Countable ∧ s ⊆ closure t
-- TopologicalSpace.IsSeparable.exists_countable_dense_subset
theorem _root_.TopologicalSpace.IsSeparable.exists_countable_dense_subset
    {s : Set α} (hs : IsSeparable s) : ∃ t, t ⊆ s ∧ t.Countable ∧ s ⊆ closure t 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α} (hs : TopologicalSpace.IsSeparable s)
Goal: ∃ t ⊆ s, t.Countable ∧ s ⊆ closure t
-- TopologicalSpace.IsSeparable.separableSpace
theorem _root_.TopologicalSpace.IsSeparable.separableSpace {s : Set α} (hs : IsSeparable s) :
    SeparableSpace s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α} (hs : TopologicalSpace.IsSeparable s)
Goal: TopologicalSpace.SeparableSpace ↑s
-- EMetric.subset_countable_closure_of_compact
theorem subset_countable_closure_of_compact {s : Set α} (hs : IsCompact s) :
    ∃ t, t ⊆ s ∧ t.Countable ∧ s ⊆ closure t 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α} (hs : IsCompact s)
Goal: ∃ t ⊆ s, t.Countable ∧ s ⊆ closure t
-- EMetric.secondCountable_of_almost_dense_set
theorem secondCountable_of_almost_dense_set
    (hs : ∀ ε > 0, ∃ t : Set α, t.Countable ∧ ⋃ x ∈ t, closedBall x ε = univ) :
    SecondCountableTopology α 
Arguments: {α : Type u} [PseudoEMetricSpace α] (hs : ∀ ε > 0, ∃ t, t.Countable ∧ ⋃ x ∈ t, EMetric.closedBall x ε = Set.univ)
Goal: SecondCountableTopology α
-- EMetric.diam_eq_sSup
theorem diam_eq_sSup (s : Set α) : diam s = sSup (image2 edist s s) 
Arguments: {α : Type u} [PseudoEMetricSpace α] (s : Set α)
Goal: EMetric.diam s = sSup (Set.image2 edist s s)
-- EMetric.diam_le_iff
theorem diam_le_iff {d : ℝ≥0∞} : diam s ≤ d ↔ ∀ x ∈ s, ∀ y ∈ s, edist x y ≤ d 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α} {d : ℝ≥0∞}
Goal: EMetric.diam s ≤ d ↔ ∀ x ∈ s, ∀ y ∈ s, edist x y ≤ d
-- EMetric.diam_image_le_iff
theorem diam_image_le_iff {d : ℝ≥0∞} {f : β → α} {s : Set β} :
    diam (f '' s) ≤ d ↔ ∀ x ∈ s, ∀ y ∈ s, edist (f x) (f y) ≤ d 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {d : ℝ≥0∞} {f : β → α} {s : Set β}
Goal: EMetric.diam (f '' s) ≤ d ↔ ∀ x ∈ s, ∀ y ∈ s, edist (f x) (f y) ≤ d
-- EMetric.edist_le_of_diam_le
theorem edist_le_of_diam_le {d} (hx : x ∈ s) (hy : y ∈ s) (hd : diam s ≤ d) : edist x y ≤ d 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {s : Set α} {d : ℝ≥0∞} (hx : x ∈ s) (hy : y ∈ s) (hd : EMetric.diam s ≤ d)
Goal: edist x y ≤ d
-- EMetric.edist_le_diam_of_mem
theorem edist_le_diam_of_mem (hx : x ∈ s) (hy : y ∈ s) : edist x y ≤ diam s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {s : Set α} (hx : x ∈ s) (hy : y ∈ s)
Goal: edist x y ≤ EMetric.diam s
-- EMetric.diam_le
theorem diam_le {d : ℝ≥0∞} (h : ∀ x ∈ s, ∀ y ∈ s, edist x y ≤ d) : diam s ≤ d 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α} {d : ℝ≥0∞} (h : ∀ x ∈ s, ∀ y ∈ s, edist x y ≤ d)
Goal: EMetric.diam s ≤ d
-- EMetric.diam_subsingleton
theorem diam_subsingleton (hs : s.Subsingleton) : diam s = 0 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set α} (hs : s.Subsingleton)
Goal: EMetric.diam s = 0
-- EMetric.diam_empty
@[simp]
theorem diam_empty : diam (∅ : Set α) = 0 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: EMetric.diam ∅ = 0
-- EMetric.diam_singleton
@[simp]
theorem diam_singleton : diam ({x} : Set α) = 0 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α}
Goal: EMetric.diam {x} = 0
-- EMetric.diam_zero
@[to_additive (attr := simp)]
theorem diam_one [One α] : diam (1 : Set α) = 0 
Arguments: {α : Type u} [PseudoEMetricSpace α] [Zero α]
Goal: EMetric.diam 0 = 0
-- EMetric.diam_one
@[to_additive (attr := simp)]
theorem diam_one [One α] : diam (1 : Set α) = 0 
Arguments: {α : Type u} [PseudoEMetricSpace α] [One α]
Goal: EMetric.diam 1 = 0
-- EMetric.diam_iUnion_mem_option
theorem diam_iUnion_mem_option {ι : Type*} (o : Option ι) (s : ι → Set α) :
    diam (⋃ i ∈ o, s i) = ⨆ i ∈ o, diam (s i) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {ι : Type u_2} (o : Option ι) (s : ι → Set α)
Goal: EMetric.diam (⋃ i ∈ o, s i) = ⨆ i ∈ o, EMetric.diam (s i)
-- EMetric.diam_insert
theorem diam_insert : diam (insert x s) = max (⨆ y ∈ s, edist x y) (diam s) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {s : Set α}
Goal: EMetric.diam (insert x s) = max (⨆ y ∈ s, edist x y) (EMetric.diam s)
-- EMetric.diam_pair
theorem diam_pair : diam ({x, y} : Set α) = edist x y 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α}
Goal: EMetric.diam {x, y} = edist x y
-- EMetric.diam_triple
theorem diam_triple : diam ({x, y, z} : Set α) = max (max (edist x y) (edist x z)) (edist y z) 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y z : α}
Goal: EMetric.diam {x, y, z} = max (max (edist x y) (edist x z)) (edist y z)
-- EMetric.diam_mono
@[gcongr]
theorem diam_mono {s t : Set α} (h : s ⊆ t) : diam s ≤ diam t 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s t : Set α} (h : s ⊆ t)
Goal: EMetric.diam s ≤ EMetric.diam t
-- EMetric.diam_union
theorem diam_union {t : Set α} (xs : x ∈ s) (yt : y ∈ t) :
    diam (s ∪ t) ≤ diam s + edist x y + diam t 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {s t : Set α} (xs : x ∈ s) (yt : y ∈ t)
Goal: EMetric.diam (s ∪ t) ≤ EMetric.diam s + edist x y + EMetric.diam t
-- EMetric.diam_union'
theorem diam_union' {t : Set α} (h : (s ∩ t).Nonempty) : diam (s ∪ t) ≤ diam s + diam t 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s t : Set α} (h : (s ∩ t).Nonempty)
Goal: EMetric.diam (s ∪ t) ≤ EMetric.diam s + EMetric.diam t
-- EMetric.diam_closedBall
theorem diam_closedBall {r : ℝ≥0∞} : diam (closedBall x r) ≤ 2 * r 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {r : ℝ≥0∞}
Goal: EMetric.diam (EMetric.closedBall x r) ≤ 2 * r
-- EMetric.diam_ball
theorem diam_ball {r : ℝ≥0∞} : diam (ball x r) ≤ 2 * r 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {r : ℝ≥0∞}
Goal: EMetric.diam (EMetric.ball x r) ≤ 2 * r
-- EMetric.diam_pi_le_of_le
theorem diam_pi_le_of_le {π : β → Type*} [Fintype β] [∀ b, PseudoEMetricSpace (π b)]
    {s : ∀ b : β, Set (π b)} {c : ℝ≥0∞} (h : ∀ b, diam (s b) ≤ c) : diam (Set.pi univ s) ≤ c 
Arguments: {β : Type v} {π : β → Type u_2} [Fintype β] [(b : β) → PseudoEMetricSpace (π b)] {s : (b : β) → Set (π b)} {c : ℝ≥0∞} (h : ∀ (b : β), EMetric.diam (s b) ≤ c)
Goal: EMetric.diam (Set.univ.pi s) ≤ c
-- EMetricSpace.eq_of_edist_eq_zero
class EMetricSpace (α : Type u) extends PseudoEMetricSpace α : Type u where
  eq_of_edist_eq_zero : ∀ {x y : α}, edist x y = 0 → x = y
Arguments: {α : Type u} [self : EMetricSpace α] {x y : α}
Goal: edist x y = 0 → x = y
-- EMetricSpace.ext
@[ext]
protected theorem EMetricSpace.ext
    {α : Type*} {m m' : EMetricSpace α} (h : m.toEDist = m'.toEDist) : m = m' 
Arguments: {α : Type u_2} {m m' : EMetricSpace α} (h : PseudoEMetricSpace.toEDist = PseudoEMetricSpace.toEDist)
Goal: m = m'
-- edist_eq_zero
@[simp]
theorem edist_eq_zero {x y : γ} : edist x y = 0 ↔ x = y 
Arguments: {γ : Type w} [EMetricSpace γ] {x y : γ}
Goal: edist x y = 0 ↔ x = y
-- zero_eq_edist
@[simp]
theorem zero_eq_edist {x y : γ} : 0 = edist x y ↔ x = y 
Arguments: {γ : Type w} [EMetricSpace γ] {x y : γ}
Goal: 0 = edist x y ↔ x = y
-- edist_le_zero
theorem edist_le_zero {x y : γ} : edist x y ≤ 0 ↔ x = y 
Arguments: {γ : Type w} [EMetricSpace γ] {x y : γ}
Goal: edist x y ≤ 0 ↔ x = y
-- edist_pos
@[simp]
theorem edist_pos {x y : γ} : 0 < edist x y ↔ x ≠ y 
Arguments: {γ : Type w} [EMetricSpace γ] {x y : γ}
Goal: 0 < edist x y ↔ x ≠ y
-- eq_of_forall_edist_le
theorem eq_of_forall_edist_le {x y : γ} (h : ∀ ε > 0, edist x y ≤ ε) : x = y 
Arguments: {γ : Type w} [EMetricSpace γ] {x y : γ} (h : ∀ ε > 0, edist x y ≤ ε)
Goal: x = y
-- EMetric.uniformEmbedding_iff'
theorem EMetric.uniformEmbedding_iff' [EMetricSpace β] {f : γ → β} :
    UniformEmbedding f ↔
      (∀ ε > 0, ∃ δ > 0, ∀ {a b : γ}, edist a b < δ → edist (f a) (f b) < ε) ∧
        ∀ δ > 0, ∃ ε > 0, ∀ {a b : γ}, edist (f a) (f b) < ε → edist a b < δ 
Arguments: {β : Type v} {γ : Type w} [EMetricSpace γ] [EMetricSpace β] {f : γ → β}
Goal: UniformEmbedding f ↔
  (∀ ε > 0, ∃ δ > 0, ∀ {a b : γ}, edist a b < δ → edist (f a) (f b) < ε) ∧
    ∀ δ > 0, ∃ ε > 0, ∀ {a b : γ}, edist (f a) (f b) < ε → edist a b < δ
-- uniformity_edist
theorem uniformity_edist : 𝓤 γ = ⨅ ε > 0, 𝓟 { p : γ × γ | edist p.1 p.2 < ε } 
Arguments: {γ : Type w} [EMetricSpace γ]
Goal: 𝓤 γ = ⨅ ε, ⨅ (_ : ε > 0), 𝓟 {p | edist p.1 p.2 < ε}
-- EMetric.countable_closure_of_compact
theorem countable_closure_of_compact {s : Set γ} (hs : IsCompact s) :
    ∃ t, t ⊆ s ∧ t.Countable ∧ s = closure t 
Arguments: {γ : Type w} [EMetricSpace γ] {s : Set γ} (hs : IsCompact s)
Goal: ∃ t ⊆ s, t.Countable ∧ s = closure t
-- EMetric.diam_eq_zero_iff
theorem diam_eq_zero_iff : diam s = 0 ↔ s.Subsingleton 
Arguments: {γ : Type w} [EMetricSpace γ] {s : Set γ}
Goal: EMetric.diam s = 0 ↔ s.Subsingleton
-- EMetric.diam_pos_iff
theorem diam_pos_iff : 0 < diam s ↔ s.Nontrivial 
Arguments: {γ : Type w} [EMetricSpace γ] {s : Set γ}
Goal: 0 < EMetric.diam s ↔ s.Nontrivial
-- EMetric.diam_pos_iff'
theorem diam_pos_iff' : 0 < diam s ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y 
Arguments: {γ : Type w} [EMetricSpace γ] {s : Set γ}
Goal: 0 < EMetric.diam s ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y
-- SeparationQuotient.edist_mk
@[simp] theorem SeparationQuotient.edist_mk [PseudoEMetricSpace X] (x y : X) :
    edist (mk x) (mk y) = edist x y 
Arguments: {X : Type u_1} [PseudoEMetricSpace X] (x y : X)
Goal: edist (SeparationQuotient.mk x) (SeparationQuotient.mk y) = edist x y
-- edist_ofMul
@[simp]
theorem edist_ofMul (a b : X) : edist (ofMul a) (ofMul b) = edist a b 
Arguments: {X : Type u_1} [EDist X] (a b : X)
Goal: edist (Additive.ofMul a) (Additive.ofMul b) = edist a b
-- edist_ofAdd
@[simp]
theorem edist_ofAdd (a b : X) : edist (ofAdd a) (ofAdd b) = edist a b 
Arguments: {X : Type u_1} [EDist X] (a b : X)
Goal: edist (Multiplicative.ofAdd a) (Multiplicative.ofAdd b) = edist a b
-- edist_toMul
@[simp]
theorem edist_toMul (a b : Additive X) : edist (toMul a) (toMul b) = edist a b 
Arguments: {X : Type u_1} [EDist X] (a b : Additive X)
Goal: edist (Additive.toMul a) (Additive.toMul b) = edist a b
-- edist_toAdd
@[simp]
theorem edist_toAdd (a b : Multiplicative X) : edist (toAdd a) (toAdd b) = edist a b 
Arguments: {X : Type u_1} [EDist X] (a b : Multiplicative X)
Goal: edist (Multiplicative.toAdd a) (Multiplicative.toAdd b) = edist a b
-- edist_toDual
@[simp]
theorem edist_toDual (a b : X) : edist (toDual a) (toDual b) = edist a b 
Arguments: {X : Type u_1} [EDist X] (a b : X)
Goal: edist (OrderDual.toDual a) (OrderDual.toDual b) = edist a b
-- edist_ofDual
@[simp]
theorem edist_ofDual (a b : Xᵒᵈ) : edist (ofDual a) (ofDual b) = edist a b 
Arguments: {X : Type u_1} [EDist X] (a b : Xᵒᵈ)
Goal: edist (OrderDual.ofDual a) (OrderDual.ofDual b) = edist a b
-- IsHomeomorphicTrivialFiberBundle.proj_eq
protected theorem proj_eq (h : IsHomeomorphicTrivialFiberBundle F proj) :
    ∃ e : Z ≃ₜ B × F, proj = Prod.fst ∘ e 
Arguments: {B : Type u_1} {F : Type u_2} {Z : Type u_3} [TopologicalSpace B] [TopologicalSpace F] [TopologicalSpace Z] {proj : Z → B} (h : IsHomeomorphicTrivialFiberBundle F proj)
Goal: ∃ e, proj = Prod.fst ∘ ⇑e
-- IsHomeomorphicTrivialFiberBundle.surjective_proj
protected theorem surjective_proj [Nonempty F] (h : IsHomeomorphicTrivialFiberBundle F proj) :
    Function.Surjective proj 
Arguments: {B : Type u_1} {F : Type u_2} {Z : Type u_3} [TopologicalSpace B] [TopologicalSpace F] [TopologicalSpace Z] {proj : Z → B} [Nonempty F] (h : IsHomeomorphicTrivialFiberBundle F proj)
Goal: Function.Surjective proj
-- IsHomeomorphicTrivialFiberBundle.continuous_proj
protected theorem continuous_proj (h : IsHomeomorphicTrivialFiberBundle F proj) :
    Continuous proj 
Arguments: {B : Type u_1} {F : Type u_2} {Z : Type u_3} [TopologicalSpace B] [TopologicalSpace F] [TopologicalSpace Z] {proj : Z → B} (h : IsHomeomorphicTrivialFiberBundle F proj)
Goal: Continuous proj
-- IsHomeomorphicTrivialFiberBundle.isOpenMap_proj
protected theorem isOpenMap_proj (h : IsHomeomorphicTrivialFiberBundle F proj) :
    IsOpenMap proj 
Arguments: {B : Type u_1} {F : Type u_2} {Z : Type u_3} [TopologicalSpace B] [TopologicalSpace F] [TopologicalSpace Z] {proj : Z → B} (h : IsHomeomorphicTrivialFiberBundle F proj)
Goal: IsOpenMap proj
-- IsHomeomorphicTrivialFiberBundle.quotientMap_proj
protected theorem quotientMap_proj [Nonempty F] (h : IsHomeomorphicTrivialFiberBundle F proj) :
    QuotientMap proj 
Arguments: {B : Type u_1} {F : Type u_2} {Z : Type u_3} [TopologicalSpace B] [TopologicalSpace F] [TopologicalSpace Z] {proj : Z → B} [Nonempty F] (h : IsHomeomorphicTrivialFiberBundle F proj)
Goal: QuotientMap proj
-- isHomeomorphicTrivialFiberBundle_fst
theorem isHomeomorphicTrivialFiberBundle_fst :
    IsHomeomorphicTrivialFiberBundle F (Prod.fst : B × F → B) 
Arguments: {B : Type u_1} (F : Type u_2) [TopologicalSpace B] [TopologicalSpace F]
Goal: IsHomeomorphicTrivialFiberBundle F Prod.fst
-- isHomeomorphicTrivialFiberBundle_snd
theorem isHomeomorphicTrivialFiberBundle_snd :
    IsHomeomorphicTrivialFiberBundle F (Prod.snd : F × B → B) 
Arguments: {B : Type u_1} (F : Type u_2) [TopologicalSpace B] [TopologicalSpace F]
Goal: IsHomeomorphicTrivialFiberBundle F Prod.snd
-- CompHausLike.finiteCoproduct.ι_desc
@[reassoc (attr := simp)]
lemma finiteCoproduct.ι_desc {B : CompHausLike P} (e : (a : α) → (X a ⟶ B)) (a : α) :
    finiteCoproduct.ι X a ≫ finiteCoproduct.desc X e = e a 
Arguments: {P : TopCat → Prop} {α : Type w} [Finite α] (X : α → CompHausLike P) [CompHausLike.HasExplicitFiniteCoproduct X] {B : CompHausLike P} (e : (a : α) → X a ⟶ B) (a : α)
Goal: CategoryTheory.CategoryStruct.comp (CompHausLike.finiteCoproduct.ι X a) (CompHausLike.finiteCoproduct.desc X e) = e a