ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- LightProfinite.pullback.cone_pt
@[simps! pt π]
def pullback.cone : Limits.PullbackCone f g 
Arguments: {X Y B : LightProfinite} (f : X ⟶ B) (g : Y ⟶ B)
Goal: (LightProfinite.pullback.cone f g).pt = LightProfinite.pullback f g
-- LightProfinite.pullback.cone_π
@[simps! pt π]
def pullback.cone : Limits.PullbackCone f g 
Arguments: {X Y B : LightProfinite} (f : X ⟶ B) (g : Y ⟶ B)
Goal: (LightProfinite.pullback.cone f g).π =
  {
    app := fun j =>
      Option.rec (CategoryTheory.CategoryStruct.comp (LightProfinite.pullback.fst f g) f)
        (fun val =>
          CategoryTheory.Limits.WalkingPair.rec (LightProfinite.pullback.fst f g) (LightProfinite.pullback.snd f g) val)
        j,
    naturality := ⋯ }
-- LightProfinite.pullback.isLimit_lift
@[simps! lift]
def pullback.isLimit : Limits.IsLimit (pullback.cone f g) 
Arguments: {X Y B : LightProfinite} (f : X ⟶ B) (g : Y ⟶ B) (s : CategoryTheory.Limits.PullbackCone f g)
Goal: (LightProfinite.pullback.isLimit f g).lift s = LightProfinite.pullback.lift f g s.fst s.snd ⋯
-- LightProfinite.pullback_fst_eq
theorem pullback_fst_eq :
    LightProfinite.pullback.fst f g = (pullbackIsoPullback f g).hom ≫ Limits.pullback.fst f g 
Arguments: {X Y B : LightProfinite} (f : X ⟶ B) (g : Y ⟶ B)
Goal: LightProfinite.pullback.fst f g =
  CategoryTheory.CategoryStruct.comp (LightProfinite.pullbackIsoPullback f g).hom
    (CategoryTheory.Limits.pullback.fst f g)
-- LightProfinite.pullback_snd_eq
theorem pullback_snd_eq :
    LightProfinite.pullback.snd f g = (pullbackIsoPullback f g).hom ≫ Limits.pullback.snd f g 
Arguments: {X Y B : LightProfinite} (f : X ⟶ B) (g : Y ⟶ B)
Goal: LightProfinite.pullback.snd f g =
  CategoryTheory.CategoryStruct.comp (LightProfinite.pullbackIsoPullback f g).hom
    (CategoryTheory.Limits.pullback.snd f g)
-- LightProfinite.finiteCoproduct.ι_desc
@[reassoc (attr := simp)]
lemma finiteCoproduct.ι_desc {B : LightProfinite.{max u w}} (e : (a : α) → (X a ⟶ B)) (a : α) :
    finiteCoproduct.ι X a ≫ finiteCoproduct.desc X e = e a 
Arguments: {α : Type w} [Finite α] (X : α → LightProfinite) {B : LightProfinite} (e : (a : α) → X a ⟶ B) (a : α)
Goal: CategoryTheory.CategoryStruct.comp (LightProfinite.finiteCoproduct.ι X a) (LightProfinite.finiteCoproduct.desc X e) =
  e a
-- LightProfinite.finiteCoproduct.hom_ext
lemma finiteCoproduct.hom_ext {B : LightProfinite.{max u w}} (f g : finiteCoproduct X ⟶ B)
    (h : ∀ a : α, finiteCoproduct.ι X a ≫ f = finiteCoproduct.ι X a ≫ g) : f = g 
Arguments: {α : Type w} [Finite α] (X : α → LightProfinite) {B : LightProfinite} (f g : LightProfinite.finiteCoproduct X ⟶ B) (h :
  ∀ (a : α),
    CategoryTheory.CategoryStruct.comp (LightProfinite.finiteCoproduct.ι X a) f =
      CategoryTheory.CategoryStruct.comp (LightProfinite.finiteCoproduct.ι X a) g)
Goal: f = g
-- LightProfinite.Sigma.ι_comp_toFiniteCoproduct
theorem Sigma.ι_comp_toFiniteCoproduct (a : α) :
    (Limits.Sigma.ι X a) ≫ (coproductIsoCoproduct X).inv = finiteCoproduct.ι X a 
Arguments: {α : Type w} [Finite α] (X : α → LightProfinite) (a : α)
Goal: CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.Sigma.ι X a) (LightProfinite.coproductIsoCoproduct X).inv =
  LightProfinite.finiteCoproduct.ι X a
-- LightProfinite.finiteCoproduct.ι_injective
lemma finiteCoproduct.ι_injective (a : α) : Function.Injective (finiteCoproduct.ι X a) 
Arguments: {α : Type w} [Finite α] (X : α → LightProfinite) (a : α)
Goal: Function.Injective ⇑(LightProfinite.finiteCoproduct.ι X a)
-- LightProfinite.finiteCoproduct.ι_jointly_surjective
lemma finiteCoproduct.ι_jointly_surjective (R : finiteCoproduct X) :
    ∃ (a : α) (r : X a), R = finiteCoproduct.ι X a r 
Arguments: {α : Type w} [Finite α] (X : α → LightProfinite) (R : ↑(LightProfinite.finiteCoproduct X).toTop)
Goal: ∃ a r, R = (LightProfinite.finiteCoproduct.ι X a) r
-- LightProfinite.finiteCoproduct.ι_desc_apply
lemma finiteCoproduct.ι_desc_apply {B : LightProfinite} {π : (a : α) → X a ⟶ B} (a : α) :
    ∀ x, finiteCoproduct.desc X π (finiteCoproduct.ι X a x) = π a x 
Arguments: {α : Type w} [Finite α] (X : α → LightProfinite) {B : LightProfinite} {π : (a : α) → X a ⟶ B} (a : α) (x : (CategoryTheory.forget LightProfinite).obj (X a))
Goal: (LightProfinite.finiteCoproduct.desc X π) ((LightProfinite.finiteCoproduct.ι X a) x) = (π a) x
-- EMetric.t4Space
theorem t4Space [EMetricSpace α] : T4Space α 
Arguments: {α : Type u_1} [EMetricSpace α]
Goal: T4Space α
-- uniformity_dist_of_mem_uniformity
theorem uniformity_dist_of_mem_uniformity [LinearOrder β] {U : Filter (α × α)} (z : β)
    (D : α → α → β) (H : ∀ s, s ∈ U ↔ ∃ ε > z, ∀ {a b : α}, D a b < ε → (a, b) ∈ s) :
    U = ⨅ ε > z, 𝓟 { p : α × α | D p.1 p.2 < ε } 
Arguments: {α : Type u} {β : Type v} [LinearOrder β] {U : Filter (α × α)} (z : β) (D : α → α → β) (H : ∀ (s : Set (α × α)), s ∈ U ↔ ∃ ε > z, ∀ {a b : α}, D a b < ε → (a, b) ∈ s)
Goal: U = ⨅ ε, ⨅ (_ : ε > z), 𝓟 {p | D p.1 p.2 < ε}
-- PseudoEMetricSpace.edist_self
class PseudoEMetricSpace (α : Type u) extends EDist α : Type u where
  edist_self : ∀ x : α, edist x x = 0
  edist_comm : ∀ x y : α, edist x y = edist y x
  edist_triangle : ∀ x y z : α, edist x z ≤ edist x y + edist y z
  toUniformSpace : UniformSpace α := uniformSpaceOfEDist edist edist_self edist_comm edist_triangle
  uniformity_edist : 𝓤 α = ⨅ ε > 0, 𝓟 { p : α × α | edist p.1 p.2 < ε } := by rfl
Arguments: {α : Type u} [self : PseudoEMetricSpace α] (x : α)
Goal: edist x x = 0
-- PseudoEMetricSpace.edist_triangle
class PseudoEMetricSpace (α : Type u) extends EDist α : Type u where
  edist_self : ∀ x : α, edist x x = 0
  edist_comm : ∀ x y : α, edist x y = edist y x
  edist_triangle : ∀ x y z : α, edist x z ≤ edist x y + edist y z
  toUniformSpace : UniformSpace α := uniformSpaceOfEDist edist edist_self edist_comm edist_triangle
  uniformity_edist : 𝓤 α = ⨅ ε > 0, 𝓟 { p : α × α | edist p.1 p.2 < ε } := by rfl
Arguments: {α : Type u} [self : PseudoEMetricSpace α] (x y z : α)
Goal: edist x z ≤ edist x y + edist y z
-- PseudoEMetricSpace.edist_comm
class PseudoEMetricSpace (α : Type u) extends EDist α : Type u where
  edist_self : ∀ x : α, edist x x = 0
  edist_comm : ∀ x y : α, edist x y = edist y x
  edist_triangle : ∀ x y z : α, edist x z ≤ edist x y + edist y z
  toUniformSpace : UniformSpace α := uniformSpaceOfEDist edist edist_self edist_comm edist_triangle
  uniformity_edist : 𝓤 α = ⨅ ε > 0, 𝓟 { p : α × α | edist p.1 p.2 < ε } := by rfl
Arguments: {α : Type u} [self : PseudoEMetricSpace α] (x y : α)
Goal: edist x y = edist y x
-- PseudoEMetricSpace.uniformity_edist
class PseudoEMetricSpace (α : Type u) extends EDist α : Type u where
  edist_self : ∀ x : α, edist x x = 0
  edist_comm : ∀ x y : α, edist x y = edist y x
  edist_triangle : ∀ x y z : α, edist x z ≤ edist x y + edist y z
  toUniformSpace : UniformSpace α := uniformSpaceOfEDist edist edist_self edist_comm edist_triangle
  uniformity_edist : 𝓤 α = ⨅ ε > 0, 𝓟 { p : α × α | edist p.1 p.2 < ε } := by rfl
Arguments: {α : Type u} [self : PseudoEMetricSpace α]
Goal: 𝓤 α = ⨅ ε, ⨅ (_ : ε > 0), 𝓟 {p | edist p.1 p.2 < ε}
-- PseudoEMetricSpace.ext
@[ext]
protected theorem PseudoEMetricSpace.ext {α : Type*} {m m' : PseudoEMetricSpace α}
    (h : m.toEDist = m'.toEDist) : m = m' 
Arguments: {α : Type u_2} {m m' : PseudoEMetricSpace α} (h : PseudoEMetricSpace.toEDist = PseudoEMetricSpace.toEDist)
Goal: m = m'
-- edist_triangle_left
theorem edist_triangle_left (x y z : α) : edist x y ≤ edist z x + edist z y 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y z : α)
Goal: edist x y ≤ edist z x + edist z y
-- edist_triangle_right
theorem edist_triangle_right (x y z : α) : edist x y ≤ edist x z + edist y z 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y z : α)
Goal: edist x y ≤ edist x z + edist y z
-- edist_congr_right
theorem edist_congr_right {x y z : α} (h : edist x y = 0) : edist x z = edist y z 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y z : α} (h : edist x y = 0)
Goal: edist x z = edist y z
-- edist_congr_left
theorem edist_congr_left {x y z : α} (h : edist x y = 0) : edist z x = edist z y 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y z : α} (h : edist x y = 0)
Goal: edist z x = edist z y
-- edist_congr
theorem edist_congr {w x y z : α} (hl : edist w x = 0) (hr : edist y z = 0) :
    edist w y = edist x z 
Arguments: {α : Type u} [PseudoEMetricSpace α] {w x y z : α} (hl : edist w x = 0) (hr : edist y z = 0)
Goal: edist w y = edist x z
-- edist_triangle4
theorem edist_triangle4 (x y z t : α) : edist x t ≤ edist x y + edist y z + edist z t 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y z t : α)
Goal: edist x t ≤ edist x y + edist y z + edist z t
-- edist_le_Ico_sum_edist
theorem edist_le_Ico_sum_edist (f : ℕ → α) {m n} (h : m ≤ n) :
    edist (f m) (f n) ≤ ∑ i ∈ Finset.Ico m n, edist (f i) (f (i + 1)) 
Arguments: {α : Type u} [PseudoEMetricSpace α] (f : ℕ → α) {m n : ℕ} (h : m ≤ n)
Goal: edist (f m) (f n) ≤ ∑ i ∈ Finset.Ico m n, edist (f i) (f (i + 1))
-- edist_le_range_sum_edist
theorem edist_le_range_sum_edist (f : ℕ → α) (n : ℕ) :
    edist (f 0) (f n) ≤ ∑ i ∈ Finset.range n, edist (f i) (f (i + 1)) 
Arguments: {α : Type u} [PseudoEMetricSpace α] (f : ℕ → α) (n : ℕ)
Goal: edist (f 0) (f n) ≤ ∑ i ∈ Finset.range n, edist (f i) (f (i + 1))
-- edist_le_Ico_sum_of_edist_le
theorem edist_le_Ico_sum_of_edist_le {f : ℕ → α} {m n} (hmn : m ≤ n) {d : ℕ → ℝ≥0∞}
    (hd : ∀ {k}, m ≤ k → k < n → edist (f k) (f (k + 1)) ≤ d k) :
    edist (f m) (f n) ≤ ∑ i ∈ Finset.Ico m n, d i 
Arguments: {α : Type u} [PseudoEMetricSpace α] {f : ℕ → α} {m n : ℕ} (hmn : m ≤ n) {d : ℕ → ℝ≥0∞} (hd : ∀ {k : ℕ}, m ≤ k → k < n → edist (f k) (f (k + 1)) ≤ d k)
Goal: edist (f m) (f n) ≤ ∑ i ∈ Finset.Ico m n, d i
-- edist_le_range_sum_of_edist_le
theorem edist_le_range_sum_of_edist_le {f : ℕ → α} (n : ℕ) {d : ℕ → ℝ≥0∞}
    (hd : ∀ {k}, k < n → edist (f k) (f (k + 1)) ≤ d k) :
    edist (f 0) (f n) ≤ ∑ i ∈ Finset.range n, d i 
Arguments: {α : Type u} [PseudoEMetricSpace α] {f : ℕ → α} (n : ℕ) {d : ℕ → ℝ≥0∞} (hd : ∀ {k : ℕ}, k < n → edist (f k) (f (k + 1)) ≤ d k)
Goal: edist (f 0) (f n) ≤ ∑ i ∈ Finset.range n, d i
-- uniformity_pseudoedist
theorem uniformity_pseudoedist : 𝓤 α = ⨅ ε > 0, 𝓟 { p : α × α | edist p.1 p.2 < ε } 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: 𝓤 α = ⨅ ε, ⨅ (_ : ε > 0), 𝓟 {p | edist p.1 p.2 < ε}
-- uniformSpace_edist
theorem uniformSpace_edist :
    ‹PseudoEMetricSpace α›.toUniformSpace =
      uniformSpaceOfEDist edist edist_self edist_comm edist_triangle 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: PseudoEMetricSpace.toUniformSpace = uniformSpaceOfEDist edist ⋯ ⋯ ⋯
-- uniformity_basis_edist
theorem uniformity_basis_edist :
    (𝓤 α).HasBasis (fun ε : ℝ≥0∞ => 0 < ε) fun ε => { p : α × α | edist p.1 p.2 < ε } 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: (𝓤 α).HasBasis (fun ε => 0 < ε) fun ε => {p | edist p.1 p.2 < ε}
-- mem_uniformity_edist
theorem mem_uniformity_edist {s : Set (α × α)} :
    s ∈ 𝓤 α ↔ ∃ ε > 0, ∀ {a b : α}, edist a b < ε → (a, b) ∈ s 
Arguments: {α : Type u} [PseudoEMetricSpace α] {s : Set (α × α)}
Goal: s ∈ 𝓤 α ↔ ∃ ε > 0, ∀ {a b : α}, edist a b < ε → (a, b) ∈ s
-- EMetric.mk_uniformity_basis
protected theorem EMetric.mk_uniformity_basis {β : Type*} {p : β → Prop} {f : β → ℝ≥0∞}
    (hf₀ : ∀ x, p x → 0 < f x) (hf : ∀ ε, 0 < ε → ∃ x, p x ∧ f x ≤ ε) :
    (𝓤 α).HasBasis p fun x => { p : α × α | edist p.1 p.2 < f x } 
Arguments: {α : Type u} [PseudoEMetricSpace α] {β : Type u_2} {p : β → Prop} {f : β → ℝ≥0∞} (hf₀ : ∀ (x : β), p x → 0 < f x) (hf : ∀ (ε : ℝ≥0∞), 0 < ε → ∃ x, p x ∧ f x ≤ ε)
Goal: (𝓤 α).HasBasis p fun x => {p | edist p.1 p.2 < f x}
-- EMetric.mk_uniformity_basis_le
protected theorem EMetric.mk_uniformity_basis_le {β : Type*} {p : β → Prop} {f : β → ℝ≥0∞}
    (hf₀ : ∀ x, p x → 0 < f x) (hf : ∀ ε, 0 < ε → ∃ x, p x ∧ f x ≤ ε) :
    (𝓤 α).HasBasis p fun x => { p : α × α | edist p.1 p.2 ≤ f x } 
Arguments: {α : Type u} [PseudoEMetricSpace α] {β : Type u_2} {p : β → Prop} {f : β → ℝ≥0∞} (hf₀ : ∀ (x : β), p x → 0 < f x) (hf : ∀ (ε : ℝ≥0∞), 0 < ε → ∃ x, p x ∧ f x ≤ ε)
Goal: (𝓤 α).HasBasis p fun x => {p | edist p.1 p.2 ≤ f x}
-- uniformity_basis_edist_le
theorem uniformity_basis_edist_le :
    (𝓤 α).HasBasis (fun ε : ℝ≥0∞ => 0 < ε) fun ε => { p : α × α | edist p.1 p.2 ≤ ε } 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: (𝓤 α).HasBasis (fun ε => 0 < ε) fun ε => {p | edist p.1 p.2 ≤ ε}
-- uniformity_basis_edist'
theorem uniformity_basis_edist' (ε' : ℝ≥0∞) (hε' : 0 < ε') :
    (𝓤 α).HasBasis (fun ε : ℝ≥0∞ => ε ∈ Ioo 0 ε') fun ε => { p : α × α | edist p.1 p.2 < ε } 
Arguments: {α : Type u} [PseudoEMetricSpace α] (ε' : ℝ≥0∞) (hε' : 0 < ε')
Goal: (𝓤 α).HasBasis (fun ε => ε ∈ Set.Ioo 0 ε') fun ε => {p | edist p.1 p.2 < ε}
-- uniformity_basis_edist_le'
theorem uniformity_basis_edist_le' (ε' : ℝ≥0∞) (hε' : 0 < ε') :
    (𝓤 α).HasBasis (fun ε : ℝ≥0∞ => ε ∈ Ioo 0 ε') fun ε => { p : α × α | edist p.1 p.2 ≤ ε } 
Arguments: {α : Type u} [PseudoEMetricSpace α] (ε' : ℝ≥0∞) (hε' : 0 < ε')
Goal: (𝓤 α).HasBasis (fun ε => ε ∈ Set.Ioo 0 ε') fun ε => {p | edist p.1 p.2 ≤ ε}
-- uniformity_basis_edist_nnreal
theorem uniformity_basis_edist_nnreal :
    (𝓤 α).HasBasis (fun ε : ℝ≥0 => 0 < ε) fun ε => { p : α × α | edist p.1 p.2 < ε } 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: (𝓤 α).HasBasis (fun ε => 0 < ε) fun ε => {p | edist p.1 p.2 < ↑ε}
-- uniformity_basis_edist_nnreal_le
theorem uniformity_basis_edist_nnreal_le :
    (𝓤 α).HasBasis (fun ε : ℝ≥0 => 0 < ε) fun ε => { p : α × α | edist p.1 p.2 ≤ ε } 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: (𝓤 α).HasBasis (fun ε => 0 < ε) fun ε => {p | edist p.1 p.2 ≤ ↑ε}
-- uniformity_basis_edist_inv_nat
theorem uniformity_basis_edist_inv_nat :
    (𝓤 α).HasBasis (fun _ => True) fun n : ℕ => { p : α × α | edist p.1 p.2 < (↑n)⁻¹ } 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: (𝓤 α).HasBasis (fun x => True) fun n => {p | edist p.1 p.2 < (↑n)⁻¹}
-- uniformity_basis_edist_inv_two_pow
theorem uniformity_basis_edist_inv_two_pow :
    (𝓤 α).HasBasis (fun _ => True) fun n : ℕ => { p : α × α | edist p.1 p.2 < 2⁻¹ ^ n } 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: (𝓤 α).HasBasis (fun x => True) fun n => {p | edist p.1 p.2 < 2⁻¹ ^ n}
-- edist_mem_uniformity
theorem edist_mem_uniformity {ε : ℝ≥0∞} (ε0 : 0 < ε) : { p : α × α | edist p.1 p.2 < ε } ∈ 𝓤 α 
Arguments: {α : Type u} [PseudoEMetricSpace α] {ε : ℝ≥0∞} (ε0 : 0 < ε)
Goal: {p | edist p.1 p.2 < ε} ∈ 𝓤 α
-- EMetric.uniformContinuousOn_iff
theorem uniformContinuousOn_iff [PseudoEMetricSpace β] {f : α → β} {s : Set α} :
    UniformContinuousOn f s ↔
      ∀ ε > 0, ∃ δ > 0, ∀ {a}, a ∈ s → ∀ {b}, b ∈ s → edist a b < δ → edist (f a) (f b) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : α → β} {s : Set α}
Goal: UniformContinuousOn f s ↔ ∀ ε > 0, ∃ δ > 0, ∀ {a : α}, a ∈ s → ∀ {b : α}, b ∈ s → edist a b < δ → edist (f a) (f b) < ε
-- EMetric.uniformContinuous_iff
theorem uniformContinuous_iff [PseudoEMetricSpace β] {f : α → β} :
    UniformContinuous f ↔ ∀ ε > 0, ∃ δ > 0, ∀ {a b : α}, edist a b < δ → edist (f a) (f b) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : α → β}
Goal: UniformContinuous f ↔ ∀ ε > 0, ∃ δ > 0, ∀ {a b : α}, edist a b < δ → edist (f a) (f b) < ε
-- EMetric.uniformInducing_iff
theorem uniformInducing_iff [PseudoEMetricSpace β] {f : α → β} :
    UniformInducing f ↔ UniformContinuous f ∧
      ∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : α → β}
Goal: UniformInducing f ↔ UniformContinuous f ∧ ∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ
-- EMetric.uniformEmbedding_iff
nonrec theorem uniformEmbedding_iff [PseudoEMetricSpace β] {f : α → β} :
    UniformEmbedding f ↔ Function.Injective f ∧ UniformContinuous f ∧
      ∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : α → β}
Goal: UniformEmbedding f ↔
  Function.Injective f ∧ UniformContinuous f ∧ ∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ
-- EMetric.controlled_of_uniformEmbedding
theorem controlled_of_uniformEmbedding [PseudoEMetricSpace β] {f : α → β} (h : 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 u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : α → β} (h : UniformEmbedding f)
Goal: (∀ ε > 0, ∃ δ > 0, ∀ {a b : α}, edist a b < δ → edist (f a) (f b) < ε) ∧
  ∀ δ > 0, ∃ ε > 0, ∀ {a b : α}, edist (f a) (f b) < ε → edist a b < δ
-- EMetric.cauchy_iff
protected theorem cauchy_iff {f : Filter α} :
    Cauchy f ↔ f ≠ ⊥ ∧ ∀ ε > 0, ∃ t ∈ f, ∀ x, x ∈ t → ∀ y, y ∈ t → edist x y < ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {f : Filter α}
Goal: Cauchy f ↔ f ≠ ⊥ ∧ ∀ ε > 0, ∃ t ∈ f, ∀ x ∈ t, ∀ y ∈ t, edist x y < ε
-- EMetric.complete_of_convergent_controlled_sequences
theorem complete_of_convergent_controlled_sequences (B : ℕ → ℝ≥0∞) (hB : ∀ n, 0 < B n)
    (H : ∀ u : ℕ → α, (∀ N n m : ℕ, N ≤ n → N ≤ m → edist (u n) (u m) < B N) →
      ∃ x, Tendsto u atTop (𝓝 x)) :
    CompleteSpace α 
Arguments: {α : Type u} [PseudoEMetricSpace α] (B : ℕ → ℝ≥0∞) (hB : ∀ (n : ℕ), 0 < B n) (H : ∀ (u : ℕ → α), (∀ (N n m : ℕ), N ≤ n → N ≤ m → edist (u n) (u m) < B N) → ∃ x, Filter.Tendsto u Filter.atTop (𝓝 x))
Goal: CompleteSpace α
-- EMetric.complete_of_cauchySeq_tendsto
theorem complete_of_cauchySeq_tendsto :
    (∀ u : ℕ → α, CauchySeq u → ∃ a, Tendsto u atTop (𝓝 a)) → CompleteSpace α 
Arguments: {α : Type u} [PseudoEMetricSpace α]
Goal: (∀ (u : ℕ → α), CauchySeq u → ∃ a, Filter.Tendsto u Filter.atTop (𝓝 a)) → CompleteSpace α
-- EMetric.tendstoLocallyUniformlyOn_iff
theorem tendstoLocallyUniformlyOn_iff {ι : Type*} [TopologicalSpace β] {F : ι → β → α} {f : β → α}
    {p : Filter ι} {s : Set β} :
    TendstoLocallyUniformlyOn F f p s ↔
      ∀ ε > 0, ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, ∀ᶠ n in p, ∀ y ∈ t, edist (f y) (F n y) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {ι : Type u_2} [TopologicalSpace β] {F : ι → β → α} {f : β → α} {p : Filter ι} {s : Set β}
Goal: TendstoLocallyUniformlyOn F f p s ↔ ∀ ε > 0, ∀ x ∈ s, ∃ t ∈ 𝓝[s] x, ∀ᶠ (n : ι) in p, ∀ y ∈ t, edist (f y) (F n y) < ε
-- EMetric.tendstoUniformlyOn_iff
theorem tendstoUniformlyOn_iff {ι : Type*} {F : ι → β → α} {f : β → α} {p : Filter ι} {s : Set β} :
    TendstoUniformlyOn F f p s ↔ ∀ ε > 0, ∀ᶠ n in p, ∀ x ∈ s, edist (f x) (F n x) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {ι : Type u_2} {F : ι → β → α} {f : β → α} {p : Filter ι} {s : Set β}
Goal: TendstoUniformlyOn F f p s ↔ ∀ ε > 0, ∀ᶠ (n : ι) in p, ∀ x ∈ s, edist (f x) (F n x) < ε
-- EMetric.tendstoLocallyUniformly_iff
theorem tendstoLocallyUniformly_iff {ι : Type*} [TopologicalSpace β] {F : ι → β → α} {f : β → α}
    {p : Filter ι} :
    TendstoLocallyUniformly F f p ↔
      ∀ ε > 0, ∀ x : β, ∃ t ∈ 𝓝 x, ∀ᶠ n in p, ∀ y ∈ t, edist (f y) (F n y) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {ι : Type u_2} [TopologicalSpace β] {F : ι → β → α} {f : β → α} {p : Filter ι}
Goal: TendstoLocallyUniformly F f p ↔ ∀ ε > 0, ∀ (x : β), ∃ t ∈ 𝓝 x, ∀ᶠ (n : ι) in p, ∀ y ∈ t, edist (f y) (F n y) < ε
-- EMetric.tendstoUniformly_iff
theorem tendstoUniformly_iff {ι : Type*} {F : ι → β → α} {f : β → α} {p : Filter ι} :
    TendstoUniformly F f p ↔ ∀ ε > 0, ∀ᶠ n in p, ∀ x, edist (f x) (F n x) < ε 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] {ι : Type u_2} {F : ι → β → α} {f : β → α} {p : Filter ι}
Goal: TendstoUniformly F f p ↔ ∀ ε > 0, ∀ᶠ (n : ι) in p, ∀ (x : β), edist (f x) (F n x) < ε
-- Subtype.edist_eq
theorem Subtype.edist_eq {p : α → Prop} (x y : Subtype p) : edist x y = edist (x : α) y 
Arguments: {α : Type u} [PseudoEMetricSpace α] {p : α → Prop} (x y : Subtype p)
Goal: edist x y = edist ↑x ↑y
-- AddOpposite.edist_unop
@[to_additive]
theorem edist_unop (x y : αᵐᵒᵖ) : edist (unop x) (unop y) = edist x y 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y : αᵃᵒᵖ)
Goal: edist (AddOpposite.unop x) (AddOpposite.unop y) = edist x y
-- MulOpposite.edist_unop
@[to_additive]
theorem edist_unop (x y : αᵐᵒᵖ) : edist (unop x) (unop y) = edist x y 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y : αᵐᵒᵖ)
Goal: edist (MulOpposite.unop x) (MulOpposite.unop y) = edist x y
-- MulOpposite.edist_op
@[to_additive]
theorem edist_op (x y : α) : edist (op x) (op y) = edist x y 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y : α)
Goal: edist (MulOpposite.op x) (MulOpposite.op y) = edist x y
-- AddOpposite.edist_op
@[to_additive]
theorem edist_op (x y : α) : edist (op x) (op y) = edist x y 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y : α)
Goal: edist (AddOpposite.op x) (AddOpposite.op y) = edist x y
-- ULift.edist_eq
theorem ULift.edist_eq (x y : ULift α) : edist x y = edist x.down y.down 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y : ULift.{u_2, u} α)
Goal: edist x y = edist x.down y.down
-- ULift.edist_up_up
@[simp]
theorem ULift.edist_up_up (x y : α) : edist (ULift.up x) (ULift.up y) = edist x y 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x y : α)
Goal: edist { down := x } { down := y } = edist x y
-- Prod.edist_eq
theorem Prod.edist_eq [PseudoEMetricSpace β] (x y : α × β) :
    edist x y = max (edist x.1 y.1) (edist x.2 y.2) 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (x y : α × β)
Goal: edist x y = max (edist x.1 y.1) (edist x.2 y.2)
-- edist_pi_def
theorem edist_pi_def [∀ b, EDist (π b)] (f g : ∀ b, π b) :
    edist f g = Finset.sup univ fun b => edist (f b) (g b) 
Arguments: {β : Type v} {π : β → Type u_2} [Fintype β] [(b : β) → EDist (π b)] (f g : (b : β) → π b)
Goal: edist f g = Finset.univ.sup fun b => edist (f b) (g b)
-- edist_le_pi_edist
theorem edist_le_pi_edist [∀ b, EDist (π b)] (f g : ∀ b, π b) (b : β) :
    edist (f b) (g b) ≤ edist f g 
Arguments: {β : Type v} {π : β → Type u_2} [Fintype β] [(b : β) → EDist (π b)] (f g : (b : β) → π b) (b : β)
Goal: edist (f b) (g b) ≤ edist f g
-- edist_pi_le_iff
theorem edist_pi_le_iff [∀ b, EDist (π b)] {f g : ∀ b, π b} {d : ℝ≥0∞} :
    edist f g ≤ d ↔ ∀ b, edist (f b) (g b) ≤ d 
Arguments: {β : Type v} {π : β → Type u_2} [Fintype β] [(b : β) → EDist (π b)] {f g : (b : β) → π b} {d : ℝ≥0∞}
Goal: edist f g ≤ d ↔ ∀ (b : β), edist (f b) (g b) ≤ d
-- edist_pi_const_le
theorem edist_pi_const_le (a b : α) : (edist (fun _ : β => a) fun _ => b) ≤ edist a b 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [Fintype β] (a b : α)
Goal: (edist (fun x => a) fun x => b) ≤ edist a b
-- edist_pi_const
@[simp]
theorem edist_pi_const [Nonempty β] (a b : α) : (edist (fun _ : β => a) fun _ => b) = edist a b 
Arguments: {α : Type u} {β : Type v} [PseudoEMetricSpace α] [Fintype β] [Nonempty β] (a b : α)
Goal: (edist (fun x => a) fun x => b) = edist a b
-- EMetric.mem_ball
@[simp] theorem mem_ball : y ∈ ball x ε ↔ edist y x < ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞}
Goal: y ∈ EMetric.ball x ε ↔ edist y x < ε
-- EMetric.mem_ball'
theorem mem_ball' : y ∈ ball x ε ↔ edist x y < ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞}
Goal: y ∈ EMetric.ball x ε ↔ edist x y < ε
-- EMetric.mem_closedBall
@[simp] theorem mem_closedBall : y ∈ closedBall x ε ↔ edist y x ≤ ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞}
Goal: y ∈ EMetric.closedBall x ε ↔ edist y x ≤ ε
-- EMetric.mem_closedBall'
theorem mem_closedBall' : y ∈ closedBall x ε ↔ edist x y ≤ ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞}
Goal: y ∈ EMetric.closedBall x ε ↔ edist x y ≤ ε
-- EMetric.closedBall_top
@[simp]
theorem closedBall_top (x : α) : closedBall x ∞ = univ 
Arguments: {α : Type u} [PseudoEMetricSpace α] (x : α)
Goal: EMetric.closedBall x ⊤ = Set.univ
-- EMetric.ball_subset_closedBall
theorem ball_subset_closedBall : ball x ε ⊆ closedBall x ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x : α} {ε : ℝ≥0∞}
Goal: EMetric.ball x ε ⊆ EMetric.closedBall x ε
-- EMetric.pos_of_mem_ball
theorem pos_of_mem_ball (hy : y ∈ ball x ε) : 0 < ε 
Arguments: {α : Type u} [PseudoEMetricSpace α] {x y : α} {ε : ℝ≥0∞} (hy : y ∈ EMetric.ball x ε)
Goal: 0 < ε