ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.surj_on_of_inj_on_of_ncard_le
theorem surj_on_of_inj_on_of_ncard_le {t : Set β} (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.ncard ≤ s.ncard)
    (ht : t.Finite := by toFinite_tac) :
    ∀ b ∈ t, ∃ a ha, b = f a ha 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (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.ncard ≤ s.ncard) (ht : t.Finite := by toFinite_tac) (b : β)
Goal: b ∈ t → ∃ a, ∃ (ha : a ∈ s), b = f a ha
-- Set.inj_on_of_surj_on_of_ncard_le
theorem inj_on_of_surj_on_of_ncard_le {t : Set β} (f : ∀ a ∈ s, β) (hf : ∀ a ha, f a ha ∈ t)
    (hsurj : ∀ b ∈ t, ∃ a ha, f a ha = b) (hst : s.ncard ≤ t.ncard) ⦃a₁⦄ (ha₁ : a₁ ∈ s) ⦃a₂⦄
    (ha₂ : a₂ ∈ s) (ha₁a₂ : f a₁ ha₁ = f a₂ ha₂) (hs : s.Finite := by toFinite_tac) :
    a₁ = a₂ 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (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.ncard ≤ t.ncard) ⦃a₁ : α⦄ (ha₁ : a₁ ∈ s) ⦃a₂ : α⦄ (ha₂ : a₂ ∈ s) (ha₁a₂ : f a₁ ha₁ = f a₂ ha₂) (hs : s.Finite := by toFinite_tac)
Goal: a₁ = a₂
-- Set.ncard_union_add_ncard_inter
theorem ncard_union_add_ncard_inter (s t : Set α) (hs : s.Finite := by toFinite_tac)
    (ht : t.Finite := by toFinite_tac) : (s ∪ t).ncard + (s ∩ t).ncard = s.ncard + t.ncard 
Arguments: {α : Type u_1} (s t : Set α) (hs : s.Finite := by toFinite_tac) (ht : t.Finite := by toFinite_tac)
Goal: (s ∪ t).ncard + (s ∩ t).ncard = s.ncard + t.ncard
-- Set.ncard_inter_add_ncard_union
theorem ncard_inter_add_ncard_union (s t : Set α) (hs : s.Finite := by toFinite_tac)
    (ht : t.Finite := by toFinite_tac) : (s ∩ t).ncard + (s ∪ t).ncard = s.ncard + t.ncard 
Arguments: {α : Type u_1} (s t : Set α) (hs : s.Finite := by toFinite_tac) (ht : t.Finite := by toFinite_tac)
Goal: (s ∩ t).ncard + (s ∪ t).ncard = s.ncard + t.ncard
-- Set.ncard_union_le
theorem ncard_union_le (s t : Set α) : (s ∪ t).ncard ≤ s.ncard + t.ncard 
Arguments: {α : Type u_1} (s t : Set α)
Goal: (s ∪ t).ncard ≤ s.ncard + t.ncard
-- Set.ncard_union_eq
theorem ncard_union_eq (h : Disjoint s t) (hs : s.Finite := by toFinite_tac)
    (ht : t.Finite := by toFinite_tac) : (s ∪ t).ncard = s.ncard + t.ncard 
Arguments: {α : Type u_1} {s t : Set α} (h : Disjoint s t) (hs : s.Finite := by toFinite_tac) (ht : t.Finite := by toFinite_tac)
Goal: (s ∪ t).ncard = s.ncard + t.ncard
-- Set.ncard_diff_add_ncard_of_subset
theorem ncard_diff_add_ncard_of_subset (h : s ⊆ t) (ht : t.Finite := by toFinite_tac) :
    (t \ s).ncard + s.ncard = t.ncard 
Arguments: {α : Type u_1} {s t : Set α} (h : s ⊆ t) (ht : t.Finite := by toFinite_tac)
Goal: (t \ s).ncard + s.ncard = t.ncard
-- Set.ncard_diff
theorem ncard_diff (h : s ⊆ t) (ht : t.Finite := by toFinite_tac) :
    (t \ s).ncard = t.ncard - s.ncard 
Arguments: {α : Type u_1} {s t : Set α} (h : s ⊆ t) (ht : t.Finite := by toFinite_tac)
Goal: (t \ s).ncard = t.ncard - s.ncard
-- Set.ncard_le_ncard_diff_add_ncard
theorem ncard_le_ncard_diff_add_ncard (s t : Set α) (ht : t.Finite := by toFinite_tac) :
    s.ncard ≤ (s \ t).ncard + t.ncard 
Arguments: {α : Type u_1} (s t : Set α) (ht : t.Finite := by toFinite_tac)
Goal: s.ncard ≤ (s \ t).ncard + t.ncard
-- Set.le_ncard_diff
theorem le_ncard_diff (s t : Set α) (hs : s.Finite := by toFinite_tac) :
    t.ncard - s.ncard ≤ (t \ s).ncard 
Arguments: {α : Type u_1} (s t : Set α) (hs : s.Finite := by toFinite_tac)
Goal: t.ncard - s.ncard ≤ (t \ s).ncard
-- Set.ncard_diff_add_ncard
theorem ncard_diff_add_ncard (s t : Set α) (hs : s.Finite := by toFinite_tac)
  (ht : t.Finite := by toFinite_tac) :
    (s \ t).ncard + t.ncard = (s ∪ t).ncard 
Arguments: {α : Type u_1} (s t : Set α) (hs : s.Finite := by toFinite_tac) (ht : t.Finite := by toFinite_tac)
Goal: (s \ t).ncard + t.ncard = (s ∪ t).ncard
-- Set.diff_nonempty_of_ncard_lt_ncard
theorem diff_nonempty_of_ncard_lt_ncard (h : s.ncard < t.ncard) (hs : s.Finite := by toFinite_tac) :
    (t \ s).Nonempty 
Arguments: {α : Type u_1} {s t : Set α} (h : s.ncard < t.ncard) (hs : s.Finite := by toFinite_tac)
Goal: (t \ s).Nonempty
-- Set.exists_mem_not_mem_of_ncard_lt_ncard
theorem exists_mem_not_mem_of_ncard_lt_ncard (h : s.ncard < t.ncard)
    (hs : s.Finite := by toFinite_tac) : ∃ e, e ∈ t ∧ e ∉ s 
Arguments: {α : Type u_1} {s t : Set α} (h : s.ncard < t.ncard) (hs : s.Finite := by toFinite_tac)
Goal: ∃ e ∈ t, e ∉ s
-- Set.ncard_inter_add_ncard_diff_eq_ncard
@[simp] theorem ncard_inter_add_ncard_diff_eq_ncard (s t : Set α)
    (hs : s.Finite := by toFinite_tac) : (s ∩ t).ncard + (s \ t).ncard = s.ncard 
Arguments: {α : Type u_1} (s t : Set α) (hs : s.Finite := by toFinite_tac)
Goal: (s ∩ t).ncard + (s \ t).ncard = s.ncard
-- Set.ncard_eq_ncard_iff_ncard_diff_eq_ncard_diff
theorem ncard_eq_ncard_iff_ncard_diff_eq_ncard_diff (hs : s.Finite := by toFinite_tac)
    (ht : t.Finite := by toFinite_tac) : s.ncard = t.ncard ↔ (s \ t).ncard = (t \ s).ncard 
Arguments: {α : Type u_1} {s t : Set α} (hs : s.Finite := by toFinite_tac) (ht : t.Finite := by toFinite_tac)
Goal: s.ncard = t.ncard ↔ (s \ t).ncard = (t \ s).ncard
-- Set.ncard_le_ncard_iff_ncard_diff_le_ncard_diff
theorem ncard_le_ncard_iff_ncard_diff_le_ncard_diff (hs : s.Finite := by toFinite_tac)
    (ht : t.Finite := by toFinite_tac) : s.ncard ≤ t.ncard ↔ (s \ t).ncard ≤ (t \ s).ncard 
Arguments: {α : Type u_1} {s t : Set α} (hs : s.Finite := by toFinite_tac) (ht : t.Finite := by toFinite_tac)
Goal: s.ncard ≤ t.ncard ↔ (s \ t).ncard ≤ (t \ s).ncard
-- Set.ncard_lt_ncard_iff_ncard_diff_lt_ncard_diff
theorem ncard_lt_ncard_iff_ncard_diff_lt_ncard_diff (hs : s.Finite := by toFinite_tac)
    (ht : t.Finite := by toFinite_tac) : s.ncard < t.ncard ↔ (s \ t).ncard < (t \ s).ncard 
Arguments: {α : Type u_1} {s t : Set α} (hs : s.Finite := by toFinite_tac) (ht : t.Finite := by toFinite_tac)
Goal: s.ncard < t.ncard ↔ (s \ t).ncard < (t \ s).ncard
-- Set.ncard_add_ncard_compl
theorem ncard_add_ncard_compl (s : Set α) (hs : s.Finite := by toFinite_tac)
    (hsc : sᶜ.Finite := by toFinite_tac) : s.ncard + sᶜ.ncard = Nat.card α 
Arguments: {α : Type u_1} (s : Set α) (hs : s.Finite := by toFinite_tac) (hsc : sᶜ.Finite := by toFinite_tac)
Goal: s.ncard + sᶜ.ncard = Nat.card α
-- Set.exists_subsuperset_card_eq
lemma exists_subsuperset_card_eq {n : ℕ} (hst : s ⊆ t) (hsn : s.ncard ≤ n) (hnt : n ≤ t.ncard) :
    ∃ u, s ⊆ u ∧ u ⊆ t ∧ u.ncard = n 
Arguments: {α : Type u_1} {s t : Set α} {n : ℕ} (hst : s ⊆ t) (hsn : s.ncard ≤ n) (hnt : n ≤ t.ncard)
Goal: ∃ u, s ⊆ u ∧ u ⊆ t ∧ u.ncard = n
-- Set.exists_subset_card_eq
lemma exists_subset_card_eq {n : ℕ} (hns : n ≤ s.ncard) : ∃ t ⊆ s, t.ncard = n 
Arguments: {α : Type u_1} {s : Set α} {n : ℕ} (hns : n ≤ s.ncard)
Goal: ∃ t ⊆ s, t.ncard = n
-- Set.exists_intermediate_Set
@[deprecated exists_subsuperset_card_eq (since := "2024-06-24")]
theorem exists_intermediate_Set (i : ℕ) (h₁ : i + s.ncard ≤ t.ncard) (h₂ : s ⊆ t) :
    ∃ r : Set α, s ⊆ r ∧ r ⊆ t ∧ r.ncard = i + s.ncard 
Arguments: {α : Type u_1} {s t : Set α} (i : ℕ) (h₁ : i + s.ncard ≤ t.ncard) (h₂ : s ⊆ t)
Goal: ∃ r, s ⊆ r ∧ r ⊆ t ∧ r.ncard = i + s.ncard
-- Set.exists_intermediate_set'
@[deprecated exists_subsuperset_card_eq (since := "2024-06-24")]
theorem exists_intermediate_set' {m : ℕ} (hs : s.ncard ≤ m) (ht : m ≤ t.ncard) (h : s ⊆ t) :
    ∃ r : Set α, s ⊆ r ∧ r ⊆ t ∧ r.ncard = m 
Arguments: {α : Type u_1} {s t : Set α} {m : ℕ} (hs : s.ncard ≤ m) (ht : m ≤ t.ncard) (h : s ⊆ t)
Goal: ∃ r, s ⊆ r ∧ r ⊆ t ∧ r.ncard = m
-- Set.exists_smaller_set
@[deprecated exists_subset_card_eq (since := "2024-06-23")]
theorem exists_smaller_set (s : Set α) (i : ℕ) (h₁ : i ≤ s.ncard) :
    ∃ t : Set α, t ⊆ s ∧ t.ncard = i 
Arguments: {α : Type u_1} (s : Set α) (i : ℕ) (h₁ : i ≤ s.ncard)
Goal: ∃ t ⊆ s, t.ncard = i
-- Set.Infinite.exists_subset_ncard_eq
theorem Infinite.exists_subset_ncard_eq {s : Set α} (hs : s.Infinite) (k : ℕ) :
    ∃ t, t ⊆ s ∧ t.Finite ∧ t.ncard = k 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Infinite) (k : ℕ)
Goal: ∃ t ⊆ s, t.Finite ∧ t.ncard = k
-- Set.Infinite.exists_superset_ncard_eq
theorem Infinite.exists_superset_ncard_eq {s t : Set α} (ht : t.Infinite) (hst : s ⊆ t)
    (hs : s.Finite) {k : ℕ} (hsk : s.ncard ≤ k) : ∃ s', s ⊆ s' ∧ s' ⊆ t ∧ s'.ncard = k 
Arguments: {α : Type u_1} {s t : Set α} (ht : t.Infinite) (hst : s ⊆ t) (hs : s.Finite) {k : ℕ} (hsk : s.ncard ≤ k)
Goal: ∃ s', s ⊆ s' ∧ s' ⊆ t ∧ s'.ncard = k
-- Set.exists_subset_or_subset_of_two_mul_lt_ncard
theorem exists_subset_or_subset_of_two_mul_lt_ncard {n : ℕ} (hst : 2 * n < (s ∪ t).ncard) :
    ∃ r : Set α, n < r.ncard ∧ (r ⊆ s ∨ r ⊆ t) 
Arguments: {α : Type u_1} {s t : Set α} {n : ℕ} (hst : 2 * n < (s ∪ t).ncard)
Goal: ∃ r, n < r.ncard ∧ (r ⊆ s ∨ r ⊆ t)
-- Set.ncard_eq_one
@[simp] theorem ncard_eq_one : s.ncard = 1 ↔ ∃ a, s = {a} 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.ncard = 1 ↔ ∃ a, s = {a}
-- Set.exists_eq_insert_iff_ncard
theorem exists_eq_insert_iff_ncard (hs : s.Finite := by toFinite_tac) :
    (∃ a ∉ s, insert a s = t) ↔ s ⊆ t ∧ s.ncard + 1 = t.ncard 
Arguments: {α : Type u_1} {s t : Set α} (hs : s.Finite := by toFinite_tac)
Goal: (∃ a ∉ s, insert a s = t) ↔ s ⊆ t ∧ s.ncard + 1 = t.ncard
-- Set.ncard_le_one
theorem ncard_le_one (hs : s.Finite := by toFinite_tac) :
    s.ncard ≤ 1 ↔ ∀ a ∈ s, ∀ b ∈ s, a = b 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: s.ncard ≤ 1 ↔ ∀ a ∈ s, ∀ b ∈ s, a = b
-- Set.ncard_le_one_iff
theorem ncard_le_one_iff (hs : s.Finite := by toFinite_tac) :
    s.ncard ≤ 1 ↔ ∀ {a b}, a ∈ s → b ∈ s → a = b 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: s.ncard ≤ 1 ↔ ∀ {a b : α}, a ∈ s → b ∈ s → a = b
-- Set.ncard_le_one_iff_eq
theorem ncard_le_one_iff_eq (hs : s.Finite := by toFinite_tac) :
    s.ncard ≤ 1 ↔ s = ∅ ∨ ∃ a, s = {a} 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: s.ncard ≤ 1 ↔ s = ∅ ∨ ∃ a, s = {a}
-- Set.ncard_le_one_iff_subset_singleton
theorem ncard_le_one_iff_subset_singleton [Nonempty α]
    (hs : s.Finite := by toFinite_tac) :
    s.ncard ≤ 1 ↔ ∃ x : α, s ⊆ {x} 
Arguments: {α : Type u_1} {s : Set α} [Nonempty α] (hs : s.Finite := by toFinite_tac)
Goal: s.ncard ≤ 1 ↔ ∃ x, s ⊆ {x}
-- Set.ncard_le_one_of_subsingleton
theorem ncard_le_one_of_subsingleton [Subsingleton α] (s : Set α) : s.ncard ≤ 1 
Arguments: {α : Type u_1} [Subsingleton α] (s : Set α)
Goal: s.ncard ≤ 1
-- Set.one_lt_ncard
theorem one_lt_ncard (hs : s.Finite := by toFinite_tac) :
    1 < s.ncard ↔ ∃ a ∈ s, ∃ b ∈ s, a ≠ b 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: 1 < s.ncard ↔ ∃ a ∈ s, ∃ b ∈ s, a ≠ b
-- Set.one_lt_ncard_iff
theorem one_lt_ncard_iff (hs : s.Finite := by toFinite_tac) :
    1 < s.ncard ↔ ∃ a b, a ∈ s ∧ b ∈ s ∧ a ≠ b 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: 1 < s.ncard ↔ ∃ a b, a ∈ s ∧ b ∈ s ∧ a ≠ b
-- Set.two_lt_ncard_iff
theorem two_lt_ncard_iff (hs : s.Finite := by toFinite_tac) :
    2 < s.ncard ↔ ∃ a b c, a ∈ s ∧ b ∈ s ∧ c ∈ s ∧ a ≠ b ∧ a ≠ c ∧ b ≠ c 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: 2 < s.ncard ↔ ∃ a b c, a ∈ s ∧ b ∈ s ∧ c ∈ s ∧ a ≠ b ∧ a ≠ c ∧ b ≠ c
-- Set.two_lt_ncard
theorem two_lt_ncard (hs : s.Finite := by toFinite_tac) :
    2 < s.ncard ↔ ∃ a ∈ s, ∃ b ∈ s, ∃ c ∈ s, a ≠ b ∧ a ≠ c ∧ b ≠ c 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: 2 < s.ncard ↔ ∃ a ∈ s, ∃ b ∈ s, ∃ c ∈ s, a ≠ b ∧ a ≠ c ∧ b ≠ c
-- Set.exists_ne_of_one_lt_ncard
theorem exists_ne_of_one_lt_ncard (hs : 1 < s.ncard) (a : α) : ∃ b, b ∈ s ∧ b ≠ a 
Arguments: {α : Type u_1} {s : Set α} (hs : 1 < s.ncard) (a : α)
Goal: ∃ b ∈ s, b ≠ a
-- Set.eq_insert_of_ncard_eq_succ
theorem eq_insert_of_ncard_eq_succ {n : ℕ} (h : s.ncard = n + 1) :
    ∃ a t, a ∉ t ∧ insert a t = s ∧ t.ncard = n 
Arguments: {α : Type u_1} {s : Set α} {n : ℕ} (h : s.ncard = n + 1)
Goal: ∃ a t, a ∉ t ∧ insert a t = s ∧ t.ncard = n
-- Set.ncard_eq_succ
theorem ncard_eq_succ {n : ℕ} (hs : s.Finite := by toFinite_tac) :
    s.ncard = n + 1 ↔ ∃ a t, a ∉ t ∧ insert a t = s ∧ t.ncard = n 
Arguments: {α : Type u_1} {s : Set α} {n : ℕ} (hs : s.Finite := by toFinite_tac)
Goal: s.ncard = n + 1 ↔ ∃ a t, a ∉ t ∧ insert a t = s ∧ t.ncard = n
-- Set.ncard_eq_two
theorem ncard_eq_two : s.ncard = 2 ↔ ∃ x y, x ≠ y ∧ s = {x, y} 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.ncard = 2 ↔ ∃ x y, x ≠ y ∧ s = {x, y}
-- Set.ncard_eq_three
theorem ncard_eq_three : s.ncard = 3 ↔ ∃ x y z, x ≠ y ∧ x ≠ z ∧ y ≠ z ∧ s = {x, y, z} 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.ncard = 3 ↔ ∃ x y z, x ≠ y ∧ x ≠ z ∧ y ≠ z ∧ s = {x, y, z}
-- Set.Sized.mono
theorem Sized.mono (h : A ⊆ B) (hB : B.Sized r) : A.Sized r 
Arguments: {α : Type u_1} {A B : Set (Finset α)} {r : ℕ} (h : A ⊆ B) (hB : Set.Sized r B)
Goal: Set.Sized r A
-- Set.sized_empty
@[simp] lemma sized_empty : (∅ : Set (Finset α)).Sized r 
Arguments: {α : Type u_1} {r : ℕ}
Goal: Set.Sized r ∅
-- Set.sized_singleton
@[simp] lemma sized_singleton : ({s} : Set (Finset α)).Sized r ↔ s.card = r 
Arguments: {α : Type u_1} {s : Finset α} {r : ℕ}
Goal: Set.Sized r {s} ↔ s.card = r
-- Set.sized_union
theorem sized_union : (A ∪ B).Sized r ↔ A.Sized r ∧ B.Sized r 
Arguments: {α : Type u_1} {A B : Set (Finset α)} {r : ℕ}
Goal: Set.Sized r (A ∪ B) ↔ Set.Sized r A ∧ Set.Sized r B
-- Set.sized_iUnion
@[simp]
theorem sized_iUnion {f : ι → Set (Finset α)} : (⋃ i, f i).Sized r ↔ ∀ i, (f i).Sized r 
Arguments: {α : Type u_1} {ι : Sort u_2} {r : ℕ} {f : ι → Set (Finset α)}
Goal: Set.Sized r (⋃ i, f i) ↔ ∀ (i : ι), Set.Sized r (f i)
-- Set.sized_iUnion₂
theorem sized_iUnion₂ {f : ∀ i, κ i → Set (Finset α)} :
    (⋃ (i) (j), f i j).Sized r ↔ ∀ i j, (f i j).Sized r 
Arguments: {α : Type u_1} {ι : Sort u_2} {κ : ι → Sort u_3} {r : ℕ} {f : (i : ι) → κ i → Set (Finset α)}
Goal: Set.Sized r (⋃ i, ⋃ j, f i j) ↔ ∀ (i : ι) (j : κ i), Set.Sized r (f i j)
-- Set.Sized.isAntichain
protected theorem Sized.isAntichain (hA : A.Sized r) : IsAntichain (· ⊆ ·) A 
Arguments: {α : Type u_1} {A : Set (Finset α)} {r : ℕ} (hA : Set.Sized r A)
Goal: IsAntichain (fun x x_1 => x ⊆ x_1) A
-- Set.Sized.subsingleton
protected theorem Sized.subsingleton (hA : A.Sized 0) : A.Subsingleton 
Arguments: {α : Type u_1} {A : Set (Finset α)} (hA : Set.Sized 0 A)
Goal: A.Subsingleton
-- Set.Sized.subsingleton'
theorem Sized.subsingleton' [Fintype α] (hA : A.Sized (Fintype.card α)) : A.Subsingleton 
Arguments: {α : Type u_1} {A : Set (Finset α)} [Fintype α] (hA : Set.Sized (Fintype.card α) A)
Goal: A.Subsingleton
-- Set.Sized.empty_mem_iff
theorem Sized.empty_mem_iff (hA : A.Sized r) : ∅ ∈ A ↔ A = {∅} 
Arguments: {α : Type u_1} {A : Set (Finset α)} {r : ℕ} (hA : Set.Sized r A)
Goal: ∅ ∈ A ↔ A = {∅}
-- Set.Sized.univ_mem_iff
theorem Sized.univ_mem_iff [Fintype α] (hA : A.Sized r) : Finset.univ ∈ A ↔ A = {Finset.univ} 
Arguments: {α : Type u_1} {A : Set (Finset α)} {r : ℕ} [Fintype α] (hA : Set.Sized r A)
Goal: Finset.univ ∈ A ↔ A = {Finset.univ}
-- Set.sized_powersetCard
theorem sized_powersetCard (s : Finset α) (r : ℕ) : (powersetCard r s : Set (Finset α)).Sized r 
Arguments: {α : Type u_1} (s : Finset α) (r : ℕ)
Goal: Set.Sized r ↑(Finset.powersetCard r s)
-- Finset.subset_powersetCard_univ_iff
theorem subset_powersetCard_univ_iff : 𝒜 ⊆ powersetCard r univ ↔ (𝒜 : Set (Finset α)).Sized r 
Arguments: {α : Type u_1} [Fintype α] {𝒜 : Finset (Finset α)} {r : ℕ}
Goal: 𝒜 ⊆ Finset.powersetCard r Finset.univ ↔ Set.Sized r ↑𝒜
-- Set.Sized.card_le
theorem _root_.Set.Sized.card_le (h𝒜 : (𝒜 : Set (Finset α)).Sized r) :
    card 𝒜 ≤ (Fintype.card α).choose r 
Arguments: {α : Type u_1} [Fintype α] {𝒜 : Finset (Finset α)} {r : ℕ} (h𝒜 : Set.Sized r ↑𝒜)
Goal: 𝒜.card ≤ (Fintype.card α).choose r
-- Finset.mem_slice
theorem mem_slice : A ∈ 𝒜 # r ↔ A ∈ 𝒜 ∧ A.card = r 
Arguments: {α : Type u_1} {𝒜 : Finset (Finset α)} {A : Finset α} {r : ℕ}
Goal: A ∈ 𝒜 # r ↔ A ∈ 𝒜 ∧ A.card = r
-- Finset.slice_subset
theorem slice_subset : 𝒜 # r ⊆ 𝒜 
Arguments: {α : Type u_1} {𝒜 : Finset (Finset α)} {r : ℕ}
Goal: 𝒜 # r ⊆ 𝒜
-- Finset.sized_slice
theorem sized_slice : (𝒜 # r : Set (Finset α)).Sized r 
Arguments: {α : Type u_1} {𝒜 : Finset (Finset α)} {r : ℕ}
Goal: Set.Sized r ↑(𝒜 # r)
-- Finset.eq_of_mem_slice
theorem eq_of_mem_slice (h₁ : A ∈ 𝒜 # r₁) (h₂ : A ∈ 𝒜 # r₂) : r₁ = r₂ 
Arguments: {α : Type u_1} {𝒜 : Finset (Finset α)} {A : Finset α} {r₁ r₂ : ℕ} (h₁ : A ∈ 𝒜 # r₁) (h₂ : A ∈ 𝒜 # r₂)
Goal: r₁ = r₂
-- Finset.ne_of_mem_slice
theorem ne_of_mem_slice (h₁ : A₁ ∈ 𝒜 # r₁) (h₂ : A₂ ∈ 𝒜 # r₂) : r₁ ≠ r₂ → A₁ ≠ A₂ 
Arguments: {α : Type u_1} {𝒜 : Finset (Finset α)} {A₁ A₂ : Finset α} {r₁ r₂ : ℕ} (h₁ : A₁ ∈ 𝒜 # r₁) (h₂ : A₂ ∈ 𝒜 # r₂)
Goal: r₁ ≠ r₂ → A₁ ≠ A₂
-- Finset.pairwiseDisjoint_slice
theorem pairwiseDisjoint_slice : (Set.univ : Set ℕ).PairwiseDisjoint (slice 𝒜) 
Arguments: {α : Type u_1} {𝒜 : Finset (Finset α)}
Goal: Set.univ.PairwiseDisjoint 𝒜.slice
-- Finset.biUnion_slice
@[simp]
theorem biUnion_slice [DecidableEq α] : (Iic <| Fintype.card α).biUnion 𝒜.slice = 𝒜 
Arguments: {α : Type u_1} (𝒜 : Finset (Finset α)) [Fintype α] [DecidableEq α]
Goal: (Finset.Iic (Fintype.card α)).biUnion 𝒜.slice = 𝒜
-- Finset.sum_card_slice
@[simp]
theorem sum_card_slice : (∑ r ∈ Iic (Fintype.card α), (𝒜 # r).card) = 𝒜.card 
Arguments: {α : Type u_1} (𝒜 : Finset (Finset α)) [Fintype α]
Goal: ∑ r ∈ Finset.Iic (Fintype.card α), (𝒜 # r).card = 𝒜.card
-- Nat.divisors_mul
lemma Nat.divisors_mul (m n : ℕ) : divisors (m * n) = divisors m * divisors n 
Arguments: (m n : ℕ)
Goal: (m * n).divisors = m.divisors * n.divisors
-- Nat.divisorsHom_apply
@[simps]
def Nat.divisorsHom : ℕ →* Finset ℕ 
Arguments: (n : ℕ)
Goal: Nat.divisorsHom n = n.divisors
-- Nat.Prime.divisors_sq
lemma Nat.Prime.divisors_sq {p : ℕ} (hp : p.Prime) : (p ^ 2).divisors = {p ^ 2, p, 1} 
Arguments: {p : ℕ} (hp : Nat.Prime p)
Goal: (p ^ 2).divisors = {p ^ 2, p, 1}
-- List.nat_divisors_prod
lemma List.nat_divisors_prod (l : List ℕ) : divisors l.prod = (l.map divisors).prod 
Arguments: (l : List ℕ)
Goal: l.prod.divisors = (List.map Nat.divisors l).prod
-- Multiset.nat_divisors_prod
lemma Multiset.nat_divisors_prod (s : Multiset ℕ) : divisors s.prod = (s.map divisors).prod 
Arguments: (s : Multiset ℕ)
Goal: s.prod.divisors = (Multiset.map Nat.divisors s).prod
-- Finset.nat_divisors_prod
lemma Finset.nat_divisors_prod {ι : Type*} (s : Finset ι) (f : ι → ℕ) :
    divisors (∏ i ∈ s, f i) = ∏ i ∈ s, divisors (f i) 
Arguments: {ι : Type u_1} (s : Finset ι) (f : ι → ℕ)
Goal: (∏ i ∈ s, f i).divisors = ∏ i ∈ s, (f i).divisors
-- Directed.finset_le
theorem Directed.finset_le {r : α → α → Prop} [IsTrans α r] {ι} [hι : Nonempty ι] {f : ι → α}
    (D : Directed r f) (s : Finset ι) : ∃ z, ∀ i ∈ s, r (f i) (f z) 
Arguments: {α : Type u} {r : α → α → Prop} [IsTrans α r] {ι : Type u_1} [hι : Nonempty ι] {f : ι → α} (D : Directed r f) (s : Finset ι)
Goal: ∃ z, ∀ i ∈ s, r (f i) (f z)
-- Finset.exists_le
theorem Finset.exists_le [Nonempty α] [Preorder α] [IsDirected α (· ≤ ·)] (s : Finset α) :
    ∃ M, ∀ i ∈ s, i ≤ M 
Arguments: {α : Type u} [Nonempty α] [Preorder α] [IsDirected α fun x x_1 => x ≤ x_1] (s : Finset α)
Goal: ∃ M, ∀ i ∈ s, i ≤ M
-- Finset.mem_finsupp_iff
theorem mem_finsupp_iff {t : ι → Finset α} :
    f ∈ s.finsupp t ↔ f.support ⊆ s ∧ ∀ i ∈ s, f i ∈ t i 
Arguments: {ι : Type u_1} {α : Type u_2} [Zero α] {s : Finset ι} {f : ι →₀ α} {t : ι → Finset α}
Goal: f ∈ s.finsupp t ↔ f.support ⊆ s ∧ ∀ i ∈ s, f i ∈ t i
-- Finset.mem_finsupp_iff_of_support_subset
@[simp]
theorem mem_finsupp_iff_of_support_subset {t : ι →₀ Finset α} (ht : t.support ⊆ s) :
    f ∈ s.finsupp t ↔ ∀ i, f i ∈ t i 
Arguments: {ι : Type u_1} {α : Type u_2} [Zero α] {s : Finset ι} {f : ι →₀ α} {t : ι →₀ Finset α} (ht : t.support ⊆ s)
Goal: f ∈ s.finsupp ⇑t ↔ ∀ (i : ι), f i ∈ t i
-- Finset.card_finsupp
@[simp]
theorem card_finsupp (s : Finset ι) (t : ι → Finset α) :
    (s.finsupp t).card = ∏ i ∈ s, (t i).card 
Arguments: {ι : Type u_1} {α : Type u_2} [Zero α] (s : Finset ι) (t : ι → Finset α)
Goal: (s.finsupp t).card = ∏ i ∈ s, (t i).card
-- Finsupp.mem_pi
@[simp]
theorem mem_pi {f : ι →₀ Finset α} {g : ι →₀ α} : g ∈ f.pi ↔ ∀ i, g i ∈ f i 
Arguments: {ι : Type u_1} {α : Type u_2} [Zero α] {f : ι →₀ Finset α} {g : ι →₀ α}
Goal: g ∈ f.pi ↔ ∀ (i : ι), g i ∈ f i
-- Finsupp.card_pi
@[simp]
theorem card_pi (f : ι →₀ Finset α) : f.pi.card = f.prod fun i => (f i).card 
Arguments: {ι : Type u_1} {α : Type u_2} [Zero α] (f : ι →₀ Finset α)
Goal: f.pi.card = f.prod fun i => ↑(f i).card
-- Finset.fold_empty
@[simp]
theorem fold_empty : (∅ : Finset α).fold op b f = b 
Arguments: {α : Type u_1} {β : Type u_2} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {f : α → β} {b : β}
Goal: Finset.fold op b f ∅ = b
-- Finset.fold_cons
@[simp]
theorem fold_cons (h : a ∉ s) : (cons a s h).fold op b f = f a * s.fold op b f 
Arguments: {α : Type u_1} {β : Type u_2} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {f : α → β} {b : β} {s : Finset α} {a : α} (h : a ∉ s)
Goal: Finset.fold op b f (Finset.cons a s h) = op (f a) (Finset.fold op b f s)
-- Finset.fold_insert
@[simp]
theorem fold_insert [DecidableEq α] (h : a ∉ s) :
    (insert a s).fold op b f = f a * s.fold op b f 
Arguments: {α : Type u_1} {β : Type u_2} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {f : α → β} {b : β} {s : Finset α} {a : α} [DecidableEq α] (h : a ∉ s)
Goal: Finset.fold op b f (insert a s) = op (f a) (Finset.fold op b f s)
-- Finset.fold_singleton
@[simp]
theorem fold_singleton : ({a} : Finset α).fold op b f = f a * b 
Arguments: {α : Type u_1} {β : Type u_2} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {f : α → β} {b : β} {a : α}
Goal: Finset.fold op b f {a} = op (f a) b
-- Finset.fold_map
@[simp]
theorem fold_map {g : γ ↪ α} {s : Finset γ} : (s.map g).fold op b f = s.fold op b (f ∘ g) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {f : α → β} {b : β} {g : γ ↪ α} {s : Finset γ}
Goal: Finset.fold op b f (Finset.map g s) = Finset.fold op b (f ∘ ⇑g) s
-- Finset.fold_image
@[simp]
theorem fold_image [DecidableEq α] {g : γ → α} {s : Finset γ}
    (H : ∀ x ∈ s, ∀ y ∈ s, g x = g y → x = y) : (s.image g).fold op b f = s.fold op b (f ∘ g) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {f : α → β} {b : β} [DecidableEq α] {g : γ → α} {s : Finset γ} (H : ∀ x ∈ s, ∀ y ∈ s, g x = g y → x = y)
Goal: Finset.fold op b f (Finset.image g s) = Finset.fold op b (f ∘ g) s
-- Finset.fold_congr
@[congr]
theorem fold_congr {g : α → β} (H : ∀ x ∈ s, f x = g x) : s.fold op b f = s.fold op b g 
Arguments: {α : Type u_1} {β : Type u_2} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {f : α → β} {b : β} {s : Finset α} {g : α → β} (H : ∀ x ∈ s, f x = g x)
Goal: Finset.fold op b f s = Finset.fold op b g s
-- Finset.fold_op_distrib
theorem fold_op_distrib {f g : α → β} {b₁ b₂ : β} :
    (s.fold op (b₁ * b₂) fun x => f x * g x) = s.fold op b₁ f * s.fold op b₂ g 
Arguments: {α : Type u_1} {β : Type u_2} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {s : Finset α} {f g : α → β} {b₁ b₂ : β}
Goal: Finset.fold op (op b₁ b₂) (fun x => op (f x) (g x)) s = op (Finset.fold op b₁ f s) (Finset.fold op b₂ g s)
-- Finset.fold_const
theorem fold_const [hd : Decidable (s = ∅)] (c : β) (h : op c (op b c) = op b c) :
    Finset.fold op b (fun _ => c) s = if s = ∅ then b else op b c 
Arguments: {α : Type u_1} {β : Type u_2} {op : β → β → β} [hc : Std.Commutative op] [ha : Std.Associative op] {b : β} {s : Finset α} [hd : Decidable (s = ∅)] (c : β) (h : op c (op b c) = op b c)
Goal: Finset.fold op b (fun x => c) s = if s = ∅ then b else op b c