ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.einfsep_lt_top
theorem einfsep_lt_top :
    s.einfsep < ∞ ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ edist x y < ∞ 
Arguments: {α : Type u_1} [EDist α] {s : Set α}
Goal: s.einfsep < ⊤ ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ edist x y < ⊤
-- Set.einfsep_ne_top
theorem einfsep_ne_top :
    s.einfsep ≠ ∞ ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ edist x y ≠ ∞ 
Arguments: {α : Type u_1} [EDist α] {s : Set α}
Goal: s.einfsep ≠ ⊤ ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ edist x y ≠ ⊤
-- Set.einfsep_lt_iff
theorem einfsep_lt_iff {d} :
    s.einfsep < d ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ edist x y < d 
Arguments: {α : Type u_1} [EDist α] {s : Set α} {d : ENNReal}
Goal: s.einfsep < d ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ edist x y < d
-- Set.nontrivial_of_einfsep_lt_top
theorem nontrivial_of_einfsep_lt_top (hs : s.einfsep < ∞) : s.Nontrivial 
Arguments: {α : Type u_1} [EDist α] {s : Set α} (hs : s.einfsep < ⊤)
Goal: s.Nontrivial
-- Set.nontrivial_of_einfsep_ne_top
theorem nontrivial_of_einfsep_ne_top (hs : s.einfsep ≠ ∞) : s.Nontrivial 
Arguments: {α : Type u_1} [EDist α] {s : Set α} (hs : s.einfsep ≠ ⊤)
Goal: s.Nontrivial
-- Set.Subsingleton.einfsep
theorem Subsingleton.einfsep (hs : s.Subsingleton) : s.einfsep = ∞ 
Arguments: {α : Type u_1} [EDist α] {s : Set α} (hs : s.Subsingleton)
Goal: s.einfsep = ⊤
-- Set.le_einfsep_image_iff
theorem le_einfsep_image_iff {d} {f : β → α} {s : Set β} : d ≤ einfsep (f '' s)
    ↔ ∀ x ∈ s, ∀ y ∈ s, f x ≠ f y → d ≤ edist (f x) (f y) 
Arguments: {α : Type u_1} {β : Type u_2} [EDist α] {d : ENNReal} {f : β → α} {s : Set β}
Goal: d ≤ (f '' s).einfsep ↔ ∀ x ∈ s, ∀ y ∈ s, f x ≠ f y → d ≤ edist (f x) (f y)
-- Set.le_edist_of_le_einfsep
theorem le_edist_of_le_einfsep {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y)
    (hd : d ≤ s.einfsep) : d ≤ edist x y 
Arguments: {α : Type u_1} [EDist α] {s : Set α} {d : ENNReal} {x : α} (hx : x ∈ s) {y : α} (hy : y ∈ s) (hxy : x ≠ y) (hd : d ≤ s.einfsep)
Goal: d ≤ edist x y
-- Set.einfsep_le_edist_of_mem
theorem einfsep_le_edist_of_mem {x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y) :
    s.einfsep ≤ edist x y 
Arguments: {α : Type u_1} [EDist α] {s : Set α} {x : α} (hx : x ∈ s) {y : α} (hy : y ∈ s) (hxy : x ≠ y)
Goal: s.einfsep ≤ edist x y
-- Set.einfsep_le_of_mem_of_edist_le
theorem einfsep_le_of_mem_of_edist_le {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y)
    (hxy' : edist x y ≤ d) : s.einfsep ≤ d 
Arguments: {α : Type u_1} [EDist α] {s : Set α} {d : ENNReal} {x : α} (hx : x ∈ s) {y : α} (hy : y ∈ s) (hxy : x ≠ y) (hxy' : edist x y ≤ d)
Goal: s.einfsep ≤ d
-- Set.le_einfsep
theorem le_einfsep {d} (h : ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ edist x y) : d ≤ s.einfsep 
Arguments: {α : Type u_1} [EDist α] {s : Set α} {d : ENNReal} (h : ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ edist x y)
Goal: d ≤ s.einfsep
-- Set.einfsep_empty
@[simp]
theorem einfsep_empty : (∅ : Set α).einfsep = ∞ 
Arguments: {α : Type u_1} [EDist α]
Goal: ∅.einfsep = ⊤
-- Set.einfsep_singleton
@[simp]
theorem einfsep_singleton : ({x} : Set α).einfsep = ∞ 
Arguments: {α : Type u_1} [EDist α] {x : α}
Goal: {x}.einfsep = ⊤
-- Set.einfsep_iUnion_mem_option
theorem einfsep_iUnion_mem_option {ι : Type*} (o : Option ι) (s : ι → Set α) :
    (⋃ i ∈ o, s i).einfsep = ⨅ i ∈ o, (s i).einfsep 
Arguments: {α : Type u_1} [EDist α] {ι : Type u_3} (o : Option ι) (s : ι → Set α)
Goal: (⋃ i ∈ o, s i).einfsep = ⨅ i ∈ o, (s i).einfsep
-- Set.einfsep_anti
theorem einfsep_anti (hst : s ⊆ t) : t.einfsep ≤ s.einfsep 
Arguments: {α : Type u_1} [EDist α] {s t : Set α} (hst : s ⊆ t)
Goal: t.einfsep ≤ s.einfsep
-- Set.einfsep_insert_le
theorem einfsep_insert_le : (insert x s).einfsep ≤ ⨅ (y ∈ s) (_ : x ≠ y), edist x y 
Arguments: {α : Type u_1} [EDist α] {x : α} {s : Set α}
Goal: (insert x s).einfsep ≤ ⨅ y ∈ s, ⨅ (_ : x ≠ y), edist x y
-- Set.le_einfsep_pair
theorem le_einfsep_pair : edist x y ⊓ edist y x ≤ ({x, y} : Set α).einfsep 
Arguments: {α : Type u_1} [EDist α] {x y : α}
Goal: edist x y ⊓ edist y x ≤ {x, y}.einfsep
-- Set.einfsep_pair_le_left
theorem einfsep_pair_le_left (hxy : x ≠ y) : ({x, y} : Set α).einfsep ≤ edist x y 
Arguments: {α : Type u_1} [EDist α] {x y : α} (hxy : x ≠ y)
Goal: {x, y}.einfsep ≤ edist x y
-- Set.einfsep_pair_le_right
theorem einfsep_pair_le_right (hxy : x ≠ y) : ({x, y} : Set α).einfsep ≤ edist y x 
Arguments: {α : Type u_1} [EDist α] {x y : α} (hxy : x ≠ y)
Goal: {x, y}.einfsep ≤ edist y x
-- Set.einfsep_pair_eq_inf
theorem einfsep_pair_eq_inf (hxy : x ≠ y) : ({x, y} : Set α).einfsep = edist x y ⊓ edist y x 
Arguments: {α : Type u_1} [EDist α] {x y : α} (hxy : x ≠ y)
Goal: {x, y}.einfsep = edist x y ⊓ edist y x
-- Set.einfsep_eq_iInf
theorem einfsep_eq_iInf : s.einfsep = ⨅ d : s.offDiag, (uncurry edist) (d : α × α) 
Arguments: {α : Type u_1} [EDist α] {s : Set α}
Goal: s.einfsep = ⨅ d, Function.uncurry edist ↑d
-- Set.einfsep_of_fintype
theorem einfsep_of_fintype [DecidableEq α] [Fintype s] :
    s.einfsep = s.offDiag.toFinset.inf (uncurry edist) 
Arguments: {α : Type u_1} [EDist α] {s : Set α} [DecidableEq α] [Fintype ↑s]
Goal: s.einfsep = s.offDiag.toFinset.inf (Function.uncurry edist)
-- Set.Finite.einfsep
theorem Finite.einfsep (hs : s.Finite) : s.einfsep = hs.offDiag.toFinset.inf (uncurry edist) 
Arguments: {α : Type u_1} [EDist α] {s : Set α} (hs : s.Finite)
Goal: s.einfsep = ⋯.toFinset.inf (Function.uncurry edist)
-- Set.Finset.coe_einfsep
theorem Finset.coe_einfsep [DecidableEq α] {s : Finset α} :
    (s : Set α).einfsep = s.offDiag.inf (uncurry edist) 
Arguments: {α : Type u_1} [EDist α] [DecidableEq α] {s : Finset α}
Goal: (↑s).einfsep = s.offDiag.inf (Function.uncurry edist)
-- Set.Nontrivial.einfsep_exists_of_finite
theorem Nontrivial.einfsep_exists_of_finite [Finite s] (hs : s.Nontrivial) :
    ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.einfsep = edist x y 
Arguments: {α : Type u_1} [EDist α] {s : Set α} [Finite ↑s] (hs : s.Nontrivial)
Goal: ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.einfsep = edist x y
-- Set.Finite.einfsep_exists_of_nontrivial
theorem Finite.einfsep_exists_of_nontrivial (hsf : s.Finite) (hs : s.Nontrivial) :
    ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.einfsep = edist x y 
Arguments: {α : Type u_1} [EDist α] {s : Set α} (hsf : s.Finite) (hs : s.Nontrivial)
Goal: ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.einfsep = edist x y
-- Set.einfsep_pair
theorem einfsep_pair (hxy : x ≠ y) : ({x, y} : Set α).einfsep = edist x y 
Arguments: {α : Type u_1} [PseudoEMetricSpace α] {x y : α} (hxy : x ≠ y)
Goal: {x, y}.einfsep = edist x y
-- Set.einfsep_insert
theorem einfsep_insert : einfsep (insert x s) =
    (⨅ (y ∈ s) (_ : x ≠ y), edist x y) ⊓ s.einfsep 
Arguments: {α : Type u_1} [PseudoEMetricSpace α] {x : α} {s : Set α}
Goal: (insert x s).einfsep = (⨅ y ∈ s, ⨅ (_ : x ≠ y), edist x y) ⊓ s.einfsep
-- Set.einfsep_triple
theorem einfsep_triple (hxy : x ≠ y) (hyz : y ≠ z) (hxz : x ≠ z) :
    einfsep ({x, y, z} : Set α) = edist x y ⊓ edist x z ⊓ edist y z 
Arguments: {α : Type u_1} [PseudoEMetricSpace α] {x y z : α} (hxy : x ≠ y) (hyz : y ≠ z) (hxz : x ≠ z)
Goal: {x, y, z}.einfsep = edist x y ⊓ edist x z ⊓ edist y z
-- Set.le_einfsep_pi_of_le
theorem le_einfsep_pi_of_le {π : β → Type*} [Fintype β] [∀ b, PseudoEMetricSpace (π b)]
    {s : ∀ b : β, Set (π b)} {c : ℝ≥0∞} (h : ∀ b, c ≤ einfsep (s b)) :
    c ≤ einfsep (Set.pi univ s) 
Arguments: {β : Type u_2} {π : β → Type u_3} [Fintype β] [(b : β) → PseudoEMetricSpace (π b)] {s : (b : β) → Set (π b)} {c : ENNReal} (h : ∀ (b : β), c ≤ (s b).einfsep)
Goal: c ≤ (Set.univ.pi s).einfsep
-- Set.subsingleton_of_einfsep_eq_top
theorem subsingleton_of_einfsep_eq_top (hs : s.einfsep = ∞) : s.Subsingleton 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} (hs : s.einfsep = ⊤)
Goal: s.Subsingleton
-- Set.einfsep_eq_top_iff
theorem einfsep_eq_top_iff : s.einfsep = ∞ ↔ s.Subsingleton 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α}
Goal: s.einfsep = ⊤ ↔ s.Subsingleton
-- Set.Nontrivial.einfsep_ne_top
theorem Nontrivial.einfsep_ne_top (hs : s.Nontrivial) : s.einfsep ≠ ∞ 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} (hs : s.Nontrivial)
Goal: s.einfsep ≠ ⊤
-- Set.Nontrivial.einfsep_lt_top
theorem Nontrivial.einfsep_lt_top (hs : s.Nontrivial) : s.einfsep < ∞ 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} (hs : s.Nontrivial)
Goal: s.einfsep < ⊤
-- Set.einfsep_lt_top_iff
theorem einfsep_lt_top_iff : s.einfsep < ∞ ↔ s.Nontrivial 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α}
Goal: s.einfsep < ⊤ ↔ s.Nontrivial
-- Set.einfsep_ne_top_iff
theorem einfsep_ne_top_iff : s.einfsep ≠ ∞ ↔ s.Nontrivial 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α}
Goal: s.einfsep ≠ ⊤ ↔ s.Nontrivial
-- Set.le_einfsep_of_forall_dist_le
theorem le_einfsep_of_forall_dist_le {d} (h : ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ dist x y) :
    ENNReal.ofReal d ≤ s.einfsep 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} {d : ℝ} (h : ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ dist x y)
Goal: ENNReal.ofReal d ≤ s.einfsep
-- Set.einfsep_pos_of_finite
theorem einfsep_pos_of_finite [Finite s] : 0 < s.einfsep 
Arguments: {α : Type u_1} [EMetricSpace α] {s : Set α} [Finite ↑s]
Goal: 0 < s.einfsep
-- Set.relatively_discrete_of_finite
theorem relatively_discrete_of_finite [Finite s] :
    ∃ C > 0, ∀ x ∈ s, ∀ y ∈ s, x ≠ y → C ≤ edist x y 
Arguments: {α : Type u_1} [EMetricSpace α] {s : Set α} [Finite ↑s]
Goal: ∃ C > 0, ∀ x ∈ s, ∀ y ∈ s, x ≠ y → C ≤ edist x y
-- Set.Finite.einfsep_pos
theorem Finite.einfsep_pos (hs : s.Finite) : 0 < s.einfsep 
Arguments: {α : Type u_1} [EMetricSpace α] {s : Set α} (hs : s.Finite)
Goal: 0 < s.einfsep
-- Set.Finite.relatively_discrete
theorem Finite.relatively_discrete (hs : s.Finite) :
    ∃ C > 0, ∀ x ∈ s, ∀ y ∈ s, x ≠ y → C ≤ edist x y 
Arguments: {α : Type u_1} [EMetricSpace α] {s : Set α} (hs : s.Finite)
Goal: ∃ C > 0, ∀ x ∈ s, ∀ y ∈ s, x ≠ y → C ≤ edist x y
-- Set.infsep_zero
theorem infsep_zero : s.infsep = 0 ↔ s.einfsep = 0 ∨ s.einfsep = ∞ 
Arguments: {α : Type u_1} [EDist α] {s : Set α}
Goal: s.infsep = 0 ↔ s.einfsep = 0 ∨ s.einfsep = ⊤
-- Set.infsep_nonneg
theorem infsep_nonneg : 0 ≤ s.infsep 
Arguments: {α : Type u_1} [EDist α] {s : Set α}
Goal: 0 ≤ s.infsep
-- Set.infsep_pos
theorem infsep_pos : 0 < s.infsep ↔ 0 < s.einfsep ∧ s.einfsep < ∞ 
Arguments: {α : Type u_1} [EDist α] {s : Set α}
Goal: 0 < s.infsep ↔ 0 < s.einfsep ∧ s.einfsep < ⊤
-- Set.Subsingleton.infsep_zero
theorem Subsingleton.infsep_zero (hs : s.Subsingleton) : s.infsep = 0 
Arguments: {α : Type u_1} [EDist α] {s : Set α} (hs : s.Subsingleton)
Goal: s.infsep = 0
-- Set.nontrivial_of_infsep_pos
theorem nontrivial_of_infsep_pos (hs : 0 < s.infsep) : s.Nontrivial 
Arguments: {α : Type u_1} [EDist α] {s : Set α} (hs : 0 < s.infsep)
Goal: s.Nontrivial
-- Set.infsep_empty
theorem infsep_empty : (∅ : Set α).infsep = 0 
Arguments: {α : Type u_1} [EDist α]
Goal: ∅.infsep = 0
-- Set.infsep_singleton
theorem infsep_singleton : ({x} : Set α).infsep = 0 
Arguments: {α : Type u_1} [EDist α] {x : α}
Goal: {x}.infsep = 0
-- Set.infsep_pair_le_toReal_inf
theorem infsep_pair_le_toReal_inf (hxy : x ≠ y) :
    ({x, y} : Set α).infsep ≤ (edist x y ⊓ edist y x).toReal 
Arguments: {α : Type u_1} [EDist α] {x y : α} (hxy : x ≠ y)
Goal: {x, y}.infsep ≤ (edist x y ⊓ edist y x).toReal
-- Set.infsep_pair_eq_toReal
theorem infsep_pair_eq_toReal : ({x, y} : Set α).infsep = (edist x y).toReal 
Arguments: {α : Type u_1} [PseudoEMetricSpace α] {x y : α}
Goal: {x, y}.infsep = (edist x y).toReal
-- Set.Nontrivial.le_infsep_iff
theorem Nontrivial.le_infsep_iff {d} (hs : s.Nontrivial) :
    d ≤ s.infsep ↔ ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ dist x y 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} {d : ℝ} (hs : s.Nontrivial)
Goal: d ≤ s.infsep ↔ ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ dist x y
-- Set.Nontrivial.infsep_lt_iff
theorem Nontrivial.infsep_lt_iff {d} (hs : s.Nontrivial) :
    s.infsep < d ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ dist x y < d 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} {d : ℝ} (hs : s.Nontrivial)
Goal: s.infsep < d ↔ ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ dist x y < d
-- Set.Nontrivial.le_infsep
theorem Nontrivial.le_infsep {d} (hs : s.Nontrivial)
    (h : ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ dist x y) : d ≤ s.infsep 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} {d : ℝ} (hs : s.Nontrivial) (h : ∀ x ∈ s, ∀ y ∈ s, x ≠ y → d ≤ dist x y)
Goal: d ≤ s.infsep
-- Set.le_edist_of_le_infsep
theorem le_edist_of_le_infsep {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y)
    (hd : d ≤ s.infsep) : d ≤ dist x y 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} {d : ℝ} {x : α} (hx : x ∈ s) {y : α} (hy : y ∈ s) (hxy : x ≠ y) (hd : d ≤ s.infsep)
Goal: d ≤ dist x y
-- Set.infsep_le_dist_of_mem
theorem infsep_le_dist_of_mem (hx : x ∈ s) (hy : y ∈ s) (hxy : x ≠ y) : s.infsep ≤ dist x y 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {x y : α} {s : Set α} (hx : x ∈ s) (hy : y ∈ s) (hxy : x ≠ y)
Goal: s.infsep ≤ dist x y
-- Set.infsep_le_of_mem_of_edist_le
theorem infsep_le_of_mem_of_edist_le {d x} (hx : x ∈ s) {y} (hy : y ∈ s) (hxy : x ≠ y)
    (hxy' : dist x y ≤ d) : s.infsep ≤ d 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} {d : ℝ} {x : α} (hx : x ∈ s) {y : α} (hy : y ∈ s) (hxy : x ≠ y) (hxy' : dist x y ≤ d)
Goal: s.infsep ≤ d
-- Set.infsep_pair
theorem infsep_pair : ({x, y} : Set α).infsep = dist x y 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {x y : α}
Goal: {x, y}.infsep = dist x y
-- Set.infsep_triple
theorem infsep_triple (hxy : x ≠ y) (hyz : y ≠ z) (hxz : x ≠ z) :
    ({x, y, z} : Set α).infsep = dist x y ⊓ dist x z ⊓ dist y z 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {x y z : α} (hxy : x ≠ y) (hyz : y ≠ z) (hxz : x ≠ z)
Goal: {x, y, z}.infsep = dist x y ⊓ dist x z ⊓ dist y z
-- Set.Nontrivial.infsep_anti
theorem Nontrivial.infsep_anti (hs : s.Nontrivial) (hst : s ⊆ t) : t.infsep ≤ s.infsep 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s t : Set α} (hs : s.Nontrivial) (hst : s ⊆ t)
Goal: t.infsep ≤ s.infsep
-- Set.infsep_eq_iInf
theorem infsep_eq_iInf [Decidable s.Nontrivial] :
    s.infsep = if s.Nontrivial then ⨅ d : s.offDiag, (uncurry dist) (d : α × α) else 0 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} [Decidable s.Nontrivial]
Goal: s.infsep = if s.Nontrivial then ⨅ d, Function.uncurry dist ↑d else 0
-- Set.Nontrivial.infsep_eq_iInf
theorem Nontrivial.infsep_eq_iInf (hs : s.Nontrivial) :
    s.infsep = ⨅ d : s.offDiag, (uncurry dist) (d : α × α) 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} (hs : s.Nontrivial)
Goal: s.infsep = ⨅ d, Function.uncurry dist ↑d
-- Set.infsep_of_fintype
theorem infsep_of_fintype [Decidable s.Nontrivial] [DecidableEq α] [Fintype s] : s.infsep =
    if hs : s.Nontrivial then s.offDiag.toFinset.inf' (by simpa) (uncurry dist) else 0 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} [Decidable s.Nontrivial] [DecidableEq α] [Fintype ↑s]
Goal: s.infsep = if hs : s.Nontrivial then s.offDiag.toFinset.inf' ⋯ (Function.uncurry dist) else 0
-- Set.Nontrivial.infsep_of_fintype
theorem Nontrivial.infsep_of_fintype [DecidableEq α] [Fintype s] (hs : s.Nontrivial) :
    s.infsep = s.offDiag.toFinset.inf' (by simpa) (uncurry dist) 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} [DecidableEq α] [Fintype ↑s] (hs : s.Nontrivial)
Goal: s.infsep = s.offDiag.toFinset.inf' ⋯ (Function.uncurry dist)
-- Set.Finite.infsep
theorem Finite.infsep [Decidable s.Nontrivial] (hsf : s.Finite) :
    s.infsep =
      if hs : s.Nontrivial then hsf.offDiag.toFinset.inf' (by simpa) (uncurry dist) else 0 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} [Decidable s.Nontrivial] (hsf : s.Finite)
Goal: s.infsep = if hs : s.Nontrivial then ⋯.toFinset.inf' ⋯ (Function.uncurry dist) else 0
-- Set.Finite.infsep_of_nontrivial
theorem Finite.infsep_of_nontrivial (hsf : s.Finite) (hs : s.Nontrivial) :
    s.infsep = hsf.offDiag.toFinset.inf' (by simpa) (uncurry dist) 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} (hsf : s.Finite) (hs : s.Nontrivial)
Goal: s.infsep = ⋯.toFinset.inf' ⋯ (Function.uncurry dist)
-- Finset.coe_infsep
theorem _root_.Finset.coe_infsep [DecidableEq α] (s : Finset α) : (s : Set α).infsep =
    if hs : s.offDiag.Nonempty then s.offDiag.inf' hs (uncurry dist) else 0 
Arguments: {α : Type u_1} [PseudoMetricSpace α] [DecidableEq α] (s : Finset α)
Goal: (↑s).infsep = if hs : s.offDiag.Nonempty then s.offDiag.inf' hs (Function.uncurry dist) else 0
-- Finset.coe_infsep_of_offDiag_nonempty
theorem _root_.Finset.coe_infsep_of_offDiag_nonempty [DecidableEq α] {s : Finset α}
    (hs : s.offDiag.Nonempty) : (s : Set α).infsep = s.offDiag.inf' hs (uncurry dist) 
Arguments: {α : Type u_1} [PseudoMetricSpace α] [DecidableEq α] {s : Finset α} (hs : s.offDiag.Nonempty)
Goal: (↑s).infsep = s.offDiag.inf' hs (Function.uncurry dist)
-- Finset.coe_infsep_of_offDiag_empty
theorem _root_.Finset.coe_infsep_of_offDiag_empty
    [DecidableEq α] {s : Finset α} (hs : s.offDiag = ∅) : (s : Set α).infsep = 0 
Arguments: {α : Type u_1} [PseudoMetricSpace α] [DecidableEq α] {s : Finset α} (hs : s.offDiag = ∅)
Goal: (↑s).infsep = 0
-- Set.Nontrivial.infsep_exists_of_finite
theorem Nontrivial.infsep_exists_of_finite [Finite s] (hs : s.Nontrivial) :
    ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.infsep = dist x y 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} [Finite ↑s] (hs : s.Nontrivial)
Goal: ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.infsep = dist x y
-- Set.Finite.infsep_exists_of_nontrivial
theorem Finite.infsep_exists_of_nontrivial (hsf : s.Finite) (hs : s.Nontrivial) :
    ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.infsep = dist x y 
Arguments: {α : Type u_1} [PseudoMetricSpace α] {s : Set α} (hsf : s.Finite) (hs : s.Nontrivial)
Goal: ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ s.infsep = dist x y
-- Set.infsep_zero_iff_subsingleton_of_finite
theorem infsep_zero_iff_subsingleton_of_finite [Finite s] : s.infsep = 0 ↔ s.Subsingleton 
Arguments: {α : Type u_1} [MetricSpace α] {s : Set α} [Finite ↑s]
Goal: s.infsep = 0 ↔ s.Subsingleton
-- Set.infsep_pos_iff_nontrivial_of_finite
theorem infsep_pos_iff_nontrivial_of_finite [Finite s] : 0 < s.infsep ↔ s.Nontrivial 
Arguments: {α : Type u_1} [MetricSpace α] {s : Set α} [Finite ↑s]
Goal: 0 < s.infsep ↔ s.Nontrivial
-- Set.Finite.infsep_zero_iff_subsingleton
theorem Finite.infsep_zero_iff_subsingleton (hs : s.Finite) : s.infsep = 0 ↔ s.Subsingleton 
Arguments: {α : Type u_1} [MetricSpace α] {s : Set α} (hs : s.Finite)
Goal: s.infsep = 0 ↔ s.Subsingleton
-- Set.Finite.infsep_pos_iff_nontrivial
theorem Finite.infsep_pos_iff_nontrivial (hs : s.Finite) : 0 < s.infsep ↔ s.Nontrivial 
Arguments: {α : Type u_1} [MetricSpace α] {s : Set α} (hs : s.Finite)
Goal: 0 < s.infsep ↔ s.Nontrivial
-- Finset.infsep_zero_iff_subsingleton
theorem _root_.Finset.infsep_zero_iff_subsingleton (s : Finset α) :
    (s : Set α).infsep = 0 ↔ (s : Set α).Subsingleton 
Arguments: {α : Type u_1} [MetricSpace α] (s : Finset α)
Goal: (↑s).infsep = 0 ↔ (↑s).Subsingleton
-- Finset.infsep_pos_iff_nontrivial
theorem _root_.Finset.infsep_pos_iff_nontrivial (s : Finset α) :
    0 < (s : Set α).infsep ↔ (s : Set α).Nontrivial 
Arguments: {α : Type u_1} [MetricSpace α] (s : Finset α)
Goal: 0 < (↑s).infsep ↔ (↑s).Nontrivial
-- TopCat.Presheaf.toTypes_isSheaf
theorem toTypes_isSheaf (T : X → Type u) : (presheafToTypes X T).IsSheaf 
Arguments: (X : TopCat) (T : ↑X → Type u)
Goal: (X.presheafToTypes T).IsSheaf
-- TopCat.Presheaf.toType_isSheaf
theorem toType_isSheaf (T : Type u) : (presheafToType X T).IsSheaf 
Arguments: (X : TopCat) (T : Type u)
Goal: (X.presheafToType T).IsSheaf
-- Dilation.edist_eq'
structure Dilation where
  toFun : α → β
  edist_eq' : ∃ r : ℝ≥0, r ≠ 0 ∧ ∀ x y : α, edist (toFun x) (toFun y) = r * edist x y
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (self : α →ᵈ β)
Goal: ∃ r, r ≠ 0 ∧ ∀ (x y : α), edist (self.toFun x) (self.toFun y) = ↑r * edist x y
-- DilationClass.edist_eq'
class DilationClass (F α β : Type*) [PseudoEMetricSpace α] [PseudoEMetricSpace β]
    [FunLike F α β] : Prop where
  edist_eq' : ∀ f : F, ∃ r : ℝ≥0, r ≠ 0 ∧ ∀ x y : α, edist (f x) (f y) = r * edist x y
Arguments: {F : Type u_3} {α : Type u_4} {β : Type u_5} [PseudoEMetricSpace α] [PseudoEMetricSpace β] [FunLike F α β] [self : DilationClass F α β] (f : F)
Goal: ∃ r, r ≠ 0 ∧ ∀ (x y : α), edist (f x) (f y) = ↑r * edist x y
-- Dilation.toFun_eq_coe
@[simp]
theorem toFun_eq_coe {f : α →ᵈ β} : f.toFun = (f : α → β) 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f : α →ᵈ β}
Goal: f.toFun = ⇑f
-- Dilation.coe_mk
@[simp]
theorem coe_mk (f : α → β) (h) : ⇑(⟨f, h⟩ : α →ᵈ β) = f 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (f : α → β) (h : ∃ r, r ≠ 0 ∧ ∀ (x y : α), edist (f x) (f y) = ↑r * edist x y)
Goal: ⇑{ toFun := f, edist_eq' := h } = f
-- Dilation.congr_fun
protected theorem congr_fun {f g : α →ᵈ β} (h : f = g) (x : α) : f x = g x 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f g : α →ᵈ β} (h : f = g) (x : α)
Goal: f x = g x
-- Dilation.congr_arg
protected theorem congr_arg (f : α →ᵈ β) {x y : α} (h : x = y) : f x = f y 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (f : α →ᵈ β) {x y : α} (h : x = y)
Goal: f x = f y
-- Dilation.ext
@[ext]
theorem ext {f g : α →ᵈ β} (h : ∀ x, f x = g x) : f = g 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f g : α →ᵈ β} (h : ∀ (x : α), f x = g x)
Goal: f = g
-- Dilation.ext_iff
theorem ext_iff {f g : α →ᵈ β} : f = g ↔ ∀ x, f x = g x 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] {f g : α →ᵈ β}
Goal: f = g ↔ ∀ (x : α), f x = g x
-- Dilation.mk_coe
@[simp]
theorem mk_coe (f : α →ᵈ β) (h) : Dilation.mk f h = f 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (f : α →ᵈ β) (h : ∃ r, r ≠ 0 ∧ ∀ (x y : α), edist (f x) (f y) = ↑r * edist x y)
Goal: { toFun := ⇑f, edist_eq' := h } = f
-- Dilation.copy_toFun
@[simps (config := .asFn)]
protected def copy (f : α →ᵈ β) (f' : α → β) (h : f' = ⇑f) : α →ᵈ β 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (f : α →ᵈ β) (f' : α → β) (h : f' = ⇑f)
Goal: ⇑(f.copy f' h) = f'
-- Dilation.copy_eq_self
theorem copy_eq_self (f : α →ᵈ β) {f' : α → β} (h : f' = f) : f.copy f' h = f 
Arguments: {α : Type u_1} {β : Type u_2} [PseudoEMetricSpace α] [PseudoEMetricSpace β] (f : α →ᵈ β) {f' : α → β} (h : f' = ⇑f)
Goal: f.copy f' h = f
-- Dilation.ratio_of_trivial
theorem ratio_of_trivial [DilationClass F α β] (f : F)
    (h : ∀ x y : α, edist x y = 0 ∨ edist x y = ∞) : ratio f = 1 
Arguments: {α : Type u_1} {β : Type u_2} {F : Type u_4} [PseudoEMetricSpace α] [PseudoEMetricSpace β] [FunLike F α β] [DilationClass F α β] (f : F) (h : ∀ (x y : α), edist x y = 0 ∨ edist x y = ⊤)
Goal: Dilation.ratio f = 1
-- Dilation.ratio_of_subsingleton
@[nontriviality]
theorem ratio_of_subsingleton [Subsingleton α] [DilationClass F α β] (f : F) : ratio f = 1 
Arguments: {α : Type u_1} {β : Type u_2} {F : Type u_4} [PseudoEMetricSpace α] [PseudoEMetricSpace β] [FunLike F α β] [Subsingleton α] [DilationClass F α β] (f : F)
Goal: Dilation.ratio f = 1
-- Dilation.ratio_ne_zero
theorem ratio_ne_zero [DilationClass F α β] (f : F) : ratio f ≠ 0 
Arguments: {α : Type u_1} {β : Type u_2} {F : Type u_4} [PseudoEMetricSpace α] [PseudoEMetricSpace β] [FunLike F α β] [DilationClass F α β] (f : F)
Goal: Dilation.ratio f ≠ 0
-- Dilation.ratio_pos
theorem ratio_pos [DilationClass F α β] (f : F) : 0 < ratio f 
Arguments: {α : Type u_1} {β : Type u_2} {F : Type u_4} [PseudoEMetricSpace α] [PseudoEMetricSpace β] [FunLike F α β] [DilationClass F α β] (f : F)
Goal: 0 < Dilation.ratio f
-- Dilation.edist_eq
@[simp]
theorem edist_eq [DilationClass F α β] (f : F) (x y : α) :
    edist (f x) (f y) = ratio f * edist x y 
Arguments: {α : Type u_1} {β : Type u_2} {F : Type u_4} [PseudoEMetricSpace α] [PseudoEMetricSpace β] [FunLike F α β] [DilationClass F α β] (f : F) (x y : α)
Goal: edist (f x) (f y) = ↑(Dilation.ratio f) * edist x y