ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.card_eq_zero
@[simp] lemma card_eq_zero : s.card = 0 ↔ s = ∅ 
Arguments: {α : Type u_1} {s : Finset α}
Goal: s.card = 0 ↔ s = ∅
-- Finset.card_ne_zero
lemma card_ne_zero : s.card ≠ 0 ↔ s.Nonempty 
Arguments: {α : Type u_1} {s : Finset α}
Goal: s.card ≠ 0 ↔ s.Nonempty
-- Finset.card_pos
@[simp] lemma card_pos : 0 < s.card ↔ s.Nonempty 
Arguments: {α : Type u_1} {s : Finset α}
Goal: 0 < s.card ↔ s.Nonempty
-- Finset.one_le_card
@[simp] lemma one_le_card : 1 ≤ s.card ↔ s.Nonempty 
Arguments: {α : Type u_1} {s : Finset α}
Goal: 1 ≤ s.card ↔ s.Nonempty
-- Finset.card_ne_zero_of_mem
theorem card_ne_zero_of_mem (h : a ∈ s) : s.card ≠ 0 
Arguments: {α : Type u_1} {s : Finset α} {a : α} (h : a ∈ s)
Goal: s.card ≠ 0
-- Finset.card_singleton
@[simp]
theorem card_singleton (a : α) : card ({a} : Finset α) = 1 
Arguments: {α : Type u_1} (a : α)
Goal: {a}.card = 1
-- Finset.card_singleton_inter
theorem card_singleton_inter [DecidableEq α] : ({a} ∩ s).card ≤ 1 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: ({a} ∩ s).card ≤ 1
-- Finset.card_cons
@[simp]
theorem card_cons (h : a ∉ s) : (s.cons a h).card = s.card + 1 
Arguments: {α : Type u_1} {s : Finset α} {a : α} (h : a ∉ s)
Goal: (Finset.cons a s h).card = s.card + 1
-- Finset.card_insert_of_not_mem
@[simp]
theorem card_insert_of_not_mem (h : a ∉ s) : (insert a s).card = s.card + 1 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α] (h : a ∉ s)
Goal: (insert a s).card = s.card + 1
-- Finset.card_insert_of_mem
theorem card_insert_of_mem (h : a ∈ s) : card (insert a s) = s.card 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α] (h : a ∈ s)
Goal: (insert a s).card = s.card
-- Finset.card_insert_le
theorem card_insert_le (a : α) (s : Finset α) : card (insert a s) ≤ s.card + 1 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Finset α)
Goal: (insert a s).card ≤ s.card + 1
-- Finset.card_le_two
theorem card_le_two : card {a, b} ≤ 2 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α}
Goal: {a, b}.card ≤ 2
-- Finset.card_le_three
theorem card_le_three : card {a, b, c} ≤ 3 
Arguments: {α : Type u_1} [DecidableEq α] {a b c : α}
Goal: {a, b, c}.card ≤ 3
-- Finset.card_le_four
theorem card_le_four : card {a, b, c, d} ≤ 4 
Arguments: {α : Type u_1} [DecidableEq α] {a b c d : α}
Goal: {a, b, c, d}.card ≤ 4
-- Finset.card_le_five
theorem card_le_five : card {a, b, c, d, e} ≤ 5 
Arguments: {α : Type u_1} [DecidableEq α] {a b c d e : α}
Goal: {a, b, c, d, e}.card ≤ 5
-- Finset.card_le_six
theorem card_le_six : card {a, b, c, d, e, f} ≤ 6 
Arguments: {α : Type u_1} [DecidableEq α] {a b c d e f : α}
Goal: {a, b, c, d, e, f}.card ≤ 6
-- Finset.card_insert_eq_ite
theorem card_insert_eq_ite : card (insert a s) = if a ∈ s then s.card else s.card + 1 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: (insert a s).card = if a ∈ s then s.card else s.card + 1
-- Finset.card_pair_eq_one_or_two
@[simp]
theorem card_pair_eq_one_or_two : ({a,b} : Finset α).card = 1 ∨ ({a,b} : Finset α).card = 2 
Arguments: {α : Type u_1} {a b : α} [DecidableEq α]
Goal: {a, b}.card = 1 ∨ {a, b}.card = 2
-- Finset.card_pair
@[simp]
theorem card_pair (h : a ≠ b) : ({a, b} : Finset α).card = 2 
Arguments: {α : Type u_1} {a b : α} [DecidableEq α] (h : a ≠ b)
Goal: {a, b}.card = 2
-- Finset.card_erase_of_mem
@[simp]
theorem card_erase_of_mem : a ∈ s → (s.erase a).card = s.card - 1 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: a ∈ s → (s.erase a).card = s.card - 1
-- Finset.cast_card_erase_of_mem
@[simp]
theorem cast_card_erase_of_mem {R} [AddGroupWithOne R] {s : Finset α} (hs : a ∈ s) :
    ((s.erase a).card : R) = s.card - 1 
Arguments: {α : Type u_1} {a : α} [DecidableEq α] {R : Type u_4} [AddGroupWithOne R] {s : Finset α} (hs : a ∈ s)
Goal: ↑(s.erase a).card = ↑s.card - 1
-- Finset.card_erase_add_one
@[simp]
theorem card_erase_add_one : a ∈ s → (s.erase a).card + 1 = s.card 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: a ∈ s → (s.erase a).card + 1 = s.card
-- Finset.card_erase_lt_of_mem
theorem card_erase_lt_of_mem : a ∈ s → (s.erase a).card < s.card 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: a ∈ s → (s.erase a).card < s.card
-- Finset.card_erase_le
theorem card_erase_le : (s.erase a).card ≤ s.card 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: (s.erase a).card ≤ s.card
-- Finset.pred_card_le_card_erase
theorem pred_card_le_card_erase : s.card - 1 ≤ (s.erase a).card 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: s.card - 1 ≤ (s.erase a).card
-- Finset.card_erase_eq_ite
theorem card_erase_eq_ite : (s.erase a).card = if a ∈ s then s.card - 1 else s.card 
Arguments: {α : Type u_1} {s : Finset α} {a : α} [DecidableEq α]
Goal: (s.erase a).card = if a ∈ s then s.card - 1 else s.card
-- Finset.card_range
@[simp]
theorem card_range (n : ℕ) : (range n).card = n 
Arguments: (n : ℕ)
Goal: (Finset.range n).card = n
-- Finset.card_attach
@[simp]
theorem card_attach : s.attach.card = s.card 
Arguments: {α : Type u_1} {s : Finset α}
Goal: s.attach.card = s.card
-- Multiset.card_toFinset
theorem Multiset.card_toFinset : m.toFinset.card = Multiset.card m.dedup 
Arguments: {α : Type u_1} [DecidableEq α] (m : Multiset α)
Goal: m.toFinset.card = Multiset.card m.dedup
-- Multiset.toFinset_card_le
theorem Multiset.toFinset_card_le : m.toFinset.card ≤ Multiset.card m 
Arguments: {α : Type u_1} [DecidableEq α] (m : Multiset α)
Goal: m.toFinset.card ≤ Multiset.card m
-- Multiset.toFinset_card_of_nodup
theorem Multiset.toFinset_card_of_nodup {m : Multiset α} (h : m.Nodup) :
    m.toFinset.card = Multiset.card m 
Arguments: {α : Type u_1} [DecidableEq α] {m : Multiset α} (h : m.Nodup)
Goal: m.toFinset.card = Multiset.card m
-- Multiset.dedup_card_eq_card_iff_nodup
theorem Multiset.dedup_card_eq_card_iff_nodup {m : Multiset α} :
    card m.dedup = card m ↔ m.Nodup 
Arguments: {α : Type u_1} [DecidableEq α] {m : Multiset α}
Goal: Multiset.card m.dedup = Multiset.card m ↔ m.Nodup
-- Multiset.toFinset_card_eq_card_iff_nodup
theorem Multiset.toFinset_card_eq_card_iff_nodup {m : Multiset α} :
    m.toFinset.card = card m ↔ m.Nodup 
Arguments: {α : Type u_1} [DecidableEq α] {m : Multiset α}
Goal: m.toFinset.card = Multiset.card m ↔ m.Nodup
-- List.card_toFinset
theorem List.card_toFinset : l.toFinset.card = l.dedup.length 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α)
Goal: l.toFinset.card = l.dedup.length
-- List.toFinset_card_le
theorem List.toFinset_card_le : l.toFinset.card ≤ l.length 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α)
Goal: l.toFinset.card ≤ l.length
-- List.toFinset_card_of_nodup
theorem List.toFinset_card_of_nodup {l : List α} (h : l.Nodup) : l.toFinset.card = l.length 
Arguments: {α : Type u_1} [DecidableEq α] {l : List α} (h : l.Nodup)
Goal: l.toFinset.card = l.length
-- Finset.length_toList
@[simp]
theorem length_toList (s : Finset α) : s.toList.length = s.card 
Arguments: {α : Type u_1} (s : Finset α)
Goal: s.toList.length = s.card
-- Finset.card_image_le
theorem card_image_le [DecidableEq β] : (s.image f).card ≤ s.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {f : α → β} [DecidableEq β]
Goal: (Finset.image f s).card ≤ s.card
-- Finset.card_image_of_injOn
theorem card_image_of_injOn [DecidableEq β] (H : Set.InjOn f s) : (s.image f).card = s.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {f : α → β} [DecidableEq β] (H : Set.InjOn f ↑s)
Goal: (Finset.image f s).card = s.card
-- Finset.injOn_of_card_image_eq
theorem injOn_of_card_image_eq [DecidableEq β] (H : (s.image f).card = s.card) : Set.InjOn f s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {f : α → β} [DecidableEq β] (H : (Finset.image f s).card = s.card)
Goal: Set.InjOn f ↑s
-- Finset.card_image_iff
theorem card_image_iff [DecidableEq β] : (s.image f).card = s.card ↔ Set.InjOn f s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {f : α → β} [DecidableEq β]
Goal: (Finset.image f s).card = s.card ↔ Set.InjOn f ↑s
-- Finset.card_image_of_injective
theorem card_image_of_injective [DecidableEq β] (s : Finset α) (H : Injective f) :
    (s.image f).card = s.card 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} [DecidableEq β] (s : Finset α) (H : Function.Injective f)
Goal: (Finset.image f s).card = s.card
-- Finset.fiber_card_ne_zero_iff_mem_image
theorem fiber_card_ne_zero_iff_mem_image (s : Finset α) (f : α → β) [DecidableEq β] (y : β) :
    (s.filter fun x => f x = y).card ≠ 0 ↔ y ∈ s.image f 
Arguments: {α : Type u_1} {β : Type u_2} (s : Finset α) (f : α → β) [DecidableEq β] (y : β)
Goal: (Finset.filter (fun x => f x = y) s).card ≠ 0 ↔ y ∈ Finset.image f s
-- Finset.card_filter_le_iff
lemma card_filter_le_iff (s : Finset α) (P : α → Prop) [DecidablePred P] (n : ℕ) :
    (s.filter P).card ≤ n ↔ ∀ s' ⊆ s, n < s'.card → ∃ a ∈ s', ¬ P a 
Arguments: {α : Type u_1} (s : Finset α) (P : α → Prop) [DecidablePred P] (n : ℕ)
Goal: (Finset.filter P s).card ≤ n ↔ ∀ s' ⊆ s, n < s'.card → ∃ a ∈ s', ¬P a
-- Finset.card_map
@[simp]
theorem card_map (f : α ↪ β) : (s.map f).card = s.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} (f : α ↪ β)
Goal: (Finset.map f s).card = s.card
-- Finset.card_subtype
@[simp]
theorem card_subtype (p : α → Prop) [DecidablePred p] (s : Finset α) :
    (s.subtype p).card = (s.filter p).card 
Arguments: {α : Type u_1} (p : α → Prop) [DecidablePred p] (s : Finset α)
Goal: (Finset.subtype p s).card = (Finset.filter p s).card
-- Finset.card_filter_le
theorem card_filter_le (s : Finset α) (p : α → Prop) [DecidablePred p] :
    (s.filter p).card ≤ s.card 
Arguments: {α : Type u_1} (s : Finset α) (p : α → Prop) [DecidablePred p]
Goal: (Finset.filter p s).card ≤ s.card
-- Finset.eq_of_subset_of_card_le
theorem eq_of_subset_of_card_le {s t : Finset α} (h : s ⊆ t) (h₂ : t.card ≤ s.card) : s = t 
Arguments: {α : Type u_1} {s t : Finset α} (h : s ⊆ t) (h₂ : t.card ≤ s.card)
Goal: s = t
-- Finset.eq_of_superset_of_card_ge
theorem eq_of_superset_of_card_ge (hst : s ⊆ t) (hts : t.card ≤ s.card) : t = s 
Arguments: {α : Type u_1} {s t : Finset α} (hst : s ⊆ t) (hts : t.card ≤ s.card)
Goal: t = s
-- Finset.subset_iff_eq_of_card_le
theorem subset_iff_eq_of_card_le (h : t.card ≤ s.card) : s ⊆ t ↔ s = t 
Arguments: {α : Type u_1} {s t : Finset α} (h : t.card ≤ s.card)
Goal: s ⊆ t ↔ s = t
-- Finset.map_eq_of_subset
theorem map_eq_of_subset {f : α ↪ α} (hs : s.map f ⊆ s) : s.map f = s 
Arguments: {α : Type u_1} {s : Finset α} {f : α ↪ α} (hs : Finset.map f s ⊆ s)
Goal: Finset.map f s = s
-- Finset.filter_card_eq
theorem filter_card_eq {p : α → Prop} [DecidablePred p] (h : (s.filter p).card = s.card) (x : α)
    (hx : x ∈ s) : p x 
Arguments: {α : Type u_1} {s : Finset α} {p : α → Prop} [DecidablePred p] (h : (Finset.filter p s).card = s.card) (x : α) (hx : x ∈ s)
Goal: p x
-- Finset.card_lt_card
nonrec lemma card_lt_card (h : s ⊂ t) : s.card < t.card 
Arguments: {α : Type u_1} {s t : Finset α} (h : s ⊂ t)
Goal: s.card < t.card
-- Finset.card_strictMono
lemma card_strictMono : StrictMono (card : Finset α → ℕ) 
Arguments: {α : Type u_1}
Goal: StrictMono Finset.card
-- Finset.card_eq_of_bijective
theorem card_eq_of_bijective (f : ∀ i, i < n → α) (hf : ∀ a ∈ s, ∃ i, ∃ h : i < n, f i h = a)
    (hf' : ∀ i (h : i < n), f i h ∈ s)
    (f_inj : ∀ i j (hi : i < n) (hj : j < n), f i hi = f j hj → i = j) : s.card = n 
Arguments: {α : Type u_1} {s : Finset α} {n : ℕ} (f : (i : ℕ) → i < n → α) (hf : ∀ a ∈ s, ∃ i, ∃ (h : i < n), f i h = a) (hf' : ∀ (i : ℕ) (h : i < n), f i h ∈ s) (f_inj : ∀ (i j : ℕ) (hi : i < n) (hj : j < n), f i hi = f j hj → i = j)
Goal: s.card = n
-- Finset.card_bij
lemma card_bij (i : ∀ a ∈ s, β) (hi : ∀ a ha, i a ha ∈ t)
    (i_inj : ∀ a₁ ha₁ a₂ ha₂, i a₁ ha₁ = i a₂ ha₂ → a₁ = a₂)
    (i_surj : ∀ b ∈ t, ∃ a ha, i a ha = b) : s.card = t.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (i : (a : α) → a ∈ s → β) (hi : ∀ (a : α) (ha : a ∈ s), i a ha ∈ t) (i_inj : ∀ (a₁ : α) (ha₁ : a₁ ∈ s) (a₂ : α) (ha₂ : a₂ ∈ s), i a₁ ha₁ = i a₂ ha₂ → a₁ = a₂) (i_surj : ∀ b ∈ t, ∃ a, ∃ (ha : a ∈ s), i a ha = b)
Goal: s.card = t.card
-- Finset.card_bij'
lemma card_bij' (i : ∀ a ∈ s, β) (j : ∀ a ∈ t, α) (hi : ∀ a ha, i a ha ∈ t)
    (hj : ∀ a ha, j a ha ∈ s) (left_inv : ∀ a ha, j (i a ha) (hi a ha) = a)
    (right_inv : ∀ a ha, i (j a ha) (hj a ha) = a) : s.card = t.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (i : (a : α) → a ∈ s → β) (j : (a : β) → a ∈ t → α) (hi : ∀ (a : α) (ha : a ∈ s), i a ha ∈ t) (hj : ∀ (a : β) (ha : a ∈ t), j a ha ∈ s) (left_inv : ∀ (a : α) (ha : a ∈ s), j (i a ha) ⋯ = a) (right_inv : ∀ (a : β) (ha : a ∈ t), i (j a ha) ⋯ = a)
Goal: s.card = t.card
-- Finset.card_nbij
lemma card_nbij (i : α → β) (hi : ∀ a ∈ s, i a ∈ t) (i_inj : (s : Set α).InjOn i)
    (i_surj : (s : Set α).SurjOn i t) : s.card = t.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (i : α → β) (hi : ∀ a ∈ s, i a ∈ t) (i_inj : Set.InjOn i ↑s) (i_surj : Set.SurjOn i ↑s ↑t)
Goal: s.card = t.card
-- Finset.card_nbij'
lemma card_nbij' (i : α → β) (j : β → α) (hi : ∀ a ∈ s, i a ∈ t) (hj : ∀ a ∈ t, j a ∈ s)
    (left_inv : ∀ a ∈ s, j (i a) = a) (right_inv : ∀ a ∈ t, i (j a) = a) : s.card = t.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (i : α → β) (j : β → α) (hi : ∀ a ∈ s, i a ∈ t) (hj : ∀ a ∈ t, j a ∈ s) (left_inv : ∀ a ∈ s, j (i a) = a) (right_inv : ∀ a ∈ t, i (j a) = a)
Goal: s.card = t.card
-- Finset.card_equiv
lemma card_equiv (e : α ≃ β) (hst : ∀ i, i ∈ s ↔ e i ∈ t) : s.card = t.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (e : α ≃ β) (hst : ∀ (i : α), i ∈ s ↔ e i ∈ t)
Goal: s.card = t.card
-- Finset.card_bijective
lemma card_bijective (e : α → β) (he : e.Bijective) (hst : ∀ i, i ∈ s ↔ e i ∈ t) :
    s.card = t.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (e : α → β) (he : Function.Bijective e) (hst : ∀ (i : α), i ∈ s ↔ e i ∈ t)
Goal: s.card = t.card
-- Finset.card_le_card_of_injOn
lemma card_le_card_of_injOn (f : α → β) (hf : ∀ a ∈ s, f a ∈ t) (f_inj : (s : Set α).InjOn f) :
    s.card ≤ t.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (f : α → β) (hf : ∀ a ∈ s, f a ∈ t) (f_inj : Set.InjOn f ↑s)
Goal: s.card ≤ t.card
-- Finset.card_le_card_of_surjOn
lemma card_le_card_of_surjOn (f : α → β) (hf : Set.SurjOn f s t) : t.card ≤ s.card 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (f : α → β) (hf : Set.SurjOn f ↑s ↑t)
Goal: t.card ≤ s.card
-- Finset.exists_ne_map_eq_of_card_lt_of_maps_to
theorem exists_ne_map_eq_of_card_lt_of_maps_to {t : Finset β} (hc : t.card < s.card) {f : α → β}
    (hf : ∀ a ∈ s, f a ∈ t) : ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ f x = f y 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (hc : t.card < s.card) {f : α → β} (hf : ∀ a ∈ s, f a ∈ t)
Goal: ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ f x = f y
-- Finset.le_card_of_inj_on_range
lemma le_card_of_inj_on_range (f : ℕ → α) (hf : ∀ i < n, f i ∈ s)
    (f_inj : ∀ i < n, ∀ j < n, f i = f j → i = j) : n ≤ s.card 
Arguments: {α : Type u_1} {s : Finset α} {n : ℕ} (f : ℕ → α) (hf : ∀ i < n, f i ∈ s) (f_inj : ∀ i < n, ∀ j < n, f i = f j → i = j)
Goal: n ≤ s.card
-- Finset.surj_on_of_inj_on_of_card_le
lemma surj_on_of_inj_on_of_card_le (f : ∀ a ∈ s, β) (hf : ∀ a ha, f a ha ∈ t)
    (hinj : ∀ a₁ a₂ ha₁ ha₂, f a₁ ha₁ = f a₂ ha₂ → a₁ = a₂) (hst : t.card ≤ s.card) :
    ∀ b ∈ t, ∃ a ha, b = f a ha 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (f : (a : α) → a ∈ s → β) (hf : ∀ (a : α) (ha : a ∈ s), f a ha ∈ t) (hinj : ∀ (a₁ a₂ : α) (ha₁ : a₁ ∈ s) (ha₂ : a₂ ∈ s), f a₁ ha₁ = f a₂ ha₂ → a₁ = a₂) (hst : t.card ≤ s.card) (b : β)
Goal: b ∈ t → ∃ a, ∃ (ha : a ∈ s), b = f a ha
-- Finset.inj_on_of_surj_on_of_card_le
theorem inj_on_of_surj_on_of_card_le (f : ∀ a ∈ s, β) (hf : ∀ a ha, f a ha ∈ t)
    (hsurj : ∀ b ∈ t, ∃ a ha, f a ha = b) (hst : s.card ≤ t.card) ⦃a₁⦄ (ha₁ : a₁ ∈ s) ⦃a₂⦄
    (ha₂ : a₂ ∈ s) (ha₁a₂ : f a₁ ha₁ = f a₂ ha₂) : a₁ = a₂ 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {t : Finset β} (f : (a : α) → a ∈ s → β) (hf : ∀ (a : α) (ha : a ∈ s), f a ha ∈ t) (hsurj : ∀ b ∈ t, ∃ a, ∃ (ha : a ∈ s), f a ha = b) (hst : s.card ≤ t.card) ⦃a₁ : α⦄ (ha₁ : a₁ ∈ s) ⦃a₂ : α⦄ (ha₂ : a₂ ∈ s) (ha₁a₂ : f a₁ ha₁ = f a₂ ha₂)
Goal: a₁ = a₂
-- Finset.card_disjUnion
@[simp]
theorem card_disjUnion (s t : Finset α) (h) : (s.disjUnion t h).card = s.card + t.card 
Arguments: {α : Type u_1} (s t : Finset α) (h : Disjoint s t)
Goal: (s.disjUnion t h).card = s.card + t.card
-- Finset.card_union_add_card_inter
theorem card_union_add_card_inter (s t : Finset α) :
    (s ∪ t).card + (s ∩ t).card = s.card + t.card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s ∪ t).card + (s ∩ t).card = s.card + t.card
-- Finset.card_inter_add_card_union
theorem card_inter_add_card_union (s t : Finset α) :
    (s ∩ t).card + (s ∪ t).card = s.card + t.card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s ∩ t).card + (s ∪ t).card = s.card + t.card
-- Finset.card_union
lemma card_union (s t : Finset α) : (s ∪ t).card = s.card + t.card - (s ∩ t).card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s ∪ t).card = s.card + t.card - (s ∩ t).card
-- Finset.card_inter
lemma card_inter (s t : Finset α) : (s ∩ t).card = s.card + t.card - (s ∪ t).card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s ∩ t).card = s.card + t.card - (s ∪ t).card
-- Finset.card_union_le
theorem card_union_le (s t : Finset α) : (s ∪ t).card ≤ s.card + t.card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s ∪ t).card ≤ s.card + t.card
-- Finset.card_union_eq_card_add_card
lemma card_union_eq_card_add_card : (s ∪ t).card = s.card + t.card ↔ Disjoint s t 
Arguments: {α : Type u_1} {s t : Finset α} [DecidableEq α]
Goal: (s ∪ t).card = s.card + t.card ↔ Disjoint s t
-- Finset.cast_card_inter
lemma cast_card_inter [AddGroupWithOne R] :
    ((s ∩ t).card : R) = s.card + t.card - (s ∪ t).card 
Arguments: {α : Type u_1} {R : Type u_3} {s t : Finset α} [DecidableEq α] [AddGroupWithOne R]
Goal: ↑(s ∩ t).card = ↑s.card + ↑t.card - ↑(s ∪ t).card
-- Finset.cast_card_union
lemma cast_card_union [AddGroupWithOne R] :
    ((s ∪ t).card : R) = s.card + t.card - (s ∩ t).card 
Arguments: {α : Type u_1} {R : Type u_3} {s t : Finset α} [DecidableEq α] [AddGroupWithOne R]
Goal: ↑(s ∪ t).card = ↑s.card + ↑t.card - ↑(s ∩ t).card
-- Finset.card_sdiff
theorem card_sdiff (h : s ⊆ t) : card (t \ s) = t.card - s.card 
Arguments: {α : Type u_1} {s t : Finset α} [DecidableEq α] (h : s ⊆ t)
Goal: (t \ s).card = t.card - s.card
-- Finset.cast_card_sdiff
lemma cast_card_sdiff [AddGroupWithOne R] (h : s ⊆ t) : ((t \ s).card : R) = t.card - s.card 
Arguments: {α : Type u_1} {R : Type u_3} {s t : Finset α} [DecidableEq α] [AddGroupWithOne R] (h : s ⊆ t)
Goal: ↑(t \ s).card = ↑t.card - ↑s.card
-- Finset.card_sdiff_add_card_eq_card
theorem card_sdiff_add_card_eq_card {s t : Finset α} (h : s ⊆ t) : card (t \ s) + card s = card t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α} (h : s ⊆ t)
Goal: (t \ s).card + s.card = t.card
-- Finset.le_card_sdiff
theorem le_card_sdiff (s t : Finset α) : t.card - s.card ≤ card (t \ s) 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: t.card - s.card ≤ (t \ s).card
-- Finset.card_le_card_sdiff_add_card
theorem card_le_card_sdiff_add_card : s.card ≤ (s \ t).card + t.card 
Arguments: {α : Type u_1} {s t : Finset α} [DecidableEq α]
Goal: s.card ≤ (s \ t).card + t.card
-- Finset.card_sdiff_add_card
theorem card_sdiff_add_card (s t : Finset α) : (s \ t).card + t.card = (s ∪ t).card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s \ t).card + t.card = (s ∪ t).card
-- Finset.card_sdiff_comm
lemma card_sdiff_comm (h : s.card = t.card) : (s \ t).card = (t \ s).card 
Arguments: {α : Type u_1} {s t : Finset α} [DecidableEq α] (h : s.card = t.card)
Goal: (s \ t).card = (t \ s).card
-- Finset.card_sdiff_add_card_inter
@[simp]
lemma card_sdiff_add_card_inter (s t : Finset α) :
    (s \ t).card + (s ∩ t).card = s.card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s \ t).card + (s ∩ t).card = s.card
-- Finset.card_inter_add_card_sdiff
@[simp]
lemma card_inter_add_card_sdiff (s t : Finset α) :
    (s ∩ t).card + (s \ t).card = s.card 
Arguments: {α : Type u_1} [DecidableEq α] (s t : Finset α)
Goal: (s ∩ t).card + (s \ t).card = s.card
-- Finset.inter_nonempty_of_card_lt_card_add_card
theorem inter_nonempty_of_card_lt_card_add_card (hts : t ⊆ s) (hus : u ⊆ s)
    (hstu : s.card < t.card + u.card) : (t ∩ u).Nonempty 
Arguments: {α : Type u_1} {s t u : Finset α} [DecidableEq α] (hts : t ⊆ s) (hus : u ⊆ s) (hstu : s.card < t.card + u.card)
Goal: (t ∩ u).Nonempty
-- Finset.filter_card_add_filter_neg_card_eq_card
theorem filter_card_add_filter_neg_card_eq_card
    (p : α → Prop) [DecidablePred p] [∀ x, Decidable (¬p x)] :
    (s.filter p).card + (s.filter (fun a => ¬ p a)).card = s.card 
Arguments: {α : Type u_1} {s : Finset α} (p : α → Prop) [DecidablePred p] [(x : α) → Decidable ¬p x]
Goal: (Finset.filter p s).card + (Finset.filter (fun a => ¬p a) s).card = s.card
-- Finset.exists_subsuperset_card_eq
lemma exists_subsuperset_card_eq (hst : s ⊆ t) (hsn : s.card ≤ n) (hnt : n ≤ t.card) :
    ∃ u, s ⊆ u ∧ u ⊆ t ∧ card u = n 
Arguments: {α : Type u_1} {s t : Finset α} {n : ℕ} (hst : s ⊆ t) (hsn : s.card ≤ n) (hnt : n ≤ t.card)
Goal: ∃ u, s ⊆ u ∧ u ⊆ t ∧ u.card = n
-- Finset.exists_subset_card_eq
lemma exists_subset_card_eq (hns : n ≤ s.card) : ∃ t ⊆ s, t.card = n 
Arguments: {α : Type u_1} {s : Finset α} {n : ℕ} (hns : n ≤ s.card)
Goal: ∃ t ⊆ s, t.card = n
-- Finset.exists_intermediate_set
@[deprecated exists_subsuperset_card_eq (since := "2024-06-23")]
theorem exists_intermediate_set {A B : Finset α} (i : ℕ) (h₁ : i + card B ≤ card A) (h₂ : B ⊆ A) :
    ∃ C : Finset α, B ⊆ C ∧ C ⊆ A ∧ card C = i + card B 
Arguments: {α : Type u_1} {A B : Finset α} (i : ℕ) (h₁ : i + B.card ≤ A.card) (h₂ : B ⊆ A)
Goal: ∃ C, B ⊆ C ∧ C ⊆ A ∧ C.card = i + B.card
-- Finset.exists_smaller_set
@[deprecated exists_subset_card_eq (since := "2024-06-23")]
theorem exists_smaller_set (A : Finset α) (i : ℕ) (h₁ : i ≤ card A) :
    ∃ B : Finset α, B ⊆ A ∧ card B = i 
Arguments: {α : Type u_1} (A : Finset α) (i : ℕ) (h₁ : i ≤ A.card)
Goal: ∃ B ⊆ A, B.card = i
-- Finset.le_card_iff_exists_subset_card
theorem le_card_iff_exists_subset_card : n ≤ s.card ↔ ∃ t ⊆ s, t.card = n 
Arguments: {α : Type u_1} {s : Finset α} {n : ℕ}
Goal: n ≤ s.card ↔ ∃ t ⊆ s, t.card = n
-- Finset.exists_subset_or_subset_of_two_mul_lt_card
theorem exists_subset_or_subset_of_two_mul_lt_card [DecidableEq α] {X Y : Finset α} {n : ℕ}
    (hXY : 2 * n < (X ∪ Y).card) : ∃ C : Finset α, n < C.card ∧ (C ⊆ X ∨ C ⊆ Y) 
Arguments: {α : Type u_1} [DecidableEq α] {X Y : Finset α} {n : ℕ} (hXY : 2 * n < (X ∪ Y).card)
Goal: ∃ C, n < C.card ∧ (C ⊆ X ∨ C ⊆ Y)
-- Finset.card_eq_one
theorem card_eq_one : s.card = 1 ↔ ∃ a, s = {a} 
Arguments: {α : Type u_1} {s : Finset α}
Goal: s.card = 1 ↔ ∃ a, s = {a}
-- Multiset.toFinset_card_eq_one_iff
theorem _root_.Multiset.toFinset_card_eq_one_iff [DecidableEq α] (s : Multiset α) :
    s.toFinset.card = 1 ↔ Multiset.card s ≠ 0 ∧ ∃ a : α, s = Multiset.card s • {a} 
Arguments: {α : Type u_1} [DecidableEq α] (s : Multiset α)
Goal: s.toFinset.card = 1 ↔ Multiset.card s ≠ 0 ∧ ∃ a, s = Multiset.card s • {a}
-- Finset.exists_eq_insert_iff
theorem exists_eq_insert_iff [DecidableEq α] {s t : Finset α} :
    (∃ a ∉ s, insert a s = t) ↔ s ⊆ t ∧ s.card + 1 = t.card 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Finset α}
Goal: (∃ a ∉ s, insert a s = t) ↔ s ⊆ t ∧ s.card + 1 = t.card
-- Finset.card_le_one
theorem card_le_one : s.card ≤ 1 ↔ ∀ a ∈ s, ∀ b ∈ s, a = b 
Arguments: {α : Type u_1} {s : Finset α}
Goal: s.card ≤ 1 ↔ ∀ a ∈ s, ∀ b ∈ s, a = b
-- Finset.card_le_one_iff
theorem card_le_one_iff : s.card ≤ 1 ↔ ∀ {a b}, a ∈ s → b ∈ s → a = b 
Arguments: {α : Type u_1} {s : Finset α}
Goal: s.card ≤ 1 ↔ ∀ {a b : α}, a ∈ s → b ∈ s → a = b
-- Finset.card_le_one_iff_subsingleton_coe
theorem card_le_one_iff_subsingleton_coe : s.card ≤ 1 ↔ Subsingleton (s : Type _) 
Arguments: {α : Type u_1} {s : Finset α}
Goal: s.card ≤ 1 ↔ Subsingleton { x // x ∈ s }