ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.union_right_comm
theorem union_right_comm (s t u : Finset α) : s ∪ t ∪ u = s ∪ u ∪ t 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∪ t ∪ u = s ∪ u ∪ t
-- Finset.union_self
theorem union_self (s : Finset α) : s ∪ s = s 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α)
Goal: s ∪ s = s
-- Finset.union_empty
@[simp]
theorem union_empty (s : Finset α) : s ∪ ∅ = s 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α)
Goal: s ∪ ∅ = s
-- Finset.empty_union
@[simp]
theorem empty_union (s : Finset α) : ∅ ∪ s = s 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α)
Goal: ∅ ∪ s = s
-- Finset.Nonempty.inl
@[aesop unsafe apply (rule_sets := [finsetNonempty])]
theorem Nonempty.inl {s t : Finset α} (h : s.Nonempty) : (s ∪ t).Nonempty 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} (h : s.Nonempty)
Goal: (s ∪ t).Nonempty
-- Finset.Nonempty.inr
@[aesop unsafe apply (rule_sets := [finsetNonempty])]
theorem Nonempty.inr {s t : Finset α} (h : t.Nonempty) : (s ∪ t).Nonempty 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} (h : t.Nonempty)
Goal: (s ∪ t).Nonempty
-- Finset.insert_eq
theorem insert_eq (a : α) (s : Finset α) : insert a s = {a} ∪ s 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Finset α)
Goal: insert a s = {a} ∪ s
-- Finset.insert_union
@[simp]
theorem insert_union (a : α) (s t : Finset α) : insert a s ∪ t = insert a (s ∪ t) 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s t : Finset α)
Goal: insert a s ∪ t = insert a (s ∪ t)
-- Finset.union_insert
@[simp]
theorem union_insert (a : α) (s t : Finset α) : s ∪ insert a t = insert a (s ∪ t) 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s t : Finset α)
Goal: s ∪ insert a t = insert a (s ∪ t)
-- Finset.insert_union_distrib
theorem insert_union_distrib (a : α) (s t : Finset α) :
    insert a (s ∪ t) = insert a s ∪ insert a t 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s t : Finset α)
Goal: insert a (s ∪ t) = insert a s ∪ insert a t
-- Finset.union_eq_left
@[simp] lemma union_eq_left : s ∪ t = s ↔ t ⊆ s 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s ∪ t = s ↔ t ⊆ s
-- Finset.left_eq_union
@[simp] lemma left_eq_union : s = s ∪ t ↔ t ⊆ s 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s = s ∪ t ↔ t ⊆ s
-- Finset.union_eq_right
@[simp] lemma union_eq_right : s ∪ t = t ↔ s ⊆ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s ∪ t = t ↔ s ⊆ t
-- Finset.right_eq_union
@[simp] lemma right_eq_union : s = t ∪ s ↔ t ⊆ s 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s = t ∪ s ↔ t ⊆ s
-- Finset.union_congr_left
theorem union_congr_left (ht : t ⊆ s ∪ u) (hu : u ⊆ s ∪ t) : s ∪ t = s ∪ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α} (ht : t ⊆ s ∪ u) (hu : u ⊆ s ∪ t)
Goal: s ∪ t = s ∪ u
-- Finset.union_congr_right
theorem union_congr_right (hs : s ⊆ t ∪ u) (ht : t ⊆ s ∪ u) : s ∪ u = t ∪ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α} (hs : s ⊆ t ∪ u) (ht : t ⊆ s ∪ u)
Goal: s ∪ u = t ∪ u
-- Finset.union_eq_union_iff_left
theorem union_eq_union_iff_left : s ∪ t = s ∪ u ↔ t ⊆ s ∪ u ∧ u ⊆ s ∪ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: s ∪ t = s ∪ u ↔ t ⊆ s ∪ u ∧ u ⊆ s ∪ t
-- Finset.union_eq_union_iff_right
theorem union_eq_union_iff_right : s ∪ u = t ∪ u ↔ s ⊆ t ∪ u ∧ t ⊆ s ∪ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: s ∪ u = t ∪ u ↔ s ⊆ t ∪ u ∧ t ⊆ s ∪ u
-- Finset.disjoint_union_left
@[simp]
theorem disjoint_union_left : Disjoint (s ∪ t) u ↔ Disjoint s u ∧ Disjoint t u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: Disjoint (s ∪ t) u ↔ Disjoint s u ∧ Disjoint t u
-- Finset.disjoint_union_right
@[simp]
theorem disjoint_union_right : Disjoint s (t ∪ u) ↔ Disjoint s t ∧ Disjoint s u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: Disjoint s (t ∪ u) ↔ Disjoint s t ∧ Disjoint s u
-- Finset.induction_on_union
theorem induction_on_union (P : Finset α → Finset α → Prop) (symm : ∀ {a b}, P a b → P b a)
    (empty_right : ∀ {a}, P a ∅) (singletons : ∀ {a b}, P {a} {b})
    (union_of : ∀ {a b c}, P a c → P b c → P (a ∪ b) c) : ∀ a b, P a b 
Arguments: {α : Type u_1} [DecidableEq α] (P : Finset α → Finset α → Prop) (symm : ∀ {a b : Finset α}, P a b → P b a) (empty_right : ∀ {a : Finset α}, P a ∅) (singletons : ∀ {a b : α}, P {a} {b}) (union_of : ∀ {a b c : Finset α}, P a c → P b c → P (a ∪ b) c) (a b : Finset α)
Goal: P a b
-- Finset.inter_val_nd
theorem inter_val_nd (s₁ s₂ : Finset α) : (s₁ ∩ s₂).1 = ndinter s₁.1 s₂.1 
Arguments: {α : Type u_1} [DecidableEq α] (s₁ s₂ : Finset α)
Goal: (s₁ ∩ s₂).val = s₁.val.ndinter s₂.val
-- Finset.inter_val
@[simp]
theorem inter_val (s₁ s₂ : Finset α) : (s₁ ∩ s₂).1 = s₁.1 ∩ s₂.1 
Arguments: {α : Type u_1} [DecidableEq α] (s₁ s₂ : Finset α)
Goal: (s₁ ∩ s₂).val = s₁.val ∩ s₂.val
-- Finset.mem_inter
@[simp]
theorem mem_inter {a : α} {s₁ s₂ : Finset α} : a ∈ s₁ ∩ s₂ ↔ a ∈ s₁ ∧ a ∈ s₂ 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s₁ s₂ : Finset α}
Goal: a ∈ s₁ ∩ s₂ ↔ a ∈ s₁ ∧ a ∈ s₂
-- Finset.mem_of_mem_inter_left
theorem mem_of_mem_inter_left {a : α} {s₁ s₂ : Finset α} (h : a ∈ s₁ ∩ s₂) : a ∈ s₁ 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s₁ s₂ : Finset α} (h : a ∈ s₁ ∩ s₂)
Goal: a ∈ s₁
-- Finset.mem_of_mem_inter_right
theorem mem_of_mem_inter_right {a : α} {s₁ s₂ : Finset α} (h : a ∈ s₁ ∩ s₂) : a ∈ s₂ 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s₁ s₂ : Finset α} (h : a ∈ s₁ ∩ s₂)
Goal: a ∈ s₂
-- Finset.mem_inter_of_mem
theorem mem_inter_of_mem {a : α} {s₁ s₂ : Finset α} : a ∈ s₁ → a ∈ s₂ → a ∈ s₁ ∩ s₂ 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s₁ s₂ : Finset α}
Goal: a ∈ s₁ → a ∈ s₂ → a ∈ s₁ ∩ s₂
-- Finset.inter_subset_left
theorem inter_subset_left {s₁ s₂ : Finset α} : s₁ ∩ s₂ ⊆ s₁ 
Arguments: {α : Type u_1} [DecidableEq α] {s₁ s₂ : Finset α}
Goal: s₁ ∩ s₂ ⊆ s₁
-- Finset.inter_subset_right
theorem inter_subset_right {s₁ s₂ : Finset α} : s₁ ∩ s₂ ⊆ s₂ 
Arguments: {α : Type u_1} [DecidableEq α] {s₁ s₂ : Finset α}
Goal: s₁ ∩ s₂ ⊆ s₂
-- Finset.subset_inter
theorem subset_inter {s₁ s₂ u : Finset α} : s₁ ⊆ s₂ → s₁ ⊆ u → s₁ ⊆ s₂ ∩ u 
Arguments: {α : Type u_1} [DecidableEq α] {s₁ s₂ u : Finset α}
Goal: s₁ ⊆ s₂ → s₁ ⊆ u → s₁ ⊆ s₂ ∩ u
-- Finset.coe_inter
@[simp, norm_cast]
theorem coe_inter (s₁ s₂ : Finset α) : ↑(s₁ ∩ s₂) = (s₁ ∩ s₂ : Set α) 
Arguments: {α : Type u_1} [DecidableEq α] (s₁ s₂ : Finset α)
Goal: ↑(s₁ ∩ s₂) = ↑s₁ ∩ ↑s₂
-- Finset.union_inter_cancel_left
@[simp]
theorem union_inter_cancel_left {s t : Finset α} : (s ∪ t) ∩ s = s 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: (s ∪ t) ∩ s = s
-- Finset.union_inter_cancel_right
@[simp]
theorem union_inter_cancel_right {s t : Finset α} : (s ∪ t) ∩ t = t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: (s ∪ t) ∩ t = t
-- Finset.inter_comm
theorem inter_comm (s₁ s₂ : Finset α) : s₁ ∩ s₂ = s₂ ∩ s₁ 
Arguments: {α : Type u_1} [DecidableEq α] (s₁ s₂ : Finset α)
Goal: s₁ ∩ s₂ = s₂ ∩ s₁
-- Finset.inter_assoc
@[simp]
theorem inter_assoc (s₁ s₂ s₃ : Finset α) : s₁ ∩ s₂ ∩ s₃ = s₁ ∩ (s₂ ∩ s₃) 
Arguments: {α : Type u_1} [DecidableEq α] (s₁ s₂ s₃ : Finset α)
Goal: s₁ ∩ s₂ ∩ s₃ = s₁ ∩ (s₂ ∩ s₃)
-- Finset.inter_left_comm
theorem inter_left_comm (s₁ s₂ s₃ : Finset α) : s₁ ∩ (s₂ ∩ s₃) = s₂ ∩ (s₁ ∩ s₃) 
Arguments: {α : Type u_1} [DecidableEq α] (s₁ s₂ s₃ : Finset α)
Goal: s₁ ∩ (s₂ ∩ s₃) = s₂ ∩ (s₁ ∩ s₃)
-- Finset.inter_right_comm
theorem inter_right_comm (s₁ s₂ s₃ : Finset α) : s₁ ∩ s₂ ∩ s₃ = s₁ ∩ s₃ ∩ s₂ 
Arguments: {α : Type u_1} [DecidableEq α] (s₁ s₂ s₃ : Finset α)
Goal: s₁ ∩ s₂ ∩ s₃ = s₁ ∩ s₃ ∩ s₂
-- Finset.inter_self
@[simp]
theorem inter_self (s : Finset α) : s ∩ s = s 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α)
Goal: s ∩ s = s
-- Finset.inter_empty
@[simp]
theorem inter_empty (s : Finset α) : s ∩ ∅ = ∅ 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α)
Goal: s ∩ ∅ = ∅
-- Finset.empty_inter
@[simp]
theorem empty_inter (s : Finset α) : ∅ ∩ s = ∅ 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α)
Goal: ∅ ∩ s = ∅
-- Finset.inter_union_self
@[simp]
theorem inter_union_self (s t : Finset α) : s ∩ (t ∪ s) = s 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: s ∩ (t ∪ s) = s
-- Finset.insert_inter_of_mem
@[simp]
theorem insert_inter_of_mem {s₁ s₂ : Finset α} {a : α} (h : a ∈ s₂) :
    insert a s₁ ∩ s₂ = insert a (s₁ ∩ s₂) 
Arguments: {α : Type u_1} [DecidableEq α] {s₁ s₂ : Finset α} {a : α} (h : a ∈ s₂)
Goal: insert a s₁ ∩ s₂ = insert a (s₁ ∩ s₂)
-- Finset.inter_insert_of_mem
@[simp]
theorem inter_insert_of_mem {s₁ s₂ : Finset α} {a : α} (h : a ∈ s₁) :
    s₁ ∩ insert a s₂ = insert a (s₁ ∩ s₂) 
Arguments: {α : Type u_1} [DecidableEq α] {s₁ s₂ : Finset α} {a : α} (h : a ∈ s₁)
Goal: s₁ ∩ insert a s₂ = insert a (s₁ ∩ s₂)
-- Finset.insert_inter_of_not_mem
@[simp]
theorem insert_inter_of_not_mem {s₁ s₂ : Finset α} {a : α} (h : a ∉ s₂) :
    insert a s₁ ∩ s₂ = s₁ ∩ s₂ 
Arguments: {α : Type u_1} [DecidableEq α] {s₁ s₂ : Finset α} {a : α} (h : a ∉ s₂)
Goal: insert a s₁ ∩ s₂ = s₁ ∩ s₂
-- Finset.inter_insert_of_not_mem
@[simp]
theorem inter_insert_of_not_mem {s₁ s₂ : Finset α} {a : α} (h : a ∉ s₁) :
    s₁ ∩ insert a s₂ = s₁ ∩ s₂ 
Arguments: {α : Type u_1} [DecidableEq α] {s₁ s₂ : Finset α} {a : α} (h : a ∉ s₁)
Goal: s₁ ∩ insert a s₂ = s₁ ∩ s₂
-- Finset.singleton_inter_of_mem
@[simp]
theorem singleton_inter_of_mem {a : α} {s : Finset α} (H : a ∈ s) : {a} ∩ s = {a} 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α} (H : a ∈ s)
Goal: {a} ∩ s = {a}
-- Finset.singleton_inter_of_not_mem
@[simp]
theorem singleton_inter_of_not_mem {a : α} {s : Finset α} (H : a ∉ s) : {a} ∩ s = ∅ 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α} (H : a ∉ s)
Goal: {a} ∩ s = ∅
-- Finset.inter_singleton_of_mem
@[simp]
theorem inter_singleton_of_mem {a : α} {s : Finset α} (h : a ∈ s) : s ∩ {a} = {a} 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α} (h : a ∈ s)
Goal: s ∩ {a} = {a}
-- Finset.inter_singleton_of_not_mem
@[simp]
theorem inter_singleton_of_not_mem {a : α} {s : Finset α} (h : a ∉ s) : s ∩ {a} = ∅ 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α} (h : a ∉ s)
Goal: s ∩ {a} = ∅
-- Finset.inter_subset_inter
@[mono, gcongr]
theorem inter_subset_inter {x y s t : Finset α} (h : x ⊆ y) (h' : s ⊆ t) : x ∩ s ⊆ y ∩ t 
Arguments: {α : Type u_1} [DecidableEq α] {x y s t : Finset α} (h : x ⊆ y) (h' : s ⊆ t)
Goal: x ∩ s ⊆ y ∩ t
-- Finset.inter_subset_inter_left
@[gcongr]
theorem inter_subset_inter_left (h : t ⊆ u) : s ∩ t ⊆ s ∩ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α} (h : t ⊆ u)
Goal: s ∩ t ⊆ s ∩ u
-- Finset.inter_subset_inter_right
@[gcongr]
theorem inter_subset_inter_right (h : s ⊆ t) : s ∩ u ⊆ t ∩ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α} (h : s ⊆ t)
Goal: s ∩ u ⊆ t ∩ u
-- Finset.inter_subset_union
theorem inter_subset_union : s ∩ t ⊆ s ∪ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s ∩ t ⊆ s ∪ t
-- Finset.union_left_idem
@[simp]
theorem union_left_idem (s t : Finset α) : s ∪ (s ∪ t) = s ∪ t 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: s ∪ (s ∪ t) = s ∪ t
-- Finset.union_right_idem
theorem union_right_idem (s t : Finset α) : s ∪ t ∪ t = s ∪ t 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: s ∪ t ∪ t = s ∪ t
-- Finset.inter_left_idem
@[simp]
theorem inter_left_idem (s t : Finset α) : s ∩ (s ∩ t) = s ∩ t 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: s ∩ (s ∩ t) = s ∩ t
-- Finset.inter_right_idem
theorem inter_right_idem (s t : Finset α) : s ∩ t ∩ t = s ∩ t 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: s ∩ t ∩ t = s ∩ t
-- Finset.inter_union_distrib_left
theorem inter_union_distrib_left (s t u : Finset α) : s ∩ (t ∪ u) = s ∩ t ∪ s ∩ u 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∩ (t ∪ u) = s ∩ t ∪ s ∩ u
-- Finset.union_inter_distrib_right
theorem union_inter_distrib_right (s t u : Finset α) : (s ∪ t) ∩ u = s ∩ u ∪ t ∩ u 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: (s ∪ t) ∩ u = s ∩ u ∪ t ∩ u
-- Finset.union_inter_distrib_left
theorem union_inter_distrib_left (s t u : Finset α) : s ∪ t ∩ u = (s ∪ t) ∩ (s ∪ u) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∪ t ∩ u = (s ∪ t) ∩ (s ∪ u)
-- Finset.inter_union_distrib_right
theorem inter_union_distrib_right (s t u : Finset α) : s ∩ t ∪ u = (s ∪ u) ∩ (t ∪ u) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∩ t ∪ u = (s ∪ u) ∩ (t ∪ u)
-- Finset.union_union_distrib_left
theorem union_union_distrib_left (s t u : Finset α) : s ∪ (t ∪ u) = s ∪ t ∪ (s ∪ u) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∪ (t ∪ u) = s ∪ t ∪ (s ∪ u)
-- Finset.union_union_distrib_right
theorem union_union_distrib_right (s t u : Finset α) : s ∪ t ∪ u = s ∪ u ∪ (t ∪ u) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∪ t ∪ u = s ∪ u ∪ (t ∪ u)
-- Finset.inter_inter_distrib_left
theorem inter_inter_distrib_left (s t u : Finset α) : s ∩ (t ∩ u) = s ∩ t ∩ (s ∩ u) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∩ (t ∩ u) = s ∩ t ∩ (s ∩ u)
-- Finset.inter_inter_distrib_right
theorem inter_inter_distrib_right (s t u : Finset α) : s ∩ t ∩ u = s ∩ u ∩ (t ∩ u) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u : Finset α)
Goal: s ∩ t ∩ u = s ∩ u ∩ (t ∩ u)
-- Finset.union_union_union_comm
theorem union_union_union_comm (s t u v : Finset α) : s ∪ t ∪ (u ∪ v) = s ∪ u ∪ (t ∪ v) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u v : Finset α)
Goal: s ∪ t ∪ (u ∪ v) = s ∪ u ∪ (t ∪ v)
-- Finset.inter_inter_inter_comm
theorem inter_inter_inter_comm (s t u v : Finset α) : s ∩ t ∩ (u ∩ v) = s ∩ u ∩ (t ∩ v) 
Arguments: {α : Type u_1} [DecidableEq α] (s t u v : Finset α)
Goal: s ∩ t ∩ (u ∩ v) = s ∩ u ∩ (t ∩ v)
-- Finset.union_eq_empty
lemma union_eq_empty : s ∪ t = ∅ ↔ s = ∅ ∧ t = ∅ 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s ∪ t = ∅ ↔ s = ∅ ∧ t = ∅
-- Finset.union_subset_iff
theorem union_subset_iff : s ∪ t ⊆ u ↔ s ⊆ u ∧ t ⊆ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: s ∪ t ⊆ u ↔ s ⊆ u ∧ t ⊆ u
-- Finset.subset_inter_iff
theorem subset_inter_iff : s ⊆ t ∩ u ↔ s ⊆ t ∧ s ⊆ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: s ⊆ t ∩ u ↔ s ⊆ t ∧ s ⊆ u
-- Finset.inter_eq_left
@[simp] lemma inter_eq_left : s ∩ t = s ↔ s ⊆ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s ∩ t = s ↔ s ⊆ t
-- Finset.inter_eq_right
@[simp] lemma inter_eq_right : t ∩ s = s ↔ s ⊆ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: t ∩ s = s ↔ s ⊆ t
-- Finset.inter_congr_left
theorem inter_congr_left (ht : s ∩ u ⊆ t) (hu : s ∩ t ⊆ u) : s ∩ t = s ∩ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α} (ht : s ∩ u ⊆ t) (hu : s ∩ t ⊆ u)
Goal: s ∩ t = s ∩ u
-- Finset.inter_congr_right
theorem inter_congr_right (hs : t ∩ u ⊆ s) (ht : s ∩ u ⊆ t) : s ∩ u = t ∩ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α} (hs : t ∩ u ⊆ s) (ht : s ∩ u ⊆ t)
Goal: s ∩ u = t ∩ u
-- Finset.inter_eq_inter_iff_left
theorem inter_eq_inter_iff_left : s ∩ t = s ∩ u ↔ s ∩ u ⊆ t ∧ s ∩ t ⊆ u 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: s ∩ t = s ∩ u ↔ s ∩ u ⊆ t ∧ s ∩ t ⊆ u
-- Finset.inter_eq_inter_iff_right
theorem inter_eq_inter_iff_right : s ∩ u = t ∩ u ↔ t ∩ u ⊆ s ∧ s ∩ u ⊆ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t u : Finset α}
Goal: s ∩ u = t ∩ u ↔ t ∩ u ⊆ s ∧ s ∩ u ⊆ t
-- Finset.ite_subset_union
theorem ite_subset_union (s s' : Finset α) (P : Prop) [Decidable P] : ite P s s' ⊆ s ∪ s' 
Arguments: {α : Type u_1} [DecidableEq α] (s s' : Finset α) (P : Prop) [Decidable P]
Goal: (if P then s else s') ⊆ s ∪ s'
-- Finset.inter_subset_ite
theorem inter_subset_ite (s s' : Finset α) (P : Prop) [Decidable P] : s ∩ s' ⊆ ite P s s' 
Arguments: {α : Type u_1} [DecidableEq α] (s s' : Finset α) (P : Prop) [Decidable P]
Goal: s ∩ s' ⊆ if P then s else s'
-- Finset.not_disjoint_iff_nonempty_inter
theorem not_disjoint_iff_nonempty_inter : ¬Disjoint s t ↔ (s ∩ t).Nonempty 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: ¬Disjoint s t ↔ (s ∩ t).Nonempty
-- Finset.disjoint_or_nonempty_inter
theorem disjoint_or_nonempty_inter (s t : Finset α) : Disjoint s t ∨ (s ∩ t).Nonempty 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: Disjoint s t ∨ (s ∩ t).Nonempty
-- Finset.erase_val
@[simp]
theorem erase_val (s : Finset α) (a : α) : (erase s a).1 = s.1.erase a 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α) (a : α)
Goal: (s.erase a).val = s.val.erase a
-- Finset.mem_erase
@[simp]
theorem mem_erase {a b : α} {s : Finset α} : a ∈ erase s b ↔ a ≠ b ∧ a ∈ s 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α} {s : Finset α}
Goal: a ∈ s.erase b ↔ a ≠ b ∧ a ∈ s
-- Finset.not_mem_erase
theorem not_mem_erase (a : α) (s : Finset α) : a ∉ erase s a 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Finset α)
Goal: a ∉ s.erase a
-- Finset.erase_empty
@[simp]
theorem erase_empty (a : α) : erase ∅ a = ∅ 
Arguments: {α : Type u_1} [DecidableEq α] (a : α)
Goal: ∅.erase a = ∅
-- Finset.Nontrivial.erase_nonempty
protected lemma Nontrivial.erase_nonempty (hs : s.Nontrivial) : (s.erase a).Nonempty 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a : α} (hs : s.Nontrivial)
Goal: (s.erase a).Nonempty
-- Finset.erase_nonempty
@[simp] lemma erase_nonempty (ha : a ∈ s) : (s.erase a).Nonempty ↔ s.Nontrivial 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a : α} (ha : a ∈ s)
Goal: (s.erase a).Nonempty ↔ s.Nontrivial
-- Finset.erase_singleton
@[simp]
theorem erase_singleton (a : α) : ({a} : Finset α).erase a = ∅ 
Arguments: {α : Type u_1} [DecidableEq α] (a : α)
Goal: {a}.erase a = ∅
-- Finset.ne_of_mem_erase
theorem ne_of_mem_erase : b ∈ erase s a → b ≠ a 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a b : α}
Goal: b ∈ s.erase a → b ≠ a
-- Finset.mem_of_mem_erase
theorem mem_of_mem_erase : b ∈ erase s a → b ∈ s 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a b : α}
Goal: b ∈ s.erase a → b ∈ s
-- Finset.mem_erase_of_ne_of_mem
theorem mem_erase_of_ne_of_mem : a ≠ b → a ∈ s → a ∈ erase s b 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a b : α}
Goal: a ≠ b → a ∈ s → a ∈ s.erase b
-- Finset.eq_of_mem_of_not_mem_erase
theorem eq_of_mem_of_not_mem_erase (hs : b ∈ s) (hsa : b ∉ s.erase a) : b = a 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a b : α} (hs : b ∈ s) (hsa : b ∉ s.erase a)
Goal: b = a
-- Finset.erase_eq_of_not_mem
@[simp]
theorem erase_eq_of_not_mem {a : α} {s : Finset α} (h : a ∉ s) : erase s a = s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α} (h : a ∉ s)
Goal: s.erase a = s
-- Finset.erase_eq_self
@[simp]
theorem erase_eq_self : s.erase a = s ↔ a ∉ s 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a : α}
Goal: s.erase a = s ↔ a ∉ s
-- Finset.erase_insert_eq_erase
@[simp]
theorem erase_insert_eq_erase (s : Finset α) (a : α) : (insert a s).erase a = s.erase a 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α) (a : α)
Goal: (insert a s).erase a = s.erase a
-- Finset.erase_insert
theorem erase_insert {a : α} {s : Finset α} (h : a ∉ s) : erase (insert a s) a = s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α} (h : a ∉ s)
Goal: (insert a s).erase a = s
-- Finset.erase_insert_of_ne
theorem erase_insert_of_ne {a b : α} {s : Finset α} (h : a ≠ b) :
    erase (insert a s) b = insert a (erase s b) 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α} {s : Finset α} (h : a ≠ b)
Goal: (insert a s).erase b = insert a (s.erase b)
-- Finset.erase_cons_of_ne
theorem erase_cons_of_ne {a b : α} {s : Finset α} (ha : a ∉ s) (hb : a ≠ b) :
    erase (cons a s ha) b = cons a (erase s b) fun h => ha <| erase_subset _ _ h 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α} {s : Finset α} (ha : a ∉ s) (hb : a ≠ b)
Goal: (Finset.cons a s ha).erase b = Finset.cons a (s.erase b) ⋯
-- Finset.insert_erase
@[simp] theorem insert_erase (h : a ∈ s) : insert a (erase s a) = s 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a : α} (h : a ∈ s)
Goal: insert a (s.erase a) = s
-- Finset.erase_eq_iff_eq_insert
lemma erase_eq_iff_eq_insert (hs : a ∈ s) (ht : a ∉ t) : erase s a = t ↔ s = insert a t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} {a : α} (hs : a ∈ s) (ht : a ∉ t)
Goal: s.erase a = t ↔ s = insert a t
-- Finset.insert_erase_invOn
lemma insert_erase_invOn :
    Set.InvOn (insert a) (fun s ↦ erase s a) {s : Finset α | a ∈ s} {s : Finset α | a ∉ s} 
Arguments: {α : Type u_1} [DecidableEq α] {a : α}
Goal: Set.InvOn (insert a) (fun s => s.erase a) {s | a ∈ s} {s | a ∉ s}
-- Finset.erase_subset_erase
theorem erase_subset_erase (a : α) {s t : Finset α} (h : s ⊆ t) : erase s a ⊆ erase t a 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) {s t : Finset α} (h : s ⊆ t)
Goal: s.erase a ⊆ t.erase a
-- Finset.erase_subset
theorem erase_subset (a : α) (s : Finset α) : erase s a ⊆ s 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Finset α)
Goal: s.erase a ⊆ s
-- Finset.subset_erase
theorem subset_erase {a : α} {s t : Finset α} : s ⊆ t.erase a ↔ s ⊆ t ∧ a ∉ s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s t : Finset α}
Goal: s ⊆ t.erase a ↔ s ⊆ t ∧ a ∉ s
-- Finset.coe_erase
@[simp, norm_cast]
theorem coe_erase (a : α) (s : Finset α) : ↑(erase s a) = (s \ {a} : Set α) 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Finset α)
Goal: ↑(s.erase a) = ↑s \ {a}
-- Finset.erase_ssubset
theorem erase_ssubset {a : α} {s : Finset α} (h : a ∈ s) : s.erase a ⊂ s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α} (h : a ∈ s)
Goal: s.erase a ⊂ s
-- Finset.ssubset_iff_exists_subset_erase
theorem ssubset_iff_exists_subset_erase {s t : Finset α} : s ⊂ t ↔ ∃ a ∈ t, s ⊆ t.erase a 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: s ⊂ t ↔ ∃ a ∈ t, s ⊆ t.erase a
-- Finset.erase_ssubset_insert
theorem erase_ssubset_insert (s : Finset α) (a : α) : s.erase a ⊂ insert a s 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α) (a : α)
Goal: s.erase a ⊂ insert a s
-- Finset.erase_ne_self
theorem erase_ne_self : s.erase a ≠ s ↔ a ∈ s 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a : α}
Goal: s.erase a ≠ s ↔ a ∈ s
-- Finset.erase_cons
theorem erase_cons {s : Finset α} {a : α} (h : a ∉ s) : (s.cons a h).erase a = s 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α} {a : α} (h : a ∉ s)
Goal: (Finset.cons a s h).erase a = s
-- Finset.erase_idem
theorem erase_idem {a : α} {s : Finset α} : erase (erase s a) a = erase s a 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α}
Goal: (s.erase a).erase a = s.erase a
-- Finset.erase_right_comm
theorem erase_right_comm {a b : α} {s : Finset α} : erase (erase s a) b = erase (erase s b) a 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α} {s : Finset α}
Goal: (s.erase a).erase b = (s.erase b).erase a
-- Finset.subset_insert_iff
theorem subset_insert_iff {a : α} {s t : Finset α} : s ⊆ insert a t ↔ erase s a ⊆ t 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s t : Finset α}
Goal: s ⊆ insert a t ↔ s.erase a ⊆ t
-- Finset.erase_insert_subset
theorem erase_insert_subset (a : α) (s : Finset α) : erase (insert a s) a ⊆ s 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Finset α)
Goal: (insert a s).erase a ⊆ s
-- Finset.insert_erase_subset
theorem insert_erase_subset (a : α) (s : Finset α) : s ⊆ insert a (erase s a) 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Finset α)
Goal: s ⊆ insert a (s.erase a)
-- Finset.subset_insert_iff_of_not_mem
theorem subset_insert_iff_of_not_mem (h : a ∉ s) : s ⊆ insert a t ↔ s ⊆ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} {a : α} (h : a ∉ s)
Goal: s ⊆ insert a t ↔ s ⊆ t
-- Finset.erase_subset_iff_of_mem
theorem erase_subset_iff_of_mem (h : a ∈ t) : s.erase a ⊆ t ↔ s ⊆ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} {a : α} (h : a ∈ t)
Goal: s.erase a ⊆ t ↔ s ⊆ t
-- Finset.erase_inj
theorem erase_inj {x y : α} (s : Finset α) (hx : x ∈ s) : s.erase x = s.erase y ↔ x = y 
Arguments: {α : Type u_1} [DecidableEq α] {x y : α} (s : Finset α) (hx : x ∈ s)
Goal: s.erase x = s.erase y ↔ x = y