ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.subset_union_of_subset_left
theorem subset_union_of_subset_left {s t : Set α} (h : s ⊆ t) (u : Set α) : s ⊆ t ∪ u 
Arguments: {α : Type u} {s t : Set α} (h : s ⊆ t) (u : Set α)
Goal: s ⊆ t ∪ u
-- Set.subset_union_of_subset_right
theorem subset_union_of_subset_right {s u : Set α} (h : s ⊆ u) (t : Set α) : s ⊆ t ∪ u 
Arguments: {α : Type u} {s u : Set α} (h : s ⊆ u) (t : Set α)
Goal: s ⊆ t ∪ u
-- Set.union_congr_left
theorem union_congr_left (ht : t ⊆ s ∪ u) (hu : u ⊆ s ∪ t) : s ∪ t = s ∪ u 
Arguments: {α : Type u} {s t u : Set α} (ht : t ⊆ s ∪ u) (hu : u ⊆ s ∪ t)
Goal: s ∪ t = s ∪ u
-- Set.union_congr_right
theorem union_congr_right (hs : s ⊆ t ∪ u) (ht : t ⊆ s ∪ u) : s ∪ u = t ∪ u 
Arguments: {α : Type u} {s t u : Set α} (hs : s ⊆ t ∪ u) (ht : t ⊆ s ∪ u)
Goal: s ∪ u = t ∪ u
-- Set.union_eq_union_iff_left
theorem union_eq_union_iff_left : s ∪ t = s ∪ u ↔ t ⊆ s ∪ u ∧ u ⊆ s ∪ t 
Arguments: {α : Type u} {s t u : Set α}
Goal: s ∪ t = s ∪ u ↔ t ⊆ s ∪ u ∧ u ⊆ s ∪ t
-- Set.union_eq_union_iff_right
theorem union_eq_union_iff_right : s ∪ u = t ∪ u ↔ s ⊆ t ∪ u ∧ t ⊆ s ∪ u 
Arguments: {α : Type u} {s t u : Set α}
Goal: s ∪ u = t ∪ u ↔ s ⊆ t ∪ u ∧ t ⊆ s ∪ u
-- Set.union_empty_iff
@[simp]
theorem union_empty_iff {s t : Set α} : s ∪ t = ∅ ↔ s = ∅ ∧ t = ∅ 
Arguments: {α : Type u} {s t : Set α}
Goal: s ∪ t = ∅ ↔ s = ∅ ∧ t = ∅
-- Set.union_univ
@[simp]
theorem union_univ (s : Set α) : s ∪ univ = univ 
Arguments: {α : Type u} (s : Set α)
Goal: s ∪ Set.univ = Set.univ
-- Set.univ_union
@[simp]
theorem univ_union (s : Set α) : univ ∪ s = univ 
Arguments: {α : Type u} (s : Set α)
Goal: Set.univ ∪ s = Set.univ
-- Set.inter_def
theorem inter_def {s₁ s₂ : Set α} : s₁ ∩ s₂ = { a | a ∈ s₁ ∧ a ∈ s₂ } 
Arguments: {α : Type u} {s₁ s₂ : Set α}
Goal: s₁ ∩ s₂ = {a | a ∈ s₁ ∧ a ∈ s₂}
-- Set.mem_inter_iff
@[simp, mfld_simps]
theorem mem_inter_iff (x : α) (a b : Set α) : x ∈ a ∩ b ↔ x ∈ a ∧ x ∈ b 
Arguments: {α : Type u} (x : α) (a b : Set α)
Goal: x ∈ a ∩ b ↔ x ∈ a ∧ x ∈ b
-- Set.mem_inter
theorem mem_inter {x : α} {a b : Set α} (ha : x ∈ a) (hb : x ∈ b) : x ∈ a ∩ b 
Arguments: {α : Type u} {x : α} {a b : Set α} (ha : x ∈ a) (hb : x ∈ b)
Goal: x ∈ a ∩ b
-- Set.mem_of_mem_inter_left
theorem mem_of_mem_inter_left {x : α} {a b : Set α} (h : x ∈ a ∩ b) : x ∈ a 
Arguments: {α : Type u} {x : α} {a b : Set α} (h : x ∈ a ∩ b)
Goal: x ∈ a
-- Set.mem_of_mem_inter_right
theorem mem_of_mem_inter_right {x : α} {a b : Set α} (h : x ∈ a ∩ b) : x ∈ b 
Arguments: {α : Type u} {x : α} {a b : Set α} (h : x ∈ a ∩ b)
Goal: x ∈ b
-- Set.inter_self
@[simp]
theorem inter_self (a : Set α) : a ∩ a = a 
Arguments: {α : Type u} (a : Set α)
Goal: a ∩ a = a
-- Set.inter_empty
@[simp]
theorem inter_empty (a : Set α) : a ∩ ∅ = ∅ 
Arguments: {α : Type u} (a : Set α)
Goal: a ∩ ∅ = ∅
-- Set.empty_inter
@[simp]
theorem empty_inter (a : Set α) : ∅ ∩ a = ∅ 
Arguments: {α : Type u} (a : Set α)
Goal: ∅ ∩ a = ∅
-- Set.inter_comm
theorem inter_comm (a b : Set α) : a ∩ b = b ∩ a 
Arguments: {α : Type u} (a b : Set α)
Goal: a ∩ b = b ∩ a
-- Set.inter_assoc
theorem inter_assoc (a b c : Set α) : a ∩ b ∩ c = a ∩ (b ∩ c) 
Arguments: {α : Type u} (a b c : Set α)
Goal: a ∩ b ∩ c = a ∩ (b ∩ c)
-- Set.inter_left_comm
theorem inter_left_comm (s₁ s₂ s₃ : Set α) : s₁ ∩ (s₂ ∩ s₃) = s₂ ∩ (s₁ ∩ s₃) 
Arguments: {α : Type u} (s₁ s₂ s₃ : Set α)
Goal: s₁ ∩ (s₂ ∩ s₃) = s₂ ∩ (s₁ ∩ s₃)
-- Set.inter_right_comm
theorem inter_right_comm (s₁ s₂ s₃ : Set α) : s₁ ∩ s₂ ∩ s₃ = s₁ ∩ s₃ ∩ s₂ 
Arguments: {α : Type u} (s₁ s₂ s₃ : Set α)
Goal: s₁ ∩ s₂ ∩ s₃ = s₁ ∩ s₃ ∩ s₂
-- Set.inter_subset_left
@[simp, mfld_simps]
theorem inter_subset_left {s t : Set α} : s ∩ t ⊆ s 
Arguments: {α : Type u} {s t : Set α}
Goal: s ∩ t ⊆ s
-- Set.inter_subset_right
@[simp]
theorem inter_subset_right {s t : Set α} : s ∩ t ⊆ t 
Arguments: {α : Type u} {s t : Set α}
Goal: s ∩ t ⊆ t
-- Set.subset_inter
theorem subset_inter {s t r : Set α} (rs : r ⊆ s) (rt : r ⊆ t) : r ⊆ s ∩ t 
Arguments: {α : Type u} {s t r : Set α} (rs : r ⊆ s) (rt : r ⊆ t)
Goal: r ⊆ s ∩ t
-- Set.subset_inter_iff
@[simp]
theorem subset_inter_iff {s t r : Set α} : r ⊆ s ∩ t ↔ r ⊆ s ∧ r ⊆ t 
Arguments: {α : Type u} {s t r : Set α}
Goal: r ⊆ s ∩ t ↔ r ⊆ s ∧ r ⊆ t
-- Set.inter_eq_left
@[simp] lemma inter_eq_left : s ∩ t = s ↔ s ⊆ t 
Arguments: {α : Type u} {s t : Set α}
Goal: s ∩ t = s ↔ s ⊆ t
-- Set.inter_eq_right
@[simp] lemma inter_eq_right : s ∩ t = t ↔ t ⊆ s 
Arguments: {α : Type u} {s t : Set α}
Goal: s ∩ t = t ↔ t ⊆ s
-- Set.left_eq_inter
@[simp] lemma left_eq_inter : s = s ∩ t ↔ s ⊆ t 
Arguments: {α : Type u} {s t : Set α}
Goal: s = s ∩ t ↔ s ⊆ t
-- Set.right_eq_inter
@[simp] lemma right_eq_inter : t = s ∩ t ↔ t ⊆ s 
Arguments: {α : Type u} {s t : Set α}
Goal: t = s ∩ t ↔ t ⊆ s
-- Set.inter_eq_self_of_subset_left
theorem inter_eq_self_of_subset_left {s t : Set α} : s ⊆ t → s ∩ t = s 
Arguments: {α : Type u} {s t : Set α}
Goal: s ⊆ t → s ∩ t = s
-- Set.inter_eq_self_of_subset_right
theorem inter_eq_self_of_subset_right {s t : Set α} : t ⊆ s → s ∩ t = t 
Arguments: {α : Type u} {s t : Set α}
Goal: t ⊆ s → s ∩ t = t
-- Set.inter_congr_left
theorem inter_congr_left (ht : s ∩ u ⊆ t) (hu : s ∩ t ⊆ u) : s ∩ t = s ∩ u 
Arguments: {α : Type u} {s t u : Set α} (ht : s ∩ u ⊆ t) (hu : s ∩ t ⊆ u)
Goal: s ∩ t = s ∩ u
-- Set.inter_congr_right
theorem inter_congr_right (hs : t ∩ u ⊆ s) (ht : s ∩ u ⊆ t) : s ∩ u = t ∩ u 
Arguments: {α : Type u} {s t u : Set α} (hs : t ∩ u ⊆ s) (ht : s ∩ u ⊆ t)
Goal: s ∩ u = t ∩ u
-- Set.inter_eq_inter_iff_left
theorem inter_eq_inter_iff_left : s ∩ t = s ∩ u ↔ s ∩ u ⊆ t ∧ s ∩ t ⊆ u 
Arguments: {α : Type u} {s t u : Set α}
Goal: s ∩ t = s ∩ u ↔ s ∩ u ⊆ t ∧ s ∩ t ⊆ u
-- Set.inter_eq_inter_iff_right
theorem inter_eq_inter_iff_right : s ∩ u = t ∩ u ↔ t ∩ u ⊆ s ∧ s ∩ u ⊆ t 
Arguments: {α : Type u} {s t u : Set α}
Goal: s ∩ u = t ∩ u ↔ t ∩ u ⊆ s ∧ s ∩ u ⊆ t
-- Set.inter_univ
@[simp, mfld_simps]
theorem inter_univ (a : Set α) : a ∩ univ = a 
Arguments: {α : Type u} (a : Set α)
Goal: a ∩ Set.univ = a
-- Set.univ_inter
@[simp, mfld_simps]
theorem univ_inter (a : Set α) : univ ∩ a = a 
Arguments: {α : Type u} (a : Set α)
Goal: Set.univ ∩ a = a
-- Set.inter_subset_inter
@[gcongr]
theorem inter_subset_inter {s₁ s₂ t₁ t₂ : Set α} (h₁ : s₁ ⊆ t₁) (h₂ : s₂ ⊆ t₂) :
    s₁ ∩ s₂ ⊆ t₁ ∩ t₂ 
Arguments: {α : Type u} {s₁ s₂ t₁ t₂ : Set α} (h₁ : s₁ ⊆ t₁) (h₂ : s₂ ⊆ t₂)
Goal: s₁ ∩ s₂ ⊆ t₁ ∩ t₂
-- Set.inter_subset_inter_left
@[gcongr]
theorem inter_subset_inter_left {s t : Set α} (u : Set α) (H : s ⊆ t) : s ∩ u ⊆ t ∩ u 
Arguments: {α : Type u} {s t : Set α} (u : Set α) (H : s ⊆ t)
Goal: s ∩ u ⊆ t ∩ u
-- Set.inter_subset_inter_right
@[gcongr]
theorem inter_subset_inter_right {s t : Set α} (u : Set α) (H : s ⊆ t) : u ∩ s ⊆ u ∩ t 
Arguments: {α : Type u} {s t : Set α} (u : Set α) (H : s ⊆ t)
Goal: u ∩ s ⊆ u ∩ t
-- Set.union_inter_cancel_left
theorem union_inter_cancel_left {s t : Set α} : (s ∪ t) ∩ s = s 
Arguments: {α : Type u} {s t : Set α}
Goal: (s ∪ t) ∩ s = s
-- Set.union_inter_cancel_right
theorem union_inter_cancel_right {s t : Set α} : (s ∪ t) ∩ t = t 
Arguments: {α : Type u} {s t : Set α}
Goal: (s ∪ t) ∩ t = t
-- Set.inter_setOf_eq_sep
theorem inter_setOf_eq_sep (s : Set α) (p : α → Prop) : s ∩ {a | p a} = {a ∈ s | p a} 
Arguments: {α : Type u} (s : Set α) (p : α → Prop)
Goal: s ∩ {a | p a} = {a | a ∈ s ∧ p a}
-- Set.setOf_inter_eq_sep
theorem setOf_inter_eq_sep (p : α → Prop) (s : Set α) : {a | p a} ∩ s = {a ∈ s | p a} 
Arguments: {α : Type u} (p : α → Prop) (s : Set α)
Goal: {a | p a} ∩ s = {a | a ∈ s ∧ p a}
-- Set.inter_union_distrib_left
theorem inter_union_distrib_left (s t u : Set α) : s ∩ (t ∪ u) = s ∩ t ∪ s ∩ u 
Arguments: {α : Type u} (s t u : Set α)
Goal: s ∩ (t ∪ u) = s ∩ t ∪ s ∩ u
-- Set.union_inter_distrib_right
theorem union_inter_distrib_right (s t u : Set α) : (s ∪ t) ∩ u = s ∩ u ∪ t ∩ u 
Arguments: {α : Type u} (s t u : Set α)
Goal: (s ∪ t) ∩ u = s ∩ u ∪ t ∩ u
-- Set.union_inter_distrib_left
theorem union_inter_distrib_left (s t u : Set α) : s ∪ t ∩ u = (s ∪ t) ∩ (s ∪ u) 
Arguments: {α : Type u} (s t u : Set α)
Goal: s ∪ t ∩ u = (s ∪ t) ∩ (s ∪ u)
-- Set.inter_union_distrib_right
theorem inter_union_distrib_right (s t u : Set α) : s ∩ t ∪ u = (s ∪ u) ∩ (t ∪ u) 
Arguments: {α : Type u} (s t u : Set α)
Goal: s ∩ t ∪ u = (s ∪ u) ∩ (t ∪ u)
-- Set.union_union_distrib_left
theorem union_union_distrib_left (s t u : Set α) : s ∪ (t ∪ u) = s ∪ t ∪ (s ∪ u) 
Arguments: {α : Type u} (s t u : Set α)
Goal: s ∪ (t ∪ u) = s ∪ t ∪ (s ∪ u)
-- Set.union_union_distrib_right
theorem union_union_distrib_right (s t u : Set α) : s ∪ t ∪ u = s ∪ u ∪ (t ∪ u) 
Arguments: {α : Type u} (s t u : Set α)
Goal: s ∪ t ∪ u = s ∪ u ∪ (t ∪ u)
-- Set.inter_inter_distrib_left
theorem inter_inter_distrib_left (s t u : Set α) : s ∩ (t ∩ u) = s ∩ t ∩ (s ∩ u) 
Arguments: {α : Type u} (s t u : Set α)
Goal: s ∩ (t ∩ u) = s ∩ t ∩ (s ∩ u)
-- Set.inter_inter_distrib_right
theorem inter_inter_distrib_right (s t u : Set α) : s ∩ t ∩ u = s ∩ u ∩ (t ∩ u) 
Arguments: {α : Type u} (s t u : Set α)
Goal: s ∩ t ∩ u = s ∩ u ∩ (t ∩ u)
-- Set.union_union_union_comm
theorem union_union_union_comm (s t u v : Set α) : s ∪ t ∪ (u ∪ v) = s ∪ u ∪ (t ∪ v) 
Arguments: {α : Type u} (s t u v : Set α)
Goal: s ∪ t ∪ (u ∪ v) = s ∪ u ∪ (t ∪ v)
-- Set.inter_inter_inter_comm
theorem inter_inter_inter_comm (s t u v : Set α) : s ∩ t ∩ (u ∩ v) = s ∩ u ∩ (t ∩ v) 
Arguments: {α : Type u} (s t u v : Set α)
Goal: s ∩ t ∩ (u ∩ v) = s ∩ u ∩ (t ∩ v)
-- Set.insert_def
theorem insert_def (x : α) (s : Set α) : insert x s = { y | y = x ∨ y ∈ s } 
Arguments: {α : Type u} (x : α) (s : Set α)
Goal: insert x s = {y | y = x ∨ y ∈ s}
-- Set.subset_insert
@[simp]
theorem subset_insert (x : α) (s : Set α) : s ⊆ insert x s 
Arguments: {α : Type u} (x : α) (s : Set α)
Goal: s ⊆ insert x s
-- Set.mem_insert
theorem mem_insert (x : α) (s : Set α) : x ∈ insert x s 
Arguments: {α : Type u} (x : α) (s : Set α)
Goal: x ∈ insert x s
-- Set.mem_insert_of_mem
theorem mem_insert_of_mem {x : α} {s : Set α} (y : α) : x ∈ s → x ∈ insert y s 
Arguments: {α : Type u} {x : α} {s : Set α} (y : α)
Goal: x ∈ s → x ∈ insert y s
-- Set.eq_or_mem_of_mem_insert
theorem eq_or_mem_of_mem_insert {x a : α} {s : Set α} : x ∈ insert a s → x = a ∨ x ∈ s 
Arguments: {α : Type u} {x a : α} {s : Set α}
Goal: x ∈ insert a s → x = a ∨ x ∈ s
-- Set.mem_of_mem_insert_of_ne
theorem mem_of_mem_insert_of_ne : b ∈ insert a s → b ≠ a → b ∈ s 
Arguments: {α : Type u} {a b : α} {s : Set α}
Goal: b ∈ insert a s → b ≠ a → b ∈ s
-- Set.eq_of_not_mem_of_mem_insert
theorem eq_of_not_mem_of_mem_insert : b ∈ insert a s → b ∉ s → b = a 
Arguments: {α : Type u} {a b : α} {s : Set α}
Goal: b ∈ insert a s → b ∉ s → b = a
-- Set.mem_insert_iff
@[simp]
theorem mem_insert_iff {x a : α} {s : Set α} : x ∈ insert a s ↔ x = a ∨ x ∈ s 
Arguments: {α : Type u} {x a : α} {s : Set α}
Goal: x ∈ insert a s ↔ x = a ∨ x ∈ s
-- Set.insert_eq_of_mem
@[simp]
theorem insert_eq_of_mem {a : α} {s : Set α} (h : a ∈ s) : insert a s = s 
Arguments: {α : Type u} {a : α} {s : Set α} (h : a ∈ s)
Goal: insert a s = s
-- Set.ne_insert_of_not_mem
theorem ne_insert_of_not_mem {s : Set α} (t : Set α) {a : α} : a ∉ s → s ≠ insert a t 
Arguments: {α : Type u} {s : Set α} (t : Set α) {a : α}
Goal: a ∉ s → s ≠ insert a t
-- Set.insert_eq_self
@[simp]
theorem insert_eq_self : insert a s = s ↔ a ∈ s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: insert a s = s ↔ a ∈ s
-- Set.insert_ne_self
theorem insert_ne_self : insert a s ≠ s ↔ a ∉ s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: insert a s ≠ s ↔ a ∉ s
-- Set.insert_subset_iff
theorem insert_subset_iff : insert a s ⊆ t ↔ a ∈ t ∧ s ⊆ t 
Arguments: {α : Type u} {a : α} {s t : Set α}
Goal: insert a s ⊆ t ↔ a ∈ t ∧ s ⊆ t
-- Set.insert_subset
theorem insert_subset (ha : a ∈ t) (hs : s ⊆ t) : insert a s ⊆ t 
Arguments: {α : Type u} {a : α} {s t : Set α} (ha : a ∈ t) (hs : s ⊆ t)
Goal: insert a s ⊆ t
-- Set.insert_subset_insert
theorem insert_subset_insert (h : s ⊆ t) : insert a s ⊆ insert a t 
Arguments: {α : Type u} {a : α} {s t : Set α} (h : s ⊆ t)
Goal: insert a s ⊆ insert a t
-- Set.insert_subset_insert_iff
@[simp] theorem insert_subset_insert_iff (ha : a ∉ s) : insert a s ⊆ insert a t ↔ s ⊆ t 
Arguments: {α : Type u} {a : α} {s t : Set α} (ha : a ∉ s)
Goal: insert a s ⊆ insert a t ↔ s ⊆ t
-- Set.subset_insert_iff_of_not_mem
theorem subset_insert_iff_of_not_mem (ha : a ∉ s) : s ⊆ insert a t ↔ s ⊆ t 
Arguments: {α : Type u} {a : α} {s t : Set α} (ha : a ∉ s)
Goal: s ⊆ insert a t ↔ s ⊆ t
-- Set.ssubset_iff_insert
theorem ssubset_iff_insert {s t : Set α} : s ⊂ t ↔ ∃ a ∉ s, insert a s ⊆ t 
Arguments: {α : Type u} {s t : Set α}
Goal: s ⊂ t ↔ ∃ a ∉ s, insert a s ⊆ t
-- Set.ssubset_insert
theorem ssubset_insert {s : Set α} {a : α} (h : a ∉ s) : s ⊂ insert a s 
Arguments: {α : Type u} {s : Set α} {a : α} (h : a ∉ s)
Goal: s ⊂ insert a s
-- Set.insert_comm
theorem insert_comm (a b : α) (s : Set α) : insert a (insert b s) = insert b (insert a s) 
Arguments: {α : Type u} (a b : α) (s : Set α)
Goal: insert a (insert b s) = insert b (insert a s)
-- Set.insert_idem
theorem insert_idem (a : α) (s : Set α) : insert a (insert a s) = insert a s 
Arguments: {α : Type u} (a : α) (s : Set α)
Goal: insert a (insert a s) = insert a s
-- Set.insert_union
theorem insert_union : insert a s ∪ t = insert a (s ∪ t) 
Arguments: {α : Type u} {a : α} {s t : Set α}
Goal: insert a s ∪ t = insert a (s ∪ t)
-- Set.union_insert
@[simp]
theorem union_insert : s ∪ insert a t = insert a (s ∪ t) 
Arguments: {α : Type u} {a : α} {s t : Set α}
Goal: s ∪ insert a t = insert a (s ∪ t)
-- Set.insert_nonempty
@[simp]
theorem insert_nonempty (a : α) (s : Set α) : (insert a s).Nonempty 
Arguments: {α : Type u} (a : α) (s : Set α)
Goal: (insert a s).Nonempty
-- Set.insert_inter_distrib
theorem insert_inter_distrib (a : α) (s t : Set α) : insert a (s ∩ t) = insert a s ∩ insert a t 
Arguments: {α : Type u} (a : α) (s t : Set α)
Goal: insert a (s ∩ t) = insert a s ∩ insert a t
-- Set.insert_union_distrib
theorem insert_union_distrib (a : α) (s t : Set α) : insert a (s ∪ t) = insert a s ∪ insert a t 
Arguments: {α : Type u} (a : α) (s t : Set α)
Goal: insert a (s ∪ t) = insert a s ∪ insert a t
-- Set.insert_inj
theorem insert_inj (ha : a ∉ s) : insert a s = insert b s ↔ a = b 
Arguments: {α : Type u} {a b : α} {s : Set α} (ha : a ∉ s)
Goal: insert a s = insert b s ↔ a = b
-- Set.forall_of_forall_insert
theorem forall_of_forall_insert {P : α → Prop} {a : α} {s : Set α} (H : ∀ x, x ∈ insert a s → P x)
    (x) (h : x ∈ s) : P x 
Arguments: {α : Type u} {P : α → Prop} {a : α} {s : Set α} (H : ∀ x ∈ insert a s, P x) (x : α) (h : x ∈ s)
Goal: P x
-- Set.forall_insert_of_forall
theorem forall_insert_of_forall {P : α → Prop} {a : α} {s : Set α} (H : ∀ x, x ∈ s → P x) (ha : P a)
    (x) (h : x ∈ insert a s) : P x 
Arguments: {α : Type u} {P : α → Prop} {a : α} {s : Set α} (H : ∀ x ∈ s, P x) (ha : P a) (x : α) (h : x ∈ insert a s)
Goal: P x
-- Set.exists_mem_insert
theorem exists_mem_insert {P : α → Prop} {a : α} {s : Set α} :
    (∃ x ∈ insert a s, P x) ↔ (P a ∨ ∃ x ∈ s, P x) 
Arguments: {α : Type u} {P : α → Prop} {a : α} {s : Set α}
Goal: (∃ x ∈ insert a s, P x) ↔ P a ∨ ∃ x ∈ s, P x
-- Set.forall_mem_insert
theorem forall_mem_insert {P : α → Prop} {a : α} {s : Set α} :
    (∀ x ∈ insert a s, P x) ↔ P a ∧ ∀ x ∈ s, P x 
Arguments: {α : Type u} {P : α → Prop} {a : α} {s : Set α}
Goal: (∀ x ∈ insert a s, P x) ↔ P a ∧ ∀ x ∈ s, P x
-- Set.singleton_def
theorem singleton_def (a : α) : ({a} : Set α) = insert a ∅ 
Arguments: {α : Type u} (a : α)
Goal: {a} = insert a ∅
-- Set.mem_singleton_iff
@[simp]
theorem mem_singleton_iff {a b : α} : a ∈ ({b} : Set α) ↔ a = b 
Arguments: {α : Type u} {a b : α}
Goal: a ∈ {b} ↔ a = b
-- Set.not_mem_singleton_iff
theorem not_mem_singleton_iff {a b : α} : a ∉ ({b} : Set α) ↔ a ≠ b 
Arguments: {α : Type u} {a b : α}
Goal: a ∉ {b} ↔ a ≠ b
-- Set.setOf_eq_eq_singleton
@[simp]
theorem setOf_eq_eq_singleton {a : α} : { n | n = a } = {a} 
Arguments: {α : Type u} {a : α}
Goal: {n | n = a} = {a}
-- Set.setOf_eq_eq_singleton'
@[simp]
theorem setOf_eq_eq_singleton' {a : α} : { x | a = x } = {a} 
Arguments: {α : Type u} {a : α}
Goal: {x | a = x} = {a}
-- Set.mem_singleton
theorem mem_singleton (a : α) : a ∈ ({a} : Set α) 
Arguments: {α : Type u} (a : α)
Goal: a ∈ {a}
-- Set.eq_of_mem_singleton
theorem eq_of_mem_singleton {x y : α} (h : x ∈ ({y} : Set α)) : x = y 
Arguments: {α : Type u} {x y : α} (h : x ∈ {y})
Goal: x = y
-- Set.singleton_eq_singleton_iff
@[simp]
theorem singleton_eq_singleton_iff {x y : α} : {x} = ({y} : Set α) ↔ x = y 
Arguments: {α : Type u} {x y : α}
Goal: {x} = {y} ↔ x = y
-- Set.singleton_injective
theorem singleton_injective : Injective (singleton : α → Set α) 
Arguments: {α : Type u}
Goal: Function.Injective singleton
-- Set.mem_singleton_of_eq
theorem mem_singleton_of_eq {x y : α} (H : x = y) : x ∈ ({y} : Set α) 
Arguments: {α : Type u} {x y : α} (H : x = y)
Goal: x ∈ {y}
-- Set.insert_eq
theorem insert_eq (x : α) (s : Set α) : insert x s = ({x} : Set α) ∪ s 
Arguments: {α : Type u} (x : α) (s : Set α)
Goal: insert x s = {x} ∪ s
-- Set.singleton_nonempty
@[simp]
theorem singleton_nonempty (a : α) : ({a} : Set α).Nonempty 
Arguments: {α : Type u} (a : α)
Goal: {a}.Nonempty
-- Set.singleton_ne_empty
@[simp]
theorem singleton_ne_empty (a : α) : ({a} : Set α) ≠ ∅ 
Arguments: {α : Type u} (a : α)
Goal: {a} ≠ ∅
-- Set.empty_ssubset_singleton
theorem empty_ssubset_singleton : (∅ : Set α) ⊂ {a} 
Arguments: {α : Type u} {a : α}
Goal: ∅ ⊂ {a}
-- Set.singleton_subset_iff
@[simp]
theorem singleton_subset_iff {a : α} {s : Set α} : {a} ⊆ s ↔ a ∈ s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: {a} ⊆ s ↔ a ∈ s
-- Set.singleton_subset_singleton
theorem singleton_subset_singleton : ({a} : Set α) ⊆ {b} ↔ a = b 
Arguments: {α : Type u} {a b : α}
Goal: {a} ⊆ {b} ↔ a = b
-- Set.set_compr_eq_eq_singleton
theorem set_compr_eq_eq_singleton {a : α} : { b | b = a } = {a} 
Arguments: {α : Type u} {a : α}
Goal: {b | b = a} = {a}
-- Set.singleton_union
@[simp]
theorem singleton_union : {a} ∪ s = insert a s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: {a} ∪ s = insert a s
-- Set.union_singleton
@[simp]
theorem union_singleton : s ∪ {a} = insert a s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: s ∪ {a} = insert a s
-- Set.singleton_inter_nonempty
@[simp]
theorem singleton_inter_nonempty : ({a} ∩ s).Nonempty ↔ a ∈ s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: ({a} ∩ s).Nonempty ↔ a ∈ s
-- Set.inter_singleton_nonempty
@[simp]
theorem inter_singleton_nonempty : (s ∩ {a}).Nonempty ↔ a ∈ s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: (s ∩ {a}).Nonempty ↔ a ∈ s
-- Set.singleton_inter_eq_empty
@[simp]
theorem singleton_inter_eq_empty : {a} ∩ s = ∅ ↔ a ∉ s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: {a} ∩ s = ∅ ↔ a ∉ s
-- Set.inter_singleton_eq_empty
@[simp]
theorem inter_singleton_eq_empty : s ∩ {a} = ∅ ↔ a ∉ s 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: s ∩ {a} = ∅ ↔ a ∉ s
-- Set.nmem_singleton_empty
theorem nmem_singleton_empty {s : Set α} : s ∉ ({∅} : Set (Set α)) ↔ s.Nonempty 
Arguments: {α : Type u} {s : Set α}
Goal: s ∉ {∅} ↔ s.Nonempty
-- Set.eq_singleton_iff_unique_mem
theorem eq_singleton_iff_unique_mem : s = {a} ↔ a ∈ s ∧ ∀ x ∈ s, x = a 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: s = {a} ↔ a ∈ s ∧ ∀ x ∈ s, x = a
-- Set.eq_singleton_iff_nonempty_unique_mem
theorem eq_singleton_iff_nonempty_unique_mem : s = {a} ↔ s.Nonempty ∧ ∀ x ∈ s, x = a 
Arguments: {α : Type u} {a : α} {s : Set α}
Goal: s = {a} ↔ s.Nonempty ∧ ∀ x ∈ s, x = a
-- Set.default_coe_singleton
@[simp]
theorem default_coe_singleton (x : α) : (default : ({x} : Set α)) = ⟨x, rfl⟩ 
Arguments: {α : Type u} (x : α)
Goal: default = ⟨x, ⋯⟩
-- Set.mem_sep
theorem mem_sep (xs : x ∈ s) (px : p x) : x ∈ { x ∈ s | p x } 
Arguments: {α : Type u} {s : Set α} {p : α → Prop} {x : α} (xs : x ∈ s) (px : p x)
Goal: x ∈ {x | x ∈ s ∧ p x}
-- Set.sep_mem_eq
@[simp]
theorem sep_mem_eq : { x ∈ s | x ∈ t } = s ∩ t 
Arguments: {α : Type u} {s t : Set α}
Goal: {x | x ∈ s ∧ x ∈ t} = s ∩ t
-- Set.mem_sep_iff
@[simp]
theorem mem_sep_iff : x ∈ { x ∈ s | p x } ↔ x ∈ s ∧ p x 
Arguments: {α : Type u} {s : Set α} {p : α → Prop} {x : α}
Goal: x ∈ {x | x ∈ s ∧ p x} ↔ x ∈ s ∧ p x
-- Set.sep_ext_iff
theorem sep_ext_iff : { x ∈ s | p x } = { x ∈ s | q x } ↔ ∀ x ∈ s, p x ↔ q x 
Arguments: {α : Type u} {s : Set α} {p q : α → Prop}
Goal: {x | x ∈ s ∧ p x} = {x | x ∈ s ∧ q x} ↔ ∀ x ∈ s, p x ↔ q x
-- Set.sep_eq_of_subset
theorem sep_eq_of_subset (h : s ⊆ t) : { x ∈ t | x ∈ s } = s 
Arguments: {α : Type u} {s t : Set α} (h : s ⊆ t)
Goal: {x | x ∈ t ∧ x ∈ s} = s
-- Set.sep_subset
@[simp]
theorem sep_subset (s : Set α) (p : α → Prop) : { x ∈ s | p x } ⊆ s 
Arguments: {α : Type u} (s : Set α) (p : α → Prop)
Goal: {x | x ∈ s ∧ p x} ⊆ s
-- Set.sep_eq_self_iff_mem_true
@[simp]
theorem sep_eq_self_iff_mem_true : { x ∈ s | p x } = s ↔ ∀ x ∈ s, p x 
Arguments: {α : Type u} {s : Set α} {p : α → Prop}
Goal: {x | x ∈ s ∧ p x} = s ↔ ∀ x ∈ s, p x
-- Set.sep_eq_empty_iff_mem_false
@[simp]
theorem sep_eq_empty_iff_mem_false : { x ∈ s | p x } = ∅ ↔ ∀ x ∈ s, ¬p x 
Arguments: {α : Type u} {s : Set α} {p : α → Prop}
Goal: {x | x ∈ s ∧ p x} = ∅ ↔ ∀ x ∈ s, ¬p x
-- Set.sep_true
theorem sep_true : { x ∈ s | True } = s 
Arguments: {α : Type u} {s : Set α}
Goal: {x | x ∈ s ∧ True} = s
-- Set.sep_false
theorem sep_false : { x ∈ s | False } = ∅ 
Arguments: {α : Type u} {s : Set α}
Goal: {x | x ∈ s ∧ False} = ∅
-- Set.sep_empty
theorem sep_empty (p : α → Prop) : { x ∈ (∅ : Set α) | p x } = ∅ 
Arguments: {α : Type u} (p : α → Prop)
Goal: {x | x ∈ ∅ ∧ p x} = ∅
-- Set.sep_univ
theorem sep_univ : { x ∈ (univ : Set α) | p x } = { x | p x } 
Arguments: {α : Type u} {p : α → Prop}
Goal: {x | x ∈ Set.univ ∧ p x} = {x | p x}
-- Set.sep_union
@[simp]
theorem sep_union : { x | (x ∈ s ∨ x ∈ t) ∧ p x } = { x ∈ s | p x } ∪ { x ∈ t | p x } 
Arguments: {α : Type u} {s t : Set α} {p : α → Prop}
Goal: {x | (x ∈ s ∨ x ∈ t) ∧ p x} = {x | x ∈ s ∧ p x} ∪ {x | x ∈ t ∧ p x}
-- Set.sep_inter
@[simp]
theorem sep_inter : { x | (x ∈ s ∧ x ∈ t) ∧ p x } = { x ∈ s | p x } ∩ { x ∈ t | p x } 
Arguments: {α : Type u} {s t : Set α} {p : α → Prop}
Goal: {x | (x ∈ s ∧ x ∈ t) ∧ p x} = {x | x ∈ s ∧ p x} ∩ {x | x ∈ t ∧ p x}
-- Set.sep_and
@[simp]
theorem sep_and : { x ∈ s | p x ∧ q x } = { x ∈ s | p x } ∩ { x ∈ s | q x } 
Arguments: {α : Type u} {s : Set α} {p q : α → Prop}
Goal: {x | x ∈ s ∧ p x ∧ q x} = {x | x ∈ s ∧ p x} ∩ {x | x ∈ s ∧ q x}
-- Set.sep_or
@[simp]
theorem sep_or : { x ∈ s | p x ∨ q x } = { x ∈ s | p x } ∪ { x ∈ s | q x } 
Arguments: {α : Type u} {s : Set α} {p q : α → Prop}
Goal: {x | x ∈ s ∧ (p x ∨ q x)} = {x | x ∈ s ∧ p x} ∪ {x | x ∈ s ∧ q x}
-- Set.sep_setOf
@[simp]
theorem sep_setOf : { x ∈ { y | p y } | q x } = { x | p x ∧ q x } 
Arguments: {α : Type u} {p q : α → Prop}
Goal: {x | x ∈ {y | p y} ∧ q x} = {x | p x ∧ q x}
-- Set.subset_singleton_iff
@[simp]
theorem subset_singleton_iff {α : Type*} {s : Set α} {x : α} : s ⊆ {x} ↔ ∀ y ∈ s, y = x 
Arguments: {α : Type u_1} {s : Set α} {x : α}
Goal: s ⊆ {x} ↔ ∀ y ∈ s, y = x
-- Set.subset_singleton_iff_eq
theorem subset_singleton_iff_eq {s : Set α} {x : α} : s ⊆ {x} ↔ s = ∅ ∨ s = {x} 
Arguments: {α : Type u} {s : Set α} {x : α}
Goal: s ⊆ {x} ↔ s = ∅ ∨ s = {x}
-- Set.Nonempty.subset_singleton_iff
theorem Nonempty.subset_singleton_iff (h : s.Nonempty) : s ⊆ {a} ↔ s = {a} 
Arguments: {α : Type u} {a : α} {s : Set α} (h : s.Nonempty)
Goal: s ⊆ {a} ↔ s = {a}
-- Set.ssubset_singleton_iff
theorem ssubset_singleton_iff {s : Set α} {x : α} : s ⊂ {x} ↔ s = ∅ 
Arguments: {α : Type u} {s : Set α} {x : α}
Goal: s ⊂ {x} ↔ s = ∅
-- Set.eq_empty_of_ssubset_singleton
theorem eq_empty_of_ssubset_singleton {s : Set α} {x : α} (hs : s ⊂ {x}) : s = ∅ 
Arguments: {α : Type u} {s : Set α} {x : α} (hs : s ⊂ {x})
Goal: s = ∅
-- Set.eq_of_nonempty_of_subsingleton
theorem eq_of_nonempty_of_subsingleton {α} [Subsingleton α] (s t : Set α) [Nonempty s]
    [Nonempty t] : s = t 
Arguments: {α : Type u_1} [Subsingleton α] (s t : Set α) [Nonempty ↑s] [Nonempty ↑t]
Goal: s = t
-- Set.eq_of_nonempty_of_subsingleton'
theorem eq_of_nonempty_of_subsingleton' {α} [Subsingleton α] {s : Set α} (t : Set α)
    (hs : s.Nonempty) [Nonempty t] : s = t 
Arguments: {α : Type u_1} [Subsingleton α] {s : Set α} (t : Set α) (hs : s.Nonempty) [Nonempty ↑t]
Goal: s = t