ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.encard_eq_encard_iff_encard_diff_eq_encard_diff
theorem encard_eq_encard_iff_encard_diff_eq_encard_diff (h : (s ∩ t).Finite) :
    s.encard = t.encard ↔ (s \ t).encard = (t \ s).encard 
Arguments: {α : Type u_1} {s t : Set α} (h : (s ∩ t).Finite)
Goal: s.encard = t.encard ↔ (s \ t).encard = (t \ s).encard
-- Set.encard_le_encard_iff_encard_diff_le_encard_diff
theorem encard_le_encard_iff_encard_diff_le_encard_diff (h : (s ∩ t).Finite) :
    s.encard ≤ t.encard ↔ (s \ t).encard ≤ (t \ s).encard 
Arguments: {α : Type u_1} {s t : Set α} (h : (s ∩ t).Finite)
Goal: s.encard ≤ t.encard ↔ (s \ t).encard ≤ (t \ s).encard
-- Set.encard_lt_encard_iff_encard_diff_lt_encard_diff
theorem encard_lt_encard_iff_encard_diff_lt_encard_diff (h : (s ∩ t).Finite) :
    s.encard < t.encard ↔ (s \ t).encard < (t \ s).encard 
Arguments: {α : Type u_1} {s t : Set α} (h : (s ∩ t).Finite)
Goal: s.encard < t.encard ↔ (s \ t).encard < (t \ s).encard
-- Set.encard_union_le
theorem encard_union_le (s t : Set α) : (s ∪ t).encard ≤ s.encard + t.encard 
Arguments: {α : Type u_1} (s t : Set α)
Goal: (s ∪ t).encard ≤ s.encard + t.encard
-- Set.finite_iff_finite_of_encard_eq_encard
theorem finite_iff_finite_of_encard_eq_encard (h : s.encard = t.encard) : s.Finite ↔ t.Finite 
Arguments: {α : Type u_1} {s t : Set α} (h : s.encard = t.encard)
Goal: s.Finite ↔ t.Finite
-- Set.infinite_iff_infinite_of_encard_eq_encard
theorem infinite_iff_infinite_of_encard_eq_encard (h : s.encard = t.encard) :
    s.Infinite ↔ t.Infinite 
Arguments: {α : Type u_1} {s t : Set α} (h : s.encard = t.encard)
Goal: s.Infinite ↔ t.Infinite
-- Set.Finite.finite_of_encard_le
theorem Finite.finite_of_encard_le {s : Set α} {t : Set β} (hs : s.Finite)
    (h : t.encard ≤ s.encard) : t.Finite 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (hs : s.Finite) (h : t.encard ≤ s.encard)
Goal: t.Finite
-- Set.Finite.eq_of_subset_of_encard_le
theorem Finite.eq_of_subset_of_encard_le (ht : t.Finite) (hst : s ⊆ t) (hts : t.encard ≤ s.encard) :
    s = t 
Arguments: {α : Type u_1} {s t : Set α} (ht : t.Finite) (hst : s ⊆ t) (hts : t.encard ≤ s.encard)
Goal: s = t
-- Set.Finite.eq_of_subset_of_encard_le'
theorem Finite.eq_of_subset_of_encard_le' (hs : s.Finite) (hst : s ⊆ t)
    (hts : t.encard ≤ s.encard) : s = t 
Arguments: {α : Type u_1} {s t : Set α} (hs : s.Finite) (hst : s ⊆ t) (hts : t.encard ≤ s.encard)
Goal: s = t
-- Set.Finite.encard_lt_encard
theorem Finite.encard_lt_encard (ht : t.Finite) (h : s ⊂ t) : s.encard < t.encard 
Arguments: {α : Type u_1} {s t : Set α} (ht : t.Finite) (h : s ⊂ t)
Goal: s.encard < t.encard
-- Set.encard_strictMono
theorem encard_strictMono [Finite α] : StrictMono (encard : Set α → ℕ∞) 
Arguments: {α : Type u_1} [Finite α]
Goal: StrictMono Set.encard
-- Set.encard_diff_add_encard
theorem encard_diff_add_encard (s t : Set α) : (s \ t).encard + t.encard = (s ∪ t).encard 
Arguments: {α : Type u_1} (s t : Set α)
Goal: (s \ t).encard + t.encard = (s ∪ t).encard
-- Set.encard_le_encard_diff_add_encard
theorem encard_le_encard_diff_add_encard (s t : Set α) : s.encard ≤ (s \ t).encard + t.encard 
Arguments: {α : Type u_1} (s t : Set α)
Goal: s.encard ≤ (s \ t).encard + t.encard
-- Set.tsub_encard_le_encard_diff
theorem tsub_encard_le_encard_diff (s t : Set α) : s.encard - t.encard ≤ (s \ t).encard 
Arguments: {α : Type u_1} (s t : Set α)
Goal: s.encard - t.encard ≤ (s \ t).encard
-- Set.encard_add_encard_compl
theorem encard_add_encard_compl (s : Set α) : s.encard + sᶜ.encard = (univ : Set α).encard 
Arguments: {α : Type u_1} (s : Set α)
Goal: s.encard + sᶜ.encard = Set.univ.encard
-- Set.encard_insert_le
theorem encard_insert_le (s : Set α) (x : α) : (insert x s).encard ≤ s.encard + 1 
Arguments: {α : Type u_1} (s : Set α) (x : α)
Goal: (insert x s).encard ≤ s.encard + 1
-- Set.encard_singleton_inter
theorem encard_singleton_inter (s : Set α) (x : α) : ({x} ∩ s).encard ≤ 1 
Arguments: {α : Type u_1} (s : Set α) (x : α)
Goal: ({x} ∩ s).encard ≤ 1
-- Set.encard_diff_singleton_add_one
theorem encard_diff_singleton_add_one (h : a ∈ s) :
    (s \ {a}).encard + 1 = s.encard 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∈ s)
Goal: (s \ {a}).encard + 1 = s.encard
-- Set.encard_diff_singleton_of_mem
theorem encard_diff_singleton_of_mem (h : a ∈ s) :
    (s \ {a}).encard = s.encard - 1 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∈ s)
Goal: (s \ {a}).encard = s.encard - 1
-- Set.encard_tsub_one_le_encard_diff_singleton
theorem encard_tsub_one_le_encard_diff_singleton (s : Set α) (x : α) :
    s.encard - 1 ≤ (s \ {x}).encard 
Arguments: {α : Type u_1} (s : Set α) (x : α)
Goal: s.encard - 1 ≤ (s \ {x}).encard
-- Set.encard_exchange
theorem encard_exchange (ha : a ∉ s) (hb : b ∈ s) : (insert a (s \ {b})).encard = s.encard 
Arguments: {α : Type u_1} {s : Set α} {a b : α} (ha : a ∉ s) (hb : b ∈ s)
Goal: (insert a (s \ {b})).encard = s.encard
-- Set.encard_exchange'
theorem encard_exchange' (ha : a ∉ s) (hb : b ∈ s) : (insert a s \ {b}).encard = s.encard 
Arguments: {α : Type u_1} {s : Set α} {a b : α} (ha : a ∉ s) (hb : b ∈ s)
Goal: (insert a s \ {b}).encard = s.encard
-- Set.encard_eq_add_one_iff
theorem encard_eq_add_one_iff {k : ℕ∞} :
    s.encard = k + 1 ↔ (∃ a t, ¬a ∈ t ∧ insert a t = s ∧ t.encard = k) 
Arguments: {α : Type u_1} {s : Set α} {k : ℕ∞}
Goal: s.encard = k + 1 ↔ ∃ a t, a ∉ t ∧ insert a t = s ∧ t.encard = k
-- Set.eq_empty_or_encard_eq_top_or_encard_diff_singleton_lt
theorem eq_empty_or_encard_eq_top_or_encard_diff_singleton_lt (s : Set α) :
    s = ∅ ∨ s.encard = ⊤ ∨ ∃ a ∈ s, (s \ {a}).encard < s.encard 
Arguments: {α : Type u_1} (s : Set α)
Goal: s = ∅ ∨ s.encard = ⊤ ∨ ∃ a ∈ s, (s \ {a}).encard < s.encard
-- Set.encard_pair
theorem encard_pair {x y : α} (hne : x ≠ y) : ({x, y} : Set α).encard = 2 
Arguments: {α : Type u_1} {x y : α} (hne : x ≠ y)
Goal: {x, y}.encard = 2
-- Set.encard_eq_one
theorem encard_eq_one : s.encard = 1 ↔ ∃ x, s = {x} 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.encard = 1 ↔ ∃ x, s = {x}
-- Set.encard_le_one_iff_eq
theorem encard_le_one_iff_eq : s.encard ≤ 1 ↔ s = ∅ ∨ ∃ x, s = {x} 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.encard ≤ 1 ↔ s = ∅ ∨ ∃ x, s = {x}
-- Set.encard_le_one_iff
theorem encard_le_one_iff : s.encard ≤ 1 ↔ ∀ a b, a ∈ s → b ∈ s → a = b 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.encard ≤ 1 ↔ ∀ (a b : α), a ∈ s → b ∈ s → a = b
-- Set.one_lt_encard_iff
theorem one_lt_encard_iff : 1 < s.encard ↔ ∃ a b, a ∈ s ∧ b ∈ s ∧ a ≠ b 
Arguments: {α : Type u_1} {s : Set α}
Goal: 1 < s.encard ↔ ∃ a b, a ∈ s ∧ b ∈ s ∧ a ≠ b
-- Set.exists_ne_of_one_lt_encard
theorem exists_ne_of_one_lt_encard (h : 1 < s.encard) (a : α) : ∃ b ∈ s, b ≠ a 
Arguments: {α : Type u_1} {s : Set α} (h : 1 < s.encard) (a : α)
Goal: ∃ b ∈ s, b ≠ a
-- Set.encard_eq_two
theorem encard_eq_two : s.encard = 2 ↔ ∃ x y, x ≠ y ∧ s = {x, y} 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.encard = 2 ↔ ∃ x y, x ≠ y ∧ s = {x, y}
-- Set.encard_eq_three
theorem encard_eq_three {α : Type u_1} {s : Set α} :
    encard s = 3 ↔ ∃ x y z, x ≠ y ∧ x ≠ z ∧ y ≠ z ∧ s = {x, y, z} 
Arguments: {α : Type u_1} {s : Set α}
Goal: s.encard = 3 ↔ ∃ x y z, x ≠ y ∧ x ≠ z ∧ y ≠ z ∧ s = {x, y, z}
-- Set.Nat.encard_range
theorem Nat.encard_range (k : ℕ) : {i | i < k}.encard = k 
Arguments: (k : ℕ)
Goal: {i | i < k}.encard = ↑k
-- Set.Finite.eq_insert_of_subset_of_encard_eq_succ
theorem Finite.eq_insert_of_subset_of_encard_eq_succ (hs : s.Finite) (h : s ⊆ t)
    (hst : t.encard = s.encard + 1) : ∃ a, t = insert a s 
Arguments: {α : Type u_1} {s t : Set α} (hs : s.Finite) (h : s ⊆ t) (hst : t.encard = s.encard + 1)
Goal: ∃ a, t = insert a s
-- Set.exists_subset_encard_eq
theorem exists_subset_encard_eq {k : ℕ∞} (hk : k ≤ s.encard) : ∃ t, t ⊆ s ∧ t.encard = k 
Arguments: {α : Type u_1} {s : Set α} {k : ℕ∞} (hk : k ≤ s.encard)
Goal: ∃ t ⊆ s, t.encard = k
-- Set.exists_superset_subset_encard_eq
theorem exists_superset_subset_encard_eq {k : ℕ∞}
    (hst : s ⊆ t) (hsk : s.encard ≤ k) (hkt : k ≤ t.encard) :
    ∃ r, s ⊆ r ∧ r ⊆ t ∧ r.encard = k 
Arguments: {α : Type u_1} {s t : Set α} {k : ℕ∞} (hst : s ⊆ t) (hsk : s.encard ≤ k) (hkt : k ≤ t.encard)
Goal: ∃ r, s ⊆ r ∧ r ⊆ t ∧ r.encard = k
-- Set.InjOn.encard_image
theorem InjOn.encard_image (h : InjOn f s) : (f '' s).encard = s.encard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {f : α → β} (h : Set.InjOn f s)
Goal: (f '' s).encard = s.encard
-- Set.encard_congr
theorem encard_congr (e : s ≃ t) : s.encard = t.encard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (e : ↑s ≃ ↑t)
Goal: s.encard = t.encard
-- Function.Injective.encard_image
theorem _root_.Function.Injective.encard_image (hf : f.Injective) (s : Set α) :
    (f '' s).encard = s.encard 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} (hf : Function.Injective f) (s : Set α)
Goal: (f '' s).encard = s.encard
-- Function.Embedding.enccard_le
theorem _root_.Function.Embedding.enccard_le (e : s ↪ t) : s.encard ≤ t.encard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (e : ↑s ↪ ↑t)
Goal: s.encard ≤ t.encard
-- Set.encard_image_le
theorem encard_image_le (f : α → β) (s : Set α) : (f '' s).encard ≤ s.encard 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β) (s : Set α)
Goal: (f '' s).encard ≤ s.encard
-- Set.Finite.injOn_of_encard_image_eq
theorem Finite.injOn_of_encard_image_eq (hs : s.Finite) (h : (f '' s).encard = s.encard) :
    InjOn f s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {f : α → β} (hs : s.Finite) (h : (f '' s).encard = s.encard)
Goal: Set.InjOn f s
-- Set.encard_preimage_of_injective_subset_range
theorem encard_preimage_of_injective_subset_range (hf : f.Injective) (ht : t ⊆ range f) :
    (f ⁻¹' t).encard = t.encard 
Arguments: {α : Type u_1} {β : Type u_2} {t : Set β} {f : α → β} (hf : Function.Injective f) (ht : t ⊆ Set.range f)
Goal: (f ⁻¹' t).encard = t.encard
-- Set.encard_le_encard_of_injOn
theorem encard_le_encard_of_injOn (hf : MapsTo f s t) (f_inj : InjOn f s) :
    s.encard ≤ t.encard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} {f : α → β} (hf : Set.MapsTo f s t) (f_inj : Set.InjOn f s)
Goal: s.encard ≤ t.encard
-- Set.Finite.exists_injOn_of_encard_le
theorem Finite.exists_injOn_of_encard_le [Nonempty β] {s : Set α} {t : Set β} (hs : s.Finite)
    (hle : s.encard ≤ t.encard) : ∃ (f : α → β), s ⊆ f ⁻¹' t ∧ InjOn f s 
Arguments: {α : Type u_1} {β : Type u_2} [Nonempty β] {s : Set α} {t : Set β} (hs : s.Finite) (hle : s.encard ≤ t.encard)
Goal: ∃ f, s ⊆ f ⁻¹' t ∧ Set.InjOn f s
-- Set.Finite.exists_bijOn_of_encard_eq
theorem Finite.exists_bijOn_of_encard_eq [Nonempty β] (hs : s.Finite) (h : s.encard = t.encard) :
    ∃ (f : α → β), BijOn f s t 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} [Nonempty β] (hs : s.Finite) (h : s.encard = t.encard)
Goal: ∃ f, Set.BijOn f s t
-- Set.ncard_def
theorem ncard_def (s : Set α) : s.ncard = ENat.toNat s.encard 
Arguments: {α : Type u_1} (s : Set α)
Goal: s.ncard = s.encard.toNat
-- Set.Finite.cast_ncard_eq
theorem Finite.cast_ncard_eq (hs : s.Finite) : s.ncard = s.encard 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite)
Goal: ↑s.ncard = s.encard
-- Set.Nat.card_coe_set_eq
theorem Nat.card_coe_set_eq (s : Set α) : Nat.card s = s.ncard 
Arguments: {α : Type u_1} (s : Set α)
Goal: Nat.card ↑s = s.ncard
-- Set.ncard_eq_toFinset_card
theorem ncard_eq_toFinset_card (s : Set α) (hs : s.Finite := by toFinite_tac) :
    s.ncard = hs.toFinset.card 
Arguments: {α : Type u_1} (s : Set α) (hs : s.Finite := by toFinite_tac)
Goal: s.ncard = (Set.Finite.toFinset hs).card
-- Set.ncard_eq_toFinset_card'
theorem ncard_eq_toFinset_card' (s : Set α) [Fintype s] :
    s.ncard = s.toFinset.card 
Arguments: {α : Type u_1} (s : Set α) [Fintype ↑s]
Goal: s.ncard = s.toFinset.card
-- Set.encard_le_coe_iff_finite_ncard_le
theorem encard_le_coe_iff_finite_ncard_le {k : ℕ} : s.encard ≤ k ↔ s.Finite ∧ s.ncard ≤ k 
Arguments: {α : Type u_1} {s : Set α} {k : ℕ}
Goal: s.encard ≤ ↑k ↔ s.Finite ∧ s.ncard ≤ k
-- Set.Infinite.ncard
theorem Infinite.ncard (hs : s.Infinite) : s.ncard = 0 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Infinite)
Goal: s.ncard = 0
-- Set.ncard_le_ncard
theorem ncard_le_ncard (hst : s ⊆ t) (ht : t.Finite := by toFinite_tac) :
    s.ncard ≤ t.ncard 
Arguments: {α : Type u_1} {s t : Set α} (hst : s ⊆ t) (ht : t.Finite := by toFinite_tac)
Goal: s.ncard ≤ t.ncard
-- Set.ncard_mono
theorem ncard_mono [Finite α] : @Monotone (Set α) _ _ _ ncard 
Arguments: {α : Type u_1} [Finite α]
Goal: Monotone Set.ncard
-- Set.ncard_eq_zero
@[simp] theorem ncard_eq_zero (hs : s.Finite := by toFinite_tac) :
    s.ncard = 0 ↔ s = ∅ 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: s.ncard = 0 ↔ s = ∅
-- Set.ncard_coe_Finset
@[simp, norm_cast] theorem ncard_coe_Finset (s : Finset α) : (s : Set α).ncard = s.card 
Arguments: {α : Type u_1} (s : Finset α)
Goal: (↑s).ncard = s.card
-- Set.ncard_univ
theorem ncard_univ (α : Type*) : (univ : Set α).ncard = Nat.card α 
Arguments: (α : Type u_3)
Goal: Set.univ.ncard = Nat.card α
-- Set.ncard_empty
@[simp] theorem ncard_empty (α : Type*) : (∅ : Set α).ncard = 0 
Arguments: (α : Type u_3)
Goal: ∅.ncard = 0
-- Set.ncard_pos
theorem ncard_pos (hs : s.Finite := by toFinite_tac) : 0 < s.ncard ↔ s.Nonempty 
Arguments: {α : Type u_1} {s : Set α} (hs : s.Finite := by toFinite_tac)
Goal: 0 < s.ncard ↔ s.Nonempty
-- Set.ncard_ne_zero_of_mem
theorem ncard_ne_zero_of_mem {a : α} (h : a ∈ s) (hs : s.Finite := by toFinite_tac) : s.ncard ≠ 0 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∈ s) (hs : s.Finite := by toFinite_tac)
Goal: s.ncard ≠ 0
-- Set.finite_of_ncard_ne_zero
theorem finite_of_ncard_ne_zero (hs : s.ncard ≠ 0) : s.Finite 
Arguments: {α : Type u_1} {s : Set α} (hs : s.ncard ≠ 0)
Goal: s.Finite
-- Set.finite_of_ncard_pos
theorem finite_of_ncard_pos (hs : 0 < s.ncard) : s.Finite 
Arguments: {α : Type u_1} {s : Set α} (hs : 0 < s.ncard)
Goal: s.Finite
-- Set.nonempty_of_ncard_ne_zero
theorem nonempty_of_ncard_ne_zero (hs : s.ncard ≠ 0) : s.Nonempty 
Arguments: {α : Type u_1} {s : Set α} (hs : s.ncard ≠ 0)
Goal: s.Nonempty
-- Set.ncard_singleton
@[simp] theorem ncard_singleton (a : α) : ({a} : Set α).ncard = 1 
Arguments: {α : Type u_1} (a : α)
Goal: {a}.ncard = 1
-- Set.ncard_singleton_inter
theorem ncard_singleton_inter (a : α) (s : Set α) : ({a} ∩ s).ncard ≤ 1 
Arguments: {α : Type u_1} (a : α) (s : Set α)
Goal: ({a} ∩ s).ncard ≤ 1
-- Set.ncard_insert_of_not_mem
@[simp] theorem ncard_insert_of_not_mem {a : α} (h : a ∉ s) (hs : s.Finite := by toFinite_tac) :
    (insert a s).ncard = s.ncard + 1 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∉ s) (hs : s.Finite := by toFinite_tac)
Goal: (insert a s).ncard = s.ncard + 1
-- Set.ncard_insert_of_mem
theorem ncard_insert_of_mem {a : α} (h : a ∈ s) : ncard (insert a s) = s.ncard 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∈ s)
Goal: (insert a s).ncard = s.ncard
-- Set.ncard_insert_le
theorem ncard_insert_le (a : α) (s : Set α) : (insert a s).ncard ≤ s.ncard + 1 
Arguments: {α : Type u_1} (a : α) (s : Set α)
Goal: (insert a s).ncard ≤ s.ncard + 1
-- Set.ncard_insert_eq_ite
theorem ncard_insert_eq_ite {a : α} [Decidable (a ∈ s)] (hs : s.Finite := by toFinite_tac) :
    ncard (insert a s) = if a ∈ s then s.ncard else s.ncard + 1 
Arguments: {α : Type u_1} {s : Set α} {a : α} [Decidable (a ∈ s)] (hs : s.Finite := by toFinite_tac)
Goal: (insert a s).ncard = if a ∈ s then s.ncard else s.ncard + 1
-- Set.ncard_le_ncard_insert
theorem ncard_le_ncard_insert (a : α) (s : Set α) : s.ncard ≤ (insert a s).ncard 
Arguments: {α : Type u_1} (a : α) (s : Set α)
Goal: s.ncard ≤ (insert a s).ncard
-- Set.ncard_pair
@[simp] theorem ncard_pair {a b : α} (h : a ≠ b) : ({a, b} : Set α).ncard = 2 
Arguments: {α : Type u_1} {a b : α} (h : a ≠ b)
Goal: {a, b}.ncard = 2
-- Set.ncard_diff_singleton_add_one
@[simp] theorem ncard_diff_singleton_add_one {a : α} (h : a ∈ s)
    (hs : s.Finite := by toFinite_tac) : (s \ {a}).ncard + 1 = s.ncard 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∈ s) (hs : s.Finite := by toFinite_tac)
Goal: (s \ {a}).ncard + 1 = s.ncard
-- Set.ncard_diff_singleton_of_mem
@[simp] theorem ncard_diff_singleton_of_mem {a : α} (h : a ∈ s) (hs : s.Finite := by toFinite_tac) :
    (s \ {a}).ncard = s.ncard - 1 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∈ s) (hs : s.Finite := by toFinite_tac)
Goal: (s \ {a}).ncard = s.ncard - 1
-- Set.ncard_diff_singleton_lt_of_mem
theorem ncard_diff_singleton_lt_of_mem {a : α} (h : a ∈ s) (hs : s.Finite := by toFinite_tac) :
    (s \ {a}).ncard < s.ncard 
Arguments: {α : Type u_1} {s : Set α} {a : α} (h : a ∈ s) (hs : s.Finite := by toFinite_tac)
Goal: (s \ {a}).ncard < s.ncard
-- Set.ncard_diff_singleton_le
theorem ncard_diff_singleton_le (s : Set α) (a : α) : (s \ {a}).ncard ≤ s.ncard 
Arguments: {α : Type u_1} (s : Set α) (a : α)
Goal: (s \ {a}).ncard ≤ s.ncard
-- Set.pred_ncard_le_ncard_diff_singleton
theorem pred_ncard_le_ncard_diff_singleton (s : Set α) (a : α) : s.ncard - 1 ≤ (s \ {a}).ncard 
Arguments: {α : Type u_1} (s : Set α) (a : α)
Goal: s.ncard - 1 ≤ (s \ {a}).ncard
-- Set.ncard_exchange
theorem ncard_exchange {a b : α} (ha : a ∉ s) (hb : b ∈ s) : (insert a (s \ {b})).ncard = s.ncard 
Arguments: {α : Type u_1} {s : Set α} {a b : α} (ha : a ∉ s) (hb : b ∈ s)
Goal: (insert a (s \ {b})).ncard = s.ncard
-- Set.ncard_exchange'
theorem ncard_exchange' {a b : α} (ha : a ∉ s) (hb : b ∈ s) :
    (insert a s \ {b}).ncard = s.ncard 
Arguments: {α : Type u_1} {s : Set α} {a b : α} (ha : a ∉ s) (hb : b ∈ s)
Goal: (insert a s \ {b}).ncard = s.ncard
-- Set.ncard_image_le
theorem ncard_image_le (hs : s.Finite := by toFinite_tac) : (f '' s).ncard ≤ s.ncard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {f : α → β} (hs : s.Finite := by toFinite_tac)
Goal: (f '' s).ncard ≤ s.ncard
-- Set.ncard_image_of_injOn
theorem ncard_image_of_injOn (H : Set.InjOn f s) : (f '' s).ncard = s.ncard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {f : α → β} (H : Set.InjOn f s)
Goal: (f '' s).ncard = s.ncard
-- Set.injOn_of_ncard_image_eq
theorem injOn_of_ncard_image_eq (h : (f '' s).ncard = s.ncard) (hs : s.Finite := by toFinite_tac) :
    Set.InjOn f s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {f : α → β} (h : (f '' s).ncard = s.ncard) (hs : s.Finite := by toFinite_tac)
Goal: Set.InjOn f s
-- Set.ncard_image_iff
theorem ncard_image_iff (hs : s.Finite := by toFinite_tac) :
    (f '' s).ncard = s.ncard ↔ Set.InjOn f s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {f : α → β} (hs : s.Finite := by toFinite_tac)
Goal: (f '' s).ncard = s.ncard ↔ Set.InjOn f s
-- Set.ncard_image_of_injective
theorem ncard_image_of_injective (s : Set α) (H : f.Injective) : (f '' s).ncard = s.ncard 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} (s : Set α) (H : Function.Injective f)
Goal: (f '' s).ncard = s.ncard
-- Set.ncard_preimage_of_injective_subset_range
theorem ncard_preimage_of_injective_subset_range {s : Set β} (H : f.Injective)
    (hs : s ⊆ Set.range f) :
    (f ⁻¹' s).ncard = s.ncard 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {s : Set β} (H : Function.Injective f) (hs : s ⊆ Set.range f)
Goal: (f ⁻¹' s).ncard = s.ncard
-- Set.fiber_ncard_ne_zero_iff_mem_image
theorem fiber_ncard_ne_zero_iff_mem_image {y : β} (hs : s.Finite := by toFinite_tac) :
    { x ∈ s | f x = y }.ncard ≠ 0 ↔ y ∈ f '' s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {f : α → β} {y : β} (hs : s.Finite := by toFinite_tac)
Goal: {x | x ∈ s ∧ f x = y}.ncard ≠ 0 ↔ y ∈ f '' s
-- Set.ncard_map
@[simp] theorem ncard_map (f : α ↪ β) : (f '' s).ncard = s.ncard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} (f : α ↪ β)
Goal: (⇑f '' s).ncard = s.ncard
-- Set.ncard_subtype
@[simp] theorem ncard_subtype (P : α → Prop) (s : Set α) :
    { x : Subtype P | (x : α) ∈ s }.ncard = (s ∩ setOf P).ncard 
Arguments: {α : Type u_1} (P : α → Prop) (s : Set α)
Goal: {x | ↑x ∈ s}.ncard = (s ∩ setOf P).ncard
-- Set.ncard_inter_le_ncard_left
theorem ncard_inter_le_ncard_left (s t : Set α) (hs : s.Finite := by toFinite_tac) :
    (s ∩ t).ncard ≤ s.ncard 
Arguments: {α : Type u_1} (s t : Set α) (hs : s.Finite := by toFinite_tac)
Goal: (s ∩ t).ncard ≤ s.ncard
-- Set.ncard_inter_le_ncard_right
theorem ncard_inter_le_ncard_right (s t : Set α) (ht : t.Finite := by toFinite_tac) :
    (s ∩ t).ncard ≤ t.ncard 
Arguments: {α : Type u_1} (s t : Set α) (ht : t.Finite := by toFinite_tac)
Goal: (s ∩ t).ncard ≤ t.ncard
-- Set.eq_of_subset_of_ncard_le
theorem eq_of_subset_of_ncard_le (h : s ⊆ t) (h' : t.ncard ≤ s.ncard)
    (ht : t.Finite := by toFinite_tac) : s = t 
Arguments: {α : Type u_1} {s t : Set α} (h : s ⊆ t) (h' : t.ncard ≤ s.ncard) (ht : t.Finite := by toFinite_tac)
Goal: s = t
-- Set.subset_iff_eq_of_ncard_le
theorem subset_iff_eq_of_ncard_le (h : t.ncard ≤ s.ncard) (ht : t.Finite := by toFinite_tac) :
    s ⊆ t ↔ s = t 
Arguments: {α : Type u_1} {s t : Set α} (h : t.ncard ≤ s.ncard) (ht : t.Finite := by toFinite_tac)
Goal: s ⊆ t ↔ s = t
-- Set.map_eq_of_subset
theorem map_eq_of_subset {f : α ↪ α} (h : f '' s ⊆ s) (hs : s.Finite := by toFinite_tac) :
    f '' s = s 
Arguments: {α : Type u_1} {s : Set α} {f : α ↪ α} (h : ⇑f '' s ⊆ s) (hs : s.Finite := by toFinite_tac)
Goal: ⇑f '' s = s
-- Set.sep_of_ncard_eq
theorem sep_of_ncard_eq {a : α} {P : α → Prop} (h : { x ∈ s | P x }.ncard = s.ncard) (ha : a ∈ s)
    (hs : s.Finite := by toFinite_tac) : P a 
Arguments: {α : Type u_1} {s : Set α} {a : α} {P : α → Prop} (h : {x | x ∈ s ∧ P x}.ncard = s.ncard) (ha : a ∈ s) (hs : s.Finite := by toFinite_tac)
Goal: P a
-- Set.ncard_lt_ncard
theorem ncard_lt_ncard (h : s ⊂ t) (ht : t.Finite := by toFinite_tac) :
    s.ncard < t.ncard 
Arguments: {α : Type u_1} {s t : Set α} (h : s ⊂ t) (ht : t.Finite := by toFinite_tac)
Goal: s.ncard < t.ncard
-- Set.ncard_strictMono
theorem ncard_strictMono [Finite α] : @StrictMono (Set α) _ _ _ ncard 
Arguments: {α : Type u_1} [Finite α]
Goal: StrictMono Set.ncard
-- Set.ncard_eq_of_bijective
theorem ncard_eq_of_bijective {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) : s.ncard = n 
Arguments: {α : Type u_1} {s : Set α} {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.ncard = n
-- Set.ncard_congr
theorem ncard_congr {t : Set β} (f : ∀ a ∈ s, β) (h₁ : ∀ a ha, f a ha ∈ t)
    (h₂ : ∀ a b ha hb, f a ha = f b hb → a = b) (h₃ : ∀ b ∈ t, ∃ a ha, f a ha = b) :
    s.ncard = t.ncard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (f : (a : α) → a ∈ s → β) (h₁ : ∀ (a : α) (ha : a ∈ s), f a ha ∈ t) (h₂ : ∀ (a b : α) (ha : a ∈ s) (hb : b ∈ s), f a ha = f b hb → a = b) (h₃ : ∀ b ∈ t, ∃ a, ∃ (ha : a ∈ s), f a ha = b)
Goal: s.ncard = t.ncard
-- Set.ncard_le_ncard_of_injOn
theorem ncard_le_ncard_of_injOn {t : Set β} (f : α → β) (hf : ∀ a ∈ s, f a ∈ t) (f_inj : InjOn f s)
    (ht : t.Finite := by toFinite_tac) :
    s.ncard ≤ t.ncard 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (f : α → β) (hf : ∀ a ∈ s, f a ∈ t) (f_inj : Set.InjOn f s) (ht : t.Finite := by toFinite_tac)
Goal: s.ncard ≤ t.ncard
-- Set.exists_ne_map_eq_of_ncard_lt_of_maps_to
theorem exists_ne_map_eq_of_ncard_lt_of_maps_to {t : Set β} (hc : t.ncard < s.ncard) {f : α → β}
    (hf : ∀ a ∈ s, f a ∈ t) (ht : t.Finite := by toFinite_tac) :
    ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ f x = f y 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β} (hc : t.ncard < s.ncard) {f : α → β} (hf : ∀ a ∈ s, f a ∈ t) (ht : t.Finite := by toFinite_tac)
Goal: ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ f x = f y
-- Set.le_ncard_of_inj_on_range
theorem le_ncard_of_inj_on_range {n : ℕ} (f : ℕ → α) (hf : ∀ i < n, f i ∈ s)
    (f_inj : ∀ i < n, ∀ j < n, f i = f j → i = j) (hs : s.Finite := by toFinite_tac) :
    n ≤ s.ncard 
Arguments: {α : Type u_1} {s : Set α} {n : ℕ} (f : ℕ → α) (hf : ∀ i < n, f i ∈ s) (f_inj : ∀ i < n, ∀ j < n, f i = f j → i = j) (hs : s.Finite := by toFinite_tac)
Goal: n ≤ s.ncard