ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Multiset.Pi.cons_map
theorem cons_map (b : δ a) (f : ∀ a' ∈ m, δ a')
    {δ' : α → Sort*} (φ : ∀ ⦃a'⦄, δ a' → δ' a') :
    Pi.cons _ _ (φ b) (fun a' ha' ↦ φ (f a' ha')) = (fun a' ha' ↦ φ ((cons _ _ b f) a' ha')) 
Arguments: {α : Type u_1} [DecidableEq α] {δ : α → Sort u_2} {m : Multiset α} {a : α} (b : δ a) (f : (a' : α) → a' ∈ m → δ a') {δ' : α → Sort u_3} (φ : ⦃a' : α⦄ → δ a' → δ' a')
Goal: (Multiset.Pi.cons m a (φ b) fun a' ha' => φ (f a' ha')) = fun a' ha' => φ (Multiset.Pi.cons m a b f a' ha')
-- Multiset.Pi.forall_rel_cons_ext
theorem forall_rel_cons_ext {r : ∀ ⦃a⦄, δ a → δ a → Prop} {b₁ b₂ : δ a} {f₁ f₂ : ∀ a' ∈ m, δ a'}
    (hb : r b₁ b₂) (hf : ∀ (a : α) (ha : a ∈ m), r (f₁ a ha) (f₂ a ha)) :
    ∀ a ha, r (cons _ _ b₁ f₁ a ha) (cons _ _ b₂ f₂ a ha) 
Arguments: {α : Type u_1} [DecidableEq α] {δ : α → Sort u_2} {m : Multiset α} {a : α} {r : ⦃a : α⦄ → δ a → δ a → Prop} {b₁ b₂ : δ a} {f₁ f₂ : (a' : α) → a' ∈ m → δ a'} (hb : r b₁ b₂) (hf : ∀ (a : α) (ha : a ∈ m), r (f₁ a ha) (f₂ a ha))
Goal: ∀ (a_1 : α) (ha : a_1 ∈ a ::ₘ m), r (Multiset.Pi.cons m a b₁ f₁ a_1 ha) (Multiset.Pi.cons m a b₂ f₂ a_1 ha)
-- Multiset.Pi.cons_injective
theorem cons_injective {a : α} {b : δ a} {s : Multiset α} (hs : a ∉ s) :
    Function.Injective (Pi.cons s a b) 
Arguments: {α : Type u_1} [DecidableEq α] {δ : α → Sort u_2} {a : α} {b : δ a} {s : Multiset α} (hs : a ∉ s)
Goal: Function.Injective (Multiset.Pi.cons s a b)
-- Multiset.pi_zero
@[simp]
theorem pi_zero (t : ∀ a, Multiset (β a)) : pi 0 t = {Pi.empty β} 
Arguments: {α : Type u_1} [DecidableEq α] {β : α → Type u_2} (t : (a : α) → Multiset (β a))
Goal: Multiset.pi 0 t = {Multiset.Pi.empty β}
-- Multiset.pi_cons
@[simp]
theorem pi_cons (m : Multiset α) (t : ∀ a, Multiset (β a)) (a : α) :
    pi (a ::ₘ m) t = (t a).bind fun b => (pi m t).map <| Pi.cons m a b 
Arguments: {α : Type u_1} [DecidableEq α] {β : α → Type u_2} (m : Multiset α) (t : (a : α) → Multiset (β a)) (a : α)
Goal: (a ::ₘ m).pi t = (t a).bind fun b => Multiset.map (Multiset.Pi.cons m a b) (m.pi t)
-- Multiset.card_pi
theorem card_pi (m : Multiset α) (t : ∀ a, Multiset (β a)) :
    card (pi m t) = prod (m.map fun a => card (t a)) 
Arguments: {α : Type u_1} [DecidableEq α] {β : α → Type u_2} (m : Multiset α) (t : (a : α) → Multiset (β a))
Goal: Multiset.card (m.pi t) = (Multiset.map (fun a => Multiset.card (t a)) m).prod
-- Multiset.Nodup.pi
protected theorem Nodup.pi {s : Multiset α} {t : ∀ a, Multiset (β a)} :
    Nodup s → (∀ a ∈ s, Nodup (t a)) → Nodup (pi s t) 
Arguments: {α : Type u_1} [DecidableEq α] {β : α → Type u_2} {s : Multiset α} {t : (a : α) → Multiset (β a)}
Goal: s.Nodup → (∀ a ∈ s, (t a).Nodup) → (s.pi t).Nodup
-- Multiset.mem_pi
theorem mem_pi (m : Multiset α) (t : ∀ a, Multiset (β a)) :
    ∀ f : ∀ a ∈ m, β a, f ∈ pi m t ↔ ∀ (a) (h : a ∈ m), f a h ∈ t a 
Arguments: {α : Type u_1} [DecidableEq α] {β : α → Type u_2} (m : Multiset α) (t : (a : α) → Multiset (β a)) (f : (a : α) → a ∈ m → β a)
Goal: f ∈ m.pi t ↔ ∀ (a : α) (h : a ∈ m), f a h ∈ t a
-- Set.finite_def
theorem finite_def {s : Set α} : s.Finite ↔ Nonempty (Fintype s) 
Arguments: {α : Type u} {s : Set α}
Goal: s.Finite ↔ Nonempty (Fintype ↑s)
-- Set.finite_coe_iff
theorem finite_coe_iff {s : Set α} : Finite s ↔ s.Finite 
Arguments: {α : Type u} {s : Set α}
Goal: Finite ↑s ↔ s.Finite
-- Set.toFinite
theorem toFinite (s : Set α) [Finite s] : s.Finite 
Arguments: {α : Type u} (s : Set α) [Finite ↑s]
Goal: s.Finite
-- Set.Finite.ofFinset
protected theorem Finite.ofFinset {p : Set α} (s : Finset α) (H : ∀ x, x ∈ s ↔ x ∈ p) : p.Finite 
Arguments: {α : Type u} {p : Set α} (s : Finset α) (H : ∀ (x : α), x ∈ s ↔ x ∈ p)
Goal: p.Finite
-- Set.Finite.to_subtype
protected theorem Finite.to_subtype {s : Set α} (h : s.Finite) : Finite s 
Arguments: {α : Type u} {s : Set α} (h : s.Finite)
Goal: Finite ↑s
-- Set.Finite.toFinset_eq_toFinset
theorem Finite.toFinset_eq_toFinset {s : Set α} [Fintype s] (h : s.Finite) :
    h.toFinset = s.toFinset 
Arguments: {α : Type u} {s : Set α} [Fintype ↑s] (h : s.Finite)
Goal: h.toFinset = s.toFinset
-- Set.toFinite_toFinset
@[simp]
theorem toFinite_toFinset (s : Set α) [Fintype s] : s.toFinite.toFinset = s.toFinset 
Arguments: {α : Type u} (s : Set α) [Fintype ↑s]
Goal: ⋯.toFinset = s.toFinset
-- Set.Finite.exists_finset
theorem Finite.exists_finset {s : Set α} (h : s.Finite) :
    ∃ s' : Finset α, ∀ a : α, a ∈ s' ↔ a ∈ s 
Arguments: {α : Type u} {s : Set α} (h : s.Finite)
Goal: ∃ s', ∀ (a : α), a ∈ s' ↔ a ∈ s
-- Set.Finite.exists_finset_coe
theorem Finite.exists_finset_coe {s : Set α} (h : s.Finite) : ∃ s' : Finset α, ↑s' = s 
Arguments: {α : Type u} {s : Set α} (h : s.Finite)
Goal: ∃ s', ↑s' = s
-- Set.not_infinite
@[simp]
theorem not_infinite {s : Set α} : ¬s.Infinite ↔ s.Finite 
Arguments: {α : Type u} {s : Set α}
Goal: ¬s.Infinite ↔ s.Finite
-- Set.finite_or_infinite
protected theorem finite_or_infinite (s : Set α) : s.Finite ∨ s.Infinite 
Arguments: {α : Type u} (s : Set α)
Goal: s.Finite ∨ s.Infinite
-- Set.infinite_or_finite
protected theorem infinite_or_finite (s : Set α) : s.Infinite ∨ s.Finite 
Arguments: {α : Type u} (s : Set α)
Goal: s.Infinite ∨ s.Finite
-- Set.Finite.mem_toFinset
@[simp]
protected theorem mem_toFinset : a ∈ hs.toFinset ↔ a ∈ s 
Arguments: {α : Type u} {s : Set α} {a : α} (hs : s.Finite)
Goal: a ∈ hs.toFinset ↔ a ∈ s
-- Set.Finite.coe_toFinset
@[simp]
protected theorem coe_toFinset : (hs.toFinset : Set α) = s 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite)
Goal: ↑hs.toFinset = s
-- Set.Finite.toFinset_nonempty
@[simp]
protected theorem toFinset_nonempty : hs.toFinset.Nonempty ↔ s.Nonempty 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite)
Goal: hs.toFinset.Nonempty ↔ s.Nonempty
-- Set.Finite.coeSort_toFinset
theorem coeSort_toFinset : ↥hs.toFinset = ↥s 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite)
Goal: { x // x ∈ hs.toFinset } = ↑s
-- Set.Finite.subtypeEquivToFinset_apply_coe
@[simps!] def subtypeEquivToFinset : {x // x ∈ s} ≃ {x // x ∈ hs.toFinset} 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) (a : { a // (fun x => x ∈ s) a })
Goal: ↑(hs.subtypeEquivToFinset a) = ↑a
-- Set.Finite.subtypeEquivToFinset_symm_apply_coe
@[simps!] def subtypeEquivToFinset : {x // x ∈ s} ≃ {x // x ∈ hs.toFinset} 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) (b : { b // (fun x => x ∈ hs.toFinset) b })
Goal: ↑(hs.subtypeEquivToFinset.symm b) = ↑b
-- Set.Finite.toFinset_inj
@[simp]
protected theorem toFinset_inj : hs.toFinset = ht.toFinset ↔ s = t 
Arguments: {α : Type u} {s t : Set α} {hs : s.Finite} {ht : t.Finite}
Goal: hs.toFinset = ht.toFinset ↔ s = t
-- Set.Finite.toFinset_subset
@[simp]
theorem toFinset_subset {t : Finset α} : hs.toFinset ⊆ t ↔ s ⊆ t 
Arguments: {α : Type u} {s : Set α} {hs : s.Finite} {t : Finset α}
Goal: hs.toFinset ⊆ t ↔ s ⊆ ↑t
-- Set.Finite.toFinset_ssubset
@[simp]
theorem toFinset_ssubset {t : Finset α} : hs.toFinset ⊂ t ↔ s ⊂ t 
Arguments: {α : Type u} {s : Set α} {hs : s.Finite} {t : Finset α}
Goal: hs.toFinset ⊂ t ↔ s ⊂ ↑t
-- Set.Finite.subset_toFinset
@[simp]
theorem subset_toFinset {s : Finset α} : s ⊆ ht.toFinset ↔ ↑s ⊆ t 
Arguments: {α : Type u} {t : Set α} {ht : t.Finite} {s : Finset α}
Goal: s ⊆ ht.toFinset ↔ ↑s ⊆ t
-- Set.Finite.ssubset_toFinset
@[simp]
theorem ssubset_toFinset {s : Finset α} : s ⊂ ht.toFinset ↔ ↑s ⊂ t 
Arguments: {α : Type u} {t : Set α} {ht : t.Finite} {s : Finset α}
Goal: s ⊂ ht.toFinset ↔ ↑s ⊂ t
-- Set.Finite.toFinset_subset_toFinset
@[mono]
protected theorem toFinset_subset_toFinset : hs.toFinset ⊆ ht.toFinset ↔ s ⊆ t 
Arguments: {α : Type u} {s t : Set α} {hs : s.Finite} {ht : t.Finite}
Goal: hs.toFinset ⊆ ht.toFinset ↔ s ⊆ t
-- Set.Finite.toFinset_ssubset_toFinset
@[mono]
protected theorem toFinset_ssubset_toFinset : hs.toFinset ⊂ ht.toFinset ↔ s ⊂ t 
Arguments: {α : Type u} {s t : Set α} {hs : s.Finite} {ht : t.Finite}
Goal: hs.toFinset ⊂ ht.toFinset ↔ s ⊂ t
-- Set.Finite.toFinset_setOf
@[simp high]
protected theorem toFinset_setOf [Fintype α] (p : α → Prop) [DecidablePred p]
    (h : { x | p x }.Finite) : h.toFinset = Finset.univ.filter p 
Arguments: {α : Type u} [Fintype α] (p : α → Prop) [DecidablePred p] (h : {x | p x}.Finite)
Goal: h.toFinset = Finset.filter p Finset.univ
-- Set.Finite.disjoint_toFinset
@[simp]
nonrec theorem disjoint_toFinset {hs : s.Finite} {ht : t.Finite} :
    Disjoint hs.toFinset ht.toFinset ↔ Disjoint s t 
Arguments: {α : Type u} {s t : Set α} {hs : s.Finite} {ht : t.Finite}
Goal: Disjoint hs.toFinset ht.toFinset ↔ Disjoint s t
-- Set.Finite.toFinset_inter
protected theorem toFinset_inter [DecidableEq α] (hs : s.Finite) (ht : t.Finite)
    (h : (s ∩ t).Finite) : h.toFinset = hs.toFinset ∩ ht.toFinset 
Arguments: {α : Type u} {s t : Set α} [DecidableEq α] (hs : s.Finite) (ht : t.Finite) (h : (s ∩ t).Finite)
Goal: h.toFinset = hs.toFinset ∩ ht.toFinset
-- Set.Finite.toFinset_union
protected theorem toFinset_union [DecidableEq α] (hs : s.Finite) (ht : t.Finite)
    (h : (s ∪ t).Finite) : h.toFinset = hs.toFinset ∪ ht.toFinset 
Arguments: {α : Type u} {s t : Set α} [DecidableEq α] (hs : s.Finite) (ht : t.Finite) (h : (s ∪ t).Finite)
Goal: h.toFinset = hs.toFinset ∪ ht.toFinset
-- Set.Finite.toFinset_diff
protected theorem toFinset_diff [DecidableEq α] (hs : s.Finite) (ht : t.Finite)
    (h : (s \ t).Finite) : h.toFinset = hs.toFinset \ ht.toFinset 
Arguments: {α : Type u} {s t : Set α} [DecidableEq α] (hs : s.Finite) (ht : t.Finite) (h : (s \ t).Finite)
Goal: h.toFinset = hs.toFinset \ ht.toFinset
-- Set.Finite.toFinset_symmDiff
protected theorem toFinset_symmDiff [DecidableEq α] (hs : s.Finite) (ht : t.Finite)
    (h : (s ∆ t).Finite) : h.toFinset = hs.toFinset ∆ ht.toFinset 
Arguments: {α : Type u} {s t : Set α} [DecidableEq α] (hs : s.Finite) (ht : t.Finite) (h : (symmDiff s t).Finite)
Goal: h.toFinset = symmDiff hs.toFinset ht.toFinset
-- Set.Finite.toFinset_compl
protected theorem toFinset_compl [DecidableEq α] [Fintype α] (hs : s.Finite) (h : sᶜ.Finite) :
    h.toFinset = hs.toFinsetᶜ 
Arguments: {α : Type u} {s : Set α} [DecidableEq α] [Fintype α] (hs : s.Finite) (h : sᶜ.Finite)
Goal: h.toFinset = hs.toFinsetᶜ
-- Set.Finite.toFinset_univ
protected theorem toFinset_univ [Fintype α] (h : (Set.univ : Set α).Finite) :
    h.toFinset = Finset.univ 
Arguments: {α : Type u} [Fintype α] (h : Set.univ.Finite)
Goal: h.toFinset = Finset.univ
-- Set.Finite.toFinset_eq_empty
@[simp]
protected theorem toFinset_eq_empty {h : s.Finite} : h.toFinset = ∅ ↔ s = ∅ 
Arguments: {α : Type u} {s : Set α} {h : s.Finite}
Goal: h.toFinset = ∅ ↔ s = ∅
-- Set.Finite.toFinset_empty
protected theorem toFinset_empty (h : (∅ : Set α).Finite) : h.toFinset = ∅ 
Arguments: {α : Type u} (h : ∅.Finite)
Goal: h.toFinset = ∅
-- Set.Finite.toFinset_eq_univ
@[simp]
protected theorem toFinset_eq_univ [Fintype α] {h : s.Finite} :
    h.toFinset = Finset.univ ↔ s = univ 
Arguments: {α : Type u} {s : Set α} [Fintype α] {h : s.Finite}
Goal: h.toFinset = Finset.univ ↔ s = Set.univ
-- Set.Finite.toFinset_image
protected theorem toFinset_image [DecidableEq β] (f : α → β) (hs : s.Finite) (h : (f '' s).Finite) :
    h.toFinset = hs.toFinset.image f 
Arguments: {α : Type u} {β : Type v} {s : Set α} [DecidableEq β] (f : α → β) (hs : s.Finite) (h : (f '' s).Finite)
Goal: h.toFinset = Finset.image f hs.toFinset
-- Set.Finite.toFinset_range
protected theorem toFinset_range [DecidableEq α] [Fintype β] (f : β → α) (h : (range f).Finite) :
    h.toFinset = Finset.univ.image f 
Arguments: {α : Type u} {β : Type v} [DecidableEq α] [Fintype β] (f : β → α) (h : (Set.range f).Finite)
Goal: h.toFinset = Finset.image f Finset.univ
-- Set.toFinset_iUnion
lemma toFinset_iUnion [Fintype β] [DecidableEq α] (f : β → Set α)
    [∀ w, Fintype (f w)] :
    Set.toFinset (⋃ (x : β), f x) =
    Finset.biUnion (Finset.univ : Finset β) (fun x => (f x).toFinset) 
Arguments: {α : Type u} {β : Type v} [Fintype β] [DecidableEq α] (f : β → Set α) [(w : β) → Fintype ↑(f w)]
Goal: (⋃ x, f x).toFinset = Finset.univ.biUnion fun x => (f x).toFinset
-- Equiv.set_finite_iff
theorem Equiv.set_finite_iff {s : Set α} {t : Set β} (hst : s ≃ t) : s.Finite ↔ t.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (hst : ↑s ≃ ↑t)
Goal: s.Finite ↔ t.Finite
-- Finset.finite_toSet
@[simp]
theorem finite_toSet (s : Finset α) : (s : Set α).Finite 
Arguments: {α : Type u} (s : Finset α)
Goal: (↑s).Finite
-- Finset.finite_toSet_toFinset
theorem finite_toSet_toFinset (s : Finset α) : s.finite_toSet.toFinset = s 
Arguments: {α : Type u} (s : Finset α)
Goal: ⋯.toFinset = s
-- Multiset.finite_toSet
@[simp]
theorem finite_toSet (s : Multiset α) : { x | x ∈ s }.Finite 
Arguments: {α : Type u} (s : Multiset α)
Goal: {x | x ∈ s}.Finite
-- Multiset.finite_toSet_toFinset
@[simp]
theorem finite_toSet_toFinset [DecidableEq α] (s : Multiset α) :
    s.finite_toSet.toFinset = s.toFinset 
Arguments: {α : Type u} [DecidableEq α] (s : Multiset α)
Goal: ⋯.toFinset = s.toFinset
-- List.finite_toSet
@[simp]
theorem List.finite_toSet (l : List α) : { x | x ∈ l }.Finite 
Arguments: {α : Type u} (l : List α)
Goal: {x | x ∈ l}.Finite
-- Finite.Set.subset
protected theorem subset (s : Set α) {t : Set α} [Finite s] (h : t ⊆ s) : Finite t 
Arguments: {α : Type u} (s : Set α) {t : Set α} [Finite ↑s] (h : t ⊆ s)
Goal: Finite ↑t
-- Finite.Set.finite_biUnion
theorem finite_biUnion {ι : Type*} (s : Set ι) [Finite s] (t : ι → Set α)
    (H : ∀ i ∈ s, Finite (t i)) : Finite (⋃ x ∈ s, t x) 
Arguments: {α : Type u} {ι : Type u_1} (s : Set ι) [Finite ↑s] (t : ι → Set α) (H : ∀ i ∈ s, Finite ↑(t i))
Goal: Finite ↑(⋃ x ∈ s, t x)
-- Set.Finite.of_subsingleton
@[nontriviality]
theorem Finite.of_subsingleton [Subsingleton α] (s : Set α) : s.Finite 
Arguments: {α : Type u} [Subsingleton α] (s : Set α)
Goal: s.Finite
-- Set.finite_univ
theorem finite_univ [Finite α] : (@univ α).Finite 
Arguments: {α : Type u} [Finite α]
Goal: Set.univ.Finite
-- Set.finite_univ_iff
theorem finite_univ_iff : (@univ α).Finite ↔ Finite α 
Arguments: {α : Type u}
Goal: Set.univ.Finite ↔ Finite α
-- Set.Finite.subset
theorem Finite.subset {s : Set α} (hs : s.Finite) {t : Set α} (ht : t ⊆ s) : t.Finite 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) {t : Set α} (ht : t ⊆ s)
Goal: t.Finite
-- Set.Finite.union
theorem Finite.union {s t : Set α} (hs : s.Finite) (ht : t.Finite) : (s ∪ t).Finite 
Arguments: {α : Type u} {s t : Set α} (hs : s.Finite) (ht : t.Finite)
Goal: (s ∪ t).Finite
-- Set.Finite.finite_of_compl
theorem Finite.finite_of_compl {s : Set α} (hs : s.Finite) (hsc : sᶜ.Finite) : Finite α 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) (hsc : sᶜ.Finite)
Goal: Finite α
-- Set.Finite.sup
theorem Finite.sup {s t : Set α} : s.Finite → t.Finite → (s ⊔ t).Finite 
Arguments: {α : Type u} {s t : Set α}
Goal: s.Finite → t.Finite → (s ⊔ t).Finite
-- Set.Finite.sep
theorem Finite.sep {s : Set α} (hs : s.Finite) (p : α → Prop) : { a ∈ s | p a }.Finite 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) (p : α → Prop)
Goal: {a | a ∈ s ∧ p a}.Finite
-- Set.Finite.inter_of_left
theorem Finite.inter_of_left {s : Set α} (hs : s.Finite) (t : Set α) : (s ∩ t).Finite 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) (t : Set α)
Goal: (s ∩ t).Finite
-- Set.Finite.inter_of_right
theorem Finite.inter_of_right {s : Set α} (hs : s.Finite) (t : Set α) : (t ∩ s).Finite 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) (t : Set α)
Goal: (t ∩ s).Finite
-- Set.Finite.inf_of_left
theorem Finite.inf_of_left {s : Set α} (h : s.Finite) (t : Set α) : (s ⊓ t).Finite 
Arguments: {α : Type u} {s : Set α} (h : s.Finite) (t : Set α)
Goal: (s ⊓ t).Finite
-- Set.Finite.inf_of_right
theorem Finite.inf_of_right {s : Set α} (h : s.Finite) (t : Set α) : (t ⊓ s).Finite 
Arguments: {α : Type u} {s : Set α} (h : s.Finite) (t : Set α)
Goal: (t ⊓ s).Finite
-- Set.Infinite.mono
protected lemma Infinite.mono {s t : Set α} (h : s ⊆ t) : s.Infinite → t.Infinite 
Arguments: {α : Type u} {s t : Set α} (h : s ⊆ t)
Goal: s.Infinite → t.Infinite
-- Set.Finite.diff
theorem Finite.diff {s : Set α} (hs : s.Finite) (t : Set α) : (s \ t).Finite 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) (t : Set α)
Goal: (s \ t).Finite
-- Set.Finite.of_diff
theorem Finite.of_diff {s t : Set α} (hd : (s \ t).Finite) (ht : t.Finite) : s.Finite 
Arguments: {α : Type u} {s t : Set α} (hd : (s \ t).Finite) (ht : t.Finite)
Goal: s.Finite
-- Set.finite_iUnion
theorem finite_iUnion [Finite ι] {f : ι → Set α} (H : ∀ i, (f i).Finite) : (⋃ i, f i).Finite 
Arguments: {α : Type u} {ι : Sort w} [Finite ι] {f : ι → Set α} (H : ∀ (i : ι), (f i).Finite)
Goal: (⋃ i, f i).Finite
-- Set.Finite.biUnion'
theorem Finite.biUnion' {ι} {s : Set ι} (hs : s.Finite) {t : ∀ i ∈ s, Set α}
    (ht : ∀ i (hi : i ∈ s), (t i hi).Finite) : (⋃ i ∈ s, t i ‹_›).Finite 
Arguments: {α : Type u} {ι : Type u_1} {s : Set ι} (hs : s.Finite) {t : (i : ι) → i ∈ s → Set α} (ht : ∀ (i : ι) (hi : i ∈ s), (t i hi).Finite)
Goal: (⋃ i, ⋃ (h : i ∈ s), t i h).Finite
-- Set.Finite.biUnion
theorem Finite.biUnion {ι} {s : Set ι} (hs : s.Finite) {t : ι → Set α}
    (ht : ∀ i ∈ s, (t i).Finite) : (⋃ i ∈ s, t i).Finite 
Arguments: {α : Type u} {ι : Type u_1} {s : Set ι} (hs : s.Finite) {t : ι → Set α} (ht : ∀ i ∈ s, (t i).Finite)
Goal: (⋃ i ∈ s, t i).Finite
-- Set.Finite.sUnion
theorem Finite.sUnion {s : Set (Set α)} (hs : s.Finite) (H : ∀ t ∈ s, Set.Finite t) :
    (⋃₀ s).Finite 
Arguments: {α : Type u} {s : Set (Set α)} (hs : s.Finite) (H : ∀ t ∈ s, t.Finite)
Goal: (⋃₀ s).Finite
-- Set.Finite.sInter
theorem Finite.sInter {α : Type*} {s : Set (Set α)} {t : Set α} (ht : t ∈ s) (hf : t.Finite) :
    (⋂₀ s).Finite 
Arguments: {α : Type u_1} {s : Set (Set α)} {t : Set α} (ht : t ∈ s) (hf : t.Finite)
Goal: (⋂₀ s).Finite
-- Set.Finite.iUnion
theorem Finite.iUnion {ι : Type*} {s : ι → Set α} {t : Set ι} (ht : t.Finite)
    (hs : ∀ i ∈ t, (s i).Finite) (he : ∀ i, i ∉ t → s i = ∅) : (⋃ i, s i).Finite 
Arguments: {α : Type u} {ι : Type u_1} {s : ι → Set α} {t : Set ι} (ht : t.Finite) (hs : ∀ i ∈ t, (s i).Finite) (he : ∀ i ∉ t, s i = ∅)
Goal: (⋃ i, s i).Finite
-- Set.Finite.bind
theorem Finite.bind {α β} {s : Set α} {f : α → Set β} (h : s.Finite) (hf : ∀ a ∈ s, (f a).Finite) :
    (s >>= f).Finite 
Arguments: {α β : Type u_1} {s : Set α} {f : α → Set β} (h : s.Finite) (hf : ∀ a ∈ s, (f a).Finite)
Goal: (s >>= f).Finite
-- Set.finite_empty
@[simp]
theorem finite_empty : (∅ : Set α).Finite 
Arguments: {α : Type u}
Goal: ∅.Finite
-- Set.Infinite.nonempty
protected theorem Infinite.nonempty {s : Set α} (h : s.Infinite) : s.Nonempty 
Arguments: {α : Type u} {s : Set α} (h : s.Infinite)
Goal: s.Nonempty
-- Set.finite_singleton
@[simp]
theorem finite_singleton (a : α) : ({a} : Set α).Finite 
Arguments: {α : Type u} (a : α)
Goal: {a}.Finite
-- Set.finite_pure
theorem finite_pure (a : α) : (pure a : Set α).Finite 
Arguments: {α : Type u} (a : α)
Goal: (pure a).Finite
-- Set.Finite.insert
@[simp]
protected theorem Finite.insert (a : α) {s : Set α} (hs : s.Finite) : (insert a s).Finite 
Arguments: {α : Type u} (a : α) {s : Set α} (hs : s.Finite)
Goal: (insert a s).Finite
-- Set.Finite.image
theorem Finite.image {s : Set α} (f : α → β) (hs : s.Finite) : (f '' s).Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} (f : α → β) (hs : s.Finite)
Goal: (f '' s).Finite
-- Set.finite_range
theorem finite_range (f : ι → α) [Finite ι] : (range f).Finite 
Arguments: {α : Type u} {ι : Sort w} (f : ι → α) [Finite ι]
Goal: (Set.range f).Finite
-- Set.Finite.of_surjOn
lemma Finite.of_surjOn {s : Set α} {t : Set β} (f : α → β) (hf : SurjOn f s t) (hs : s.Finite) :
    t.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (f : α → β) (hf : Set.SurjOn f s t) (hs : s.Finite)
Goal: t.Finite
-- Set.Finite.dependent_image
theorem Finite.dependent_image {s : Set α} (hs : s.Finite) (F : ∀ i ∈ s, β) :
    {y : β | ∃ x hx, F x hx = y}.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} (hs : s.Finite) (F : (i : α) → i ∈ s → β)
Goal: {y | ∃ x, ∃ (hx : x ∈ s), F x hx = y}.Finite
-- Set.Finite.map
theorem Finite.map {α β} {s : Set α} : ∀ f : α → β, s.Finite → (f <$> s).Finite 
Arguments: {α β : Type u_1} {s : Set α} (f : α → β)
Goal: s.Finite → (f <$> s).Finite
-- Set.Finite.of_finite_image
theorem Finite.of_finite_image {s : Set α} {f : α → β} (h : (f '' s).Finite) (hi : Set.InjOn f s) :
    s.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {f : α → β} (h : (f '' s).Finite) (hi : Set.InjOn f s)
Goal: s.Finite
-- Set.finite_of_finite_preimage
theorem finite_of_finite_preimage (h : (f ⁻¹' s).Finite) (hs : s ⊆ range f) : s.Finite 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set β} (h : (f ⁻¹' s).Finite) (hs : s ⊆ Set.range f)
Goal: s.Finite
-- Set.Finite.of_preimage
theorem Finite.of_preimage (h : (f ⁻¹' s).Finite) (hf : Surjective f) : s.Finite 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set β} (h : (f ⁻¹' s).Finite) (hf : Function.Surjective f)
Goal: s.Finite
-- Set.Finite.preimage
theorem Finite.preimage (I : Set.InjOn f (f ⁻¹' s)) (h : s.Finite) : (f ⁻¹' s).Finite 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set β} (I : Set.InjOn f (f ⁻¹' s)) (h : s.Finite)
Goal: (f ⁻¹' s).Finite
-- Set.Finite.preimage'
theorem Finite.preimage'  (h : s.Finite) (hf : ∀ b ∈ s, (f ⁻¹' {b}).Finite) :
    (f ⁻¹' s).Finite 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set β} (h : s.Finite) (hf : ∀ b ∈ s, (f ⁻¹' {b}).Finite)
Goal: (f ⁻¹' s).Finite
-- Set.Infinite.preimage
protected lemma Infinite.preimage (hs : s.Infinite) (hf : s ⊆ range f) : (f ⁻¹' s).Infinite 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set β} (hs : s.Infinite) (hf : s ⊆ Set.range f)
Goal: (f ⁻¹' s).Infinite
-- Set.Infinite.preimage'
lemma Infinite.preimage' (hs : (s ∩ range f).Infinite) : (f ⁻¹' s).Infinite 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set β} (hs : (s ∩ Set.range f).Infinite)
Goal: (f ⁻¹' s).Infinite
-- Set.Finite.preimage_embedding
theorem Finite.preimage_embedding {s : Set β} (f : α ↪ β) (h : s.Finite) : (f ⁻¹' s).Finite 
Arguments: {α : Type u} {β : Type v} {s : Set β} (f : α ↪ β) (h : s.Finite)
Goal: (⇑f ⁻¹' s).Finite
-- Set.finite_lt_nat
theorem finite_lt_nat (n : ℕ) : Set.Finite { i | i < n } 
Arguments: (n : ℕ)
Goal: {i | i < n}.Finite
-- Set.finite_le_nat
theorem finite_le_nat (n : ℕ) : Set.Finite { i | i ≤ n } 
Arguments: (n : ℕ)
Goal: {i | i ≤ n}.Finite
-- Set.Finite.surjOn_iff_bijOn_of_mapsTo
theorem Finite.surjOn_iff_bijOn_of_mapsTo (hs : s.Finite) (hm : MapsTo f s s) :
    SurjOn f s s ↔ BijOn f s s 
Arguments: {α : Type u} {s : Set α} {f : α → α} (hs : s.Finite) (hm : Set.MapsTo f s s)
Goal: Set.SurjOn f s s ↔ Set.BijOn f s s
-- Set.Finite.injOn_iff_bijOn_of_mapsTo
theorem Finite.injOn_iff_bijOn_of_mapsTo (hs : s.Finite) (hm : MapsTo f s s) :
    InjOn f s ↔ BijOn f s s 
Arguments: {α : Type u} {s : Set α} {f : α → α} (hs : s.Finite) (hm : Set.MapsTo f s s)
Goal: Set.InjOn f s ↔ Set.BijOn f s s
-- Set.Finite.prod
protected theorem Finite.prod (hs : s.Finite) (ht : t.Finite) : (s ×ˢ t : Set (α × β)).Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (hs : s.Finite) (ht : t.Finite)
Goal: (s ×ˢ t).Finite
-- Set.Finite.of_prod_left
theorem Finite.of_prod_left (h : (s ×ˢ t : Set (α × β)).Finite) : t.Nonempty → s.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (h : (s ×ˢ t).Finite)
Goal: t.Nonempty → s.Finite
-- Set.Finite.of_prod_right
theorem Finite.of_prod_right (h : (s ×ˢ t : Set (α × β)).Finite) : s.Nonempty → t.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (h : (s ×ˢ t).Finite)
Goal: s.Nonempty → t.Finite
-- Set.Infinite.prod_left
protected theorem Infinite.prod_left (hs : s.Infinite) (ht : t.Nonempty) : (s ×ˢ t).Infinite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (hs : s.Infinite) (ht : t.Nonempty)
Goal: (s ×ˢ t).Infinite
-- Set.Infinite.prod_right
protected theorem Infinite.prod_right (ht : t.Infinite) (hs : s.Nonempty) : (s ×ˢ t).Infinite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (ht : t.Infinite) (hs : s.Nonempty)
Goal: (s ×ˢ t).Infinite
-- Set.infinite_prod
protected theorem infinite_prod :
    (s ×ˢ t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β}
Goal: (s ×ˢ t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty