ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.finite_prod
theorem finite_prod : (s ×ˢ t).Finite ↔ (s.Finite ∨ t = ∅) ∧ (t.Finite ∨ s = ∅) 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β}
Goal: (s ×ˢ t).Finite ↔ (s.Finite ∨ t = ∅) ∧ (t.Finite ∨ s = ∅)
-- Set.Finite.offDiag
protected theorem Finite.offDiag {s : Set α} (hs : s.Finite) : s.offDiag.Finite 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite)
Goal: s.offDiag.Finite
-- Set.Finite.image2
protected theorem Finite.image2 (f : α → β → γ) (hs : s.Finite) (ht : t.Finite) :
    (image2 f s t).Finite 
Arguments: {α : Type u} {β : Type v} {γ : Type x} {s : Set α} {t : Set β} (f : α → β → γ) (hs : s.Finite) (ht : t.Finite)
Goal: (Set.image2 f s t).Finite
-- Set.Finite.seq
theorem Finite.seq {f : Set (α → β)} {s : Set α} (hf : f.Finite) (hs : s.Finite) :
    (f.seq s).Finite 
Arguments: {α : Type u} {β : Type v} {f : Set (α → β)} {s : Set α} (hf : f.Finite) (hs : s.Finite)
Goal: (f.seq s).Finite
-- Set.Finite.seq'
theorem Finite.seq' {α β : Type u} {f : Set (α → β)} {s : Set α} (hf : f.Finite) (hs : s.Finite) :
    (f <*> s).Finite 
Arguments: {α β : Type u} {f : Set (α → β)} {s : Set α} (hf : f.Finite) (hs : s.Finite)
Goal: (Seq.seq f fun x => s).Finite
-- Set.finite_mem_finset
theorem finite_mem_finset (s : Finset α) : { a | a ∈ s }.Finite 
Arguments: {α : Type u} (s : Finset α)
Goal: {a | a ∈ s}.Finite
-- Set.Subsingleton.finite
theorem Subsingleton.finite {s : Set α} (h : s.Subsingleton) : s.Finite 
Arguments: {α : Type u} {s : Set α} (h : s.Subsingleton)
Goal: s.Finite
-- Set.Infinite.nontrivial
theorem Infinite.nontrivial {s : Set α} (hs : s.Infinite) : s.Nontrivial 
Arguments: {α : Type u} {s : Set α} (hs : s.Infinite)
Goal: s.Nontrivial
-- Set.finite_preimage_inl_and_inr
theorem finite_preimage_inl_and_inr {s : Set (α ⊕ β)} :
    (Sum.inl ⁻¹' s).Finite ∧ (Sum.inr ⁻¹' s).Finite ↔ s.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set (α ⊕ β)}
Goal: (Sum.inl ⁻¹' s).Finite ∧ (Sum.inr ⁻¹' s).Finite ↔ s.Finite
-- Set.exists_finite_iff_finset
theorem exists_finite_iff_finset {p : Set α → Prop} :
    (∃ s : Set α, s.Finite ∧ p s) ↔ ∃ s : Finset α, p ↑s 
Arguments: {α : Type u} {p : Set α → Prop}
Goal: (∃ s, s.Finite ∧ p s) ↔ ∃ s, p ↑s
-- Set.Finite.finite_subsets
theorem Finite.finite_subsets {α : Type u} {a : Set α} (h : a.Finite) : { b | b ⊆ a }.Finite 
Arguments: {α : Type u} {a : Set α} (h : a.Finite)
Goal: {b | b ⊆ a}.Finite
-- Set.Finite.powerset
protected theorem Finite.powerset {s : Set α} (h : s.Finite) : (𝒫 s).Finite 
Arguments: {α : Type u} {s : Set α} (h : s.Finite)
Goal: (𝒫 s).Finite
-- Set.exists_subset_image_finite_and
theorem exists_subset_image_finite_and {f : α → β} {s : Set α} {p : Set β → Prop} :
    (∃ t ⊆ f '' s, t.Finite ∧ p t) ↔ ∃ t ⊆ s, t.Finite ∧ p (f '' t) 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set α} {p : Set β → Prop}
Goal: (∃ t ⊆ f '' s, t.Finite ∧ p t) ↔ ∃ t ⊆ s, t.Finite ∧ p (f '' t)
-- Set.Finite.pi
theorem Finite.pi (ht : ∀ i, (t i).Finite) : (pi univ t).Finite 
Arguments: {ι : Type u_1} [Finite ι] {κ : ι → Type u_2} {t : (i : ι) → Set (κ i)} (ht : ∀ (i : ι), (t i).Finite)
Goal: (Set.univ.pi t).Finite
-- Set.Finite.pi'
lemma Finite.pi' (ht : ∀ i, (t i).Finite) : {f : ∀ i, κ i | ∀ i, f i ∈ t i}.Finite 
Arguments: {ι : Type u_1} [Finite ι] {κ : ι → Type u_2} {t : (i : ι) → Set (κ i)} (ht : ∀ (i : ι), (t i).Finite)
Goal: {f | ∀ (i : ι), f i ∈ t i}.Finite
-- Set.union_finset_finite_of_range_finite
theorem union_finset_finite_of_range_finite (f : α → Finset β) (h : (range f).Finite) :
    (⋃ a, (f a : Set β)).Finite 
Arguments: {α : Type u} {β : Type v} (f : α → Finset β) (h : (Set.range f).Finite)
Goal: (⋃ a, ↑(f a)).Finite
-- Set.finite_range_ite
theorem finite_range_ite {p : α → Prop} [DecidablePred p] {f g : α → β} (hf : (range f).Finite)
    (hg : (range g).Finite) : (range fun x => if p x then f x else g x).Finite 
Arguments: {α : Type u} {β : Type v} {p : α → Prop} [DecidablePred p] {f g : α → β} (hf : (Set.range f).Finite) (hg : (Set.range g).Finite)
Goal: (Set.range fun x => if p x then f x else g x).Finite
-- Set.finite_range_const
theorem finite_range_const {c : β} : (range fun _ : α => c).Finite 
Arguments: {α : Type u} {β : Type v} {c : β}
Goal: (Set.range fun x => c).Finite
-- Set.finite_union
@[simp]
theorem finite_union {s t : Set α} : (s ∪ t).Finite ↔ s.Finite ∧ t.Finite 
Arguments: {α : Type u} {s t : Set α}
Goal: (s ∪ t).Finite ↔ s.Finite ∧ t.Finite
-- Set.finite_image_iff
theorem finite_image_iff {s : Set α} {f : α → β} (hi : InjOn f s) : (f '' s).Finite ↔ s.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {f : α → β} (hi : Set.InjOn f s)
Goal: (f '' s).Finite ↔ s.Finite
-- Set.univ_finite_iff_nonempty_fintype
theorem univ_finite_iff_nonempty_fintype : (univ : Set α).Finite ↔ Nonempty (Fintype α) 
Arguments: {α : Type u}
Goal: Set.univ.Finite ↔ Nonempty (Fintype α)
-- Set.Finite.toFinset_singleton
theorem Finite.toFinset_singleton {a : α} (ha : ({a} : Set α).Finite := finite_singleton _) :
    ha.toFinset = {a} 
Arguments: {α : Type u} {a : α} (ha : {a}.Finite := ⋯)
Goal: Set.Finite.toFinset ha = {a}
-- Set.Finite.toFinset_insert
@[simp]
theorem Finite.toFinset_insert [DecidableEq α] {s : Set α} {a : α} (hs : (insert a s).Finite) :
    hs.toFinset = insert a (hs.subset <| subset_insert _ _).toFinset 
Arguments: {α : Type u} [DecidableEq α] {s : Set α} {a : α} (hs : (insert a s).Finite)
Goal: hs.toFinset = insert a ⋯.toFinset
-- Set.Finite.toFinset_insert'
theorem Finite.toFinset_insert' [DecidableEq α] {a : α} {s : Set α} (hs : s.Finite) :
    (hs.insert a).toFinset = insert a hs.toFinset 
Arguments: {α : Type u} [DecidableEq α] {a : α} {s : Set α} (hs : s.Finite)
Goal: ⋯.toFinset = insert a hs.toFinset
-- Set.Finite.toFinset_prod
theorem Finite.toFinset_prod {s : Set α} {t : Set β} (hs : s.Finite) (ht : t.Finite) :
    hs.toFinset ×ˢ ht.toFinset = (hs.prod ht).toFinset 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} (hs : s.Finite) (ht : t.Finite)
Goal: hs.toFinset ×ˢ ht.toFinset = ⋯.toFinset
-- Set.Finite.toFinset_offDiag
theorem Finite.toFinset_offDiag {s : Set α} [DecidableEq α] (hs : s.Finite) :
    hs.offDiag.toFinset = hs.toFinset.offDiag 
Arguments: {α : Type u} {s : Set α} [DecidableEq α] (hs : s.Finite)
Goal: ⋯.toFinset = hs.toFinset.offDiag
-- Set.Finite.fin_embedding
theorem Finite.fin_embedding {s : Set α} (h : s.Finite) :
    ∃ (n : ℕ) (f : Fin n ↪ α), range f = s 
Arguments: {α : Type u} {s : Set α} (h : s.Finite)
Goal: ∃ n f, Set.range ⇑f = s
-- Set.Finite.fin_param
theorem Finite.fin_param {s : Set α} (h : s.Finite) :
    ∃ (n : ℕ) (f : Fin n → α), Injective f ∧ range f = s 
Arguments: {α : Type u} {s : Set α} (h : s.Finite)
Goal: ∃ n f, Function.Injective f ∧ Set.range f = s
-- Set.finite_option
theorem finite_option {s : Set (Option α)} : s.Finite ↔ { x : α | some x ∈ s }.Finite 
Arguments: {α : Type u} {s : Set (Option α)}
Goal: s.Finite ↔ {x | some x ∈ s}.Finite
-- Set.finite_image_fst_and_snd_iff
theorem finite_image_fst_and_snd_iff {s : Set (α × β)} :
    (Prod.fst '' s).Finite ∧ (Prod.snd '' s).Finite ↔ s.Finite 
Arguments: {α : Type u} {β : Type v} {s : Set (α × β)}
Goal: (Prod.fst '' s).Finite ∧ (Prod.snd '' s).Finite ↔ s.Finite
-- Set.forall_finite_image_eval_iff
theorem forall_finite_image_eval_iff {δ : Type*} [Finite δ] {κ : δ → Type*} {s : Set (∀ d, κ d)} :
    (∀ d, (eval d '' s).Finite) ↔ s.Finite 
Arguments: {δ : Type u_1} [Finite δ] {κ : δ → Type u_2} {s : Set ((d : δ) → κ d)}
Goal: (∀ (d : δ), (Function.eval d '' s).Finite) ↔ s.Finite
-- Set.finite_subset_iUnion
theorem finite_subset_iUnion {s : Set α} (hs : s.Finite) {ι} {t : ι → Set α} (h : s ⊆ ⋃ i, t i) :
    ∃ I : Set ι, I.Finite ∧ s ⊆ ⋃ i ∈ I, t i 
Arguments: {α : Type u} {s : Set α} (hs : s.Finite) {ι : Type u_1} {t : ι → Set α} (h : s ⊆ ⋃ i, t i)
Goal: ∃ I, I.Finite ∧ s ⊆ ⋃ i ∈ I, t i
-- Set.eq_finite_iUnion_of_finite_subset_iUnion
theorem eq_finite_iUnion_of_finite_subset_iUnion {ι} {s : ι → Set α} {t : Set α} (tfin : t.Finite)
    (h : t ⊆ ⋃ i, s i) :
    ∃ I : Set ι,
      I.Finite ∧
        ∃ σ : { i | i ∈ I } → Set α, (∀ i, (σ i).Finite) ∧ (∀ i, σ i ⊆ s i) ∧ t = ⋃ i, σ i 
Arguments: {α : Type u} {ι : Type u_1} {s : ι → Set α} {t : Set α} (tfin : t.Finite) (h : t ⊆ ⋃ i, s i)
Goal: ∃ I, I.Finite ∧ ∃ σ, (∀ (i : ↑{i | i ∈ I}), (σ i).Finite) ∧ (∀ (i : ↑{i | i ∈ I}), σ i ⊆ s ↑i) ∧ t = ⋃ i, σ i
-- Set.Finite.induction_on
@[elab_as_elim]
theorem Finite.induction_on {C : Set α → Prop} {s : Set α} (h : s.Finite) (H0 : C ∅)
    (H1 : ∀ {a s}, a ∉ s → Set.Finite s → C s → C (insert a s)) : C s 
Arguments: {α : Type u} {C : Set α → Prop} {s : Set α} (h : s.Finite) (H0 : C ∅) (H1 : ∀ {a : α} {s : Set α}, a ∉ s → s.Finite → C s → C (insert a s))
Goal: C s
-- Set.Finite.induction_on'
@[elab_as_elim]
theorem Finite.induction_on' {C : Set α → Prop} {S : Set α} (h : S.Finite) (H0 : C ∅)
    (H1 : ∀ {a s}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)) : C S 
Arguments: {α : Type u} {C : Set α → Prop} {S : Set α} (h : S.Finite) (H0 : C ∅) (H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s))
Goal: C S
-- Set.Finite.dinduction_on
@[elab_as_elim]
theorem Finite.dinduction_on {C : ∀ s : Set α, s.Finite → Prop} (s : Set α) (h : s.Finite)
    (H0 : C ∅ finite_empty)
    (H1 : ∀ {a s}, a ∉ s → ∀ h : Set.Finite s, C s h → C (insert a s) (h.insert a)) : C s h 
Arguments: {α : Type u} {C : (s : Set α) → s.Finite → Prop} (s : Set α) (h : s.Finite) (H0 : C ∅ ⋯) (H1 : ∀ {a : α} {s : Set α}, a ∉ s → ∀ (h : s.Finite), C s h → C (insert a s) ⋯)
Goal: C s h
-- Set.Finite.induction_to
theorem Finite.induction_to {C : Set α → Prop} {S : Set α} (h : S.Finite)
    (S0 : Set α) (hS0 : S0 ⊆ S) (H0 : C S0) (H1 : ∀ s ⊂ S, C s → ∃ a ∈ S \ s, C (insert a s)) :
    C S 
Arguments: {α : Type u} {C : Set α → Prop} {S : Set α} (h : S.Finite) (S0 : Set α) (hS0 : S0 ⊆ S) (H0 : C S0) (H1 : ∀ s ⊂ S, C s → ∃ a ∈ S \ s, C (insert a s))
Goal: C S
-- Set.Finite.induction_to_univ
theorem Finite.induction_to_univ [Finite α] {C : Set α → Prop} (S0 : Set α)
    (H0 : C S0) (H1 : ∀ S ≠ univ, C S → ∃ a ∉ S, C (insert a S)) : C univ 
Arguments: {α : Type u} [Finite α] {C : Set α → Prop} (S0 : Set α) (H0 : C S0) (H1 : ∀ (S : Set α), S ≠ Set.univ → C S → ∃ a ∉ S, C (insert a S))
Goal: C Set.univ
-- Set.seq_of_forall_finite_exists
theorem seq_of_forall_finite_exists {γ : Type*} {P : γ → Set γ → Prop}
    (h : ∀ t : Set γ, t.Finite → ∃ c, P c t) : ∃ u : ℕ → γ, ∀ n, P (u n) (u '' Iio n) 
Arguments: {γ : Type u_1} {P : γ → Set γ → Prop} (h : ∀ (t : Set γ), t.Finite → ∃ c, P c t)
Goal: ∃ u, ∀ (n : ℕ), P (u n) (u '' Set.Iio n)
-- Set.empty_card
theorem empty_card : Fintype.card (∅ : Set α) = 0 
Arguments: {α : Type u}
Goal: Fintype.card ↑∅ = 0
-- Set.empty_card'
theorem empty_card' {h : Fintype.{u} (∅ : Set α)} : @Fintype.card (∅ : Set α) h = 0 
Arguments: {α : Type u} {h : Fintype ↑∅}
Goal: Fintype.card ↑∅ = 0
-- Set.card_fintypeInsertOfNotMem
theorem card_fintypeInsertOfNotMem {a : α} (s : Set α) [Fintype s] (h : a ∉ s) :
    @Fintype.card _ (fintypeInsertOfNotMem s h) = Fintype.card s + 1 
Arguments: {α : Type u} {a : α} (s : Set α) [Fintype ↑s] (h : a ∉ s)
Goal: Fintype.card ↑(insert a s) = Fintype.card ↑s + 1
-- Set.card_insert
@[simp]
theorem card_insert {a : α} (s : Set α) [Fintype s] (h : a ∉ s)
    {d : Fintype.{u} (insert a s : Set α)} : @Fintype.card _ d = Fintype.card s + 1 
Arguments: {α : Type u} {a : α} (s : Set α) [Fintype ↑s] (h : a ∉ s) {d : Fintype ↑(insert a s)}
Goal: Fintype.card ↑(insert a s) = Fintype.card ↑s + 1
-- Set.card_image_of_inj_on
theorem card_image_of_inj_on {s : Set α} [Fintype s] {f : α → β} [Fintype (f '' s)]
    (H : ∀ x ∈ s, ∀ y ∈ s, f x = f y → x = y) : Fintype.card (f '' s) = Fintype.card s 
Arguments: {α : Type u} {β : Type v} {s : Set α} [Fintype ↑s] {f : α → β} [Fintype ↑(f '' s)] (H : ∀ x ∈ s, ∀ y ∈ s, f x = f y → x = y)
Goal: Fintype.card ↑(f '' s) = Fintype.card ↑s
-- Set.card_image_of_injective
theorem card_image_of_injective (s : Set α) [Fintype s] {f : α → β} [Fintype (f '' s)]
    (H : Function.Injective f) : Fintype.card (f '' s) = Fintype.card s 
Arguments: {α : Type u} {β : Type v} (s : Set α) [Fintype ↑s] {f : α → β} [Fintype ↑(f '' s)] (H : Function.Injective f)
Goal: Fintype.card ↑(f '' s) = Fintype.card ↑s
-- Set.card_singleton
@[simp]
theorem card_singleton (a : α) : Fintype.card ({a} : Set α) = 1 
Arguments: {α : Type u} (a : α)
Goal: Fintype.card ↑{a} = 1
-- Set.card_lt_card
theorem card_lt_card {s t : Set α} [Fintype s] [Fintype t] (h : s ⊂ t) :
    Fintype.card s < Fintype.card t 
Arguments: {α : Type u} {s t : Set α} [Fintype ↑s] [Fintype ↑t] (h : s ⊂ t)
Goal: Fintype.card ↑s < Fintype.card ↑t
-- Set.card_le_card
theorem card_le_card {s t : Set α} [Fintype s] [Fintype t] (hsub : s ⊆ t) :
    Fintype.card s ≤ Fintype.card t 
Arguments: {α : Type u} {s t : Set α} [Fintype ↑s] [Fintype ↑t] (hsub : s ⊆ t)
Goal: Fintype.card ↑s ≤ Fintype.card ↑t
-- Set.eq_of_subset_of_card_le
theorem eq_of_subset_of_card_le {s t : Set α} [Fintype s] [Fintype t] (hsub : s ⊆ t)
    (hcard : Fintype.card t ≤ Fintype.card s) : s = t 
Arguments: {α : Type u} {s t : Set α} [Fintype ↑s] [Fintype ↑t] (hsub : s ⊆ t) (hcard : Fintype.card ↑t ≤ Fintype.card ↑s)
Goal: s = t
-- Set.card_range_of_injective
theorem card_range_of_injective [Fintype α] {f : α → β} (hf : Injective f) [Fintype (range f)] :
    Fintype.card (range f) = Fintype.card α 
Arguments: {α : Type u} {β : Type v} [Fintype α] {f : α → β} (hf : Function.Injective f) [Fintype ↑(Set.range f)]
Goal: Fintype.card ↑(Set.range f) = Fintype.card α
-- Set.Finite.card_toFinset
theorem Finite.card_toFinset {s : Set α} [Fintype s] (h : s.Finite) :
    h.toFinset.card = Fintype.card s 
Arguments: {α : Type u} {s : Set α} [Fintype ↑s] (h : s.Finite)
Goal: h.toFinset.card = Fintype.card ↑s
-- Set.card_ne_eq
theorem card_ne_eq [Fintype α] (a : α) [Fintype { x : α | x ≠ a }] :
    Fintype.card { x : α | x ≠ a } = Fintype.card α - 1 
Arguments: {α : Type u} [Fintype α] (a : α) [Fintype ↑{x | x ≠ a}]
Goal: Fintype.card ↑{x | x ≠ a} = Fintype.card α - 1
-- Set.infinite_univ_iff
theorem infinite_univ_iff : (@univ α).Infinite ↔ Infinite α 
Arguments: {α : Type u}
Goal: Set.univ.Infinite ↔ Infinite α
-- Set.infinite_univ
theorem infinite_univ [h : Infinite α] : (@univ α).Infinite 
Arguments: {α : Type u} [h : Infinite α]
Goal: Set.univ.Infinite
-- Set.infinite_coe_iff
theorem infinite_coe_iff {s : Set α} : Infinite s ↔ s.Infinite 
Arguments: {α : Type u} {s : Set α}
Goal: Infinite ↑s ↔ s.Infinite
-- Set.Infinite.exists_not_mem_finite
lemma Infinite.exists_not_mem_finite (hs : s.Infinite) (ht : t.Finite) : ∃ a, a ∈ s ∧ a ∉ t 
Arguments: {α : Type u} {s t : Set α} (hs : s.Infinite) (ht : t.Finite)
Goal: ∃ a ∈ s, a ∉ t
-- Set.Infinite.exists_not_mem_finset
lemma Infinite.exists_not_mem_finset (hs : s.Infinite) (t : Finset α) : ∃ a ∈ s, a ∉ t 
Arguments: {α : Type u} {s : Set α} (hs : s.Infinite) (t : Finset α)
Goal: ∃ a ∈ s, a ∉ t
-- Set.Finite.exists_not_mem
lemma Finite.exists_not_mem (hs : s.Finite) : ∃ a, a ∉ s 
Arguments: {α : Type u} {s : Set α} [Infinite α] (hs : s.Finite)
Goal: ∃ a, a ∉ s
-- Finset.exists_not_mem
lemma _root_.Finset.exists_not_mem (s : Finset α) : ∃ a, a ∉ s 
Arguments: {α : Type u} [Infinite α] (s : Finset α)
Goal: ∃ a, a ∉ s
-- Set.Infinite.exists_subset_card_eq
theorem Infinite.exists_subset_card_eq {s : Set α} (hs : s.Infinite) (n : ℕ) :
    ∃ t : Finset α, ↑t ⊆ s ∧ t.card = n 
Arguments: {α : Type u} {s : Set α} (hs : s.Infinite) (n : ℕ)
Goal: ∃ t, ↑t ⊆ s ∧ t.card = n
-- Set.infinite_of_finite_compl
theorem infinite_of_finite_compl [Infinite α] {s : Set α} (hs : sᶜ.Finite) : s.Infinite 
Arguments: {α : Type u} [Infinite α] {s : Set α} (hs : sᶜ.Finite)
Goal: s.Infinite
-- Set.Finite.infinite_compl
theorem Finite.infinite_compl [Infinite α] {s : Set α} (hs : s.Finite) : sᶜ.Infinite 
Arguments: {α : Type u} [Infinite α] {s : Set α} (hs : s.Finite)
Goal: sᶜ.Infinite
-- Set.Infinite.diff
theorem Infinite.diff {s t : Set α} (hs : s.Infinite) (ht : t.Finite) : (s \ t).Infinite 
Arguments: {α : Type u} {s t : Set α} (hs : s.Infinite) (ht : t.Finite)
Goal: (s \ t).Infinite
-- Set.infinite_union
@[simp]
theorem infinite_union {s t : Set α} : (s ∪ t).Infinite ↔ s.Infinite ∨ t.Infinite 
Arguments: {α : Type u} {s t : Set α}
Goal: (s ∪ t).Infinite ↔ s.Infinite ∨ t.Infinite
-- Set.Infinite.of_image
theorem Infinite.of_image (f : α → β) {s : Set α} (hs : (f '' s).Infinite) : s.Infinite 
Arguments: {α : Type u} {β : Type v} (f : α → β) {s : Set α} (hs : (f '' s).Infinite)
Goal: s.Infinite
-- Set.infinite_image_iff
theorem infinite_image_iff {s : Set α} {f : α → β} (hi : InjOn f s) :
    (f '' s).Infinite ↔ s.Infinite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {f : α → β} (hi : Set.InjOn f s)
Goal: (f '' s).Infinite ↔ s.Infinite
-- Set.infinite_range_iff
theorem infinite_range_iff {f : α → β} (hi : Injective f) :
    (range f).Infinite ↔ Infinite α 
Arguments: {α : Type u} {β : Type v} {f : α → β} (hi : Function.Injective f)
Goal: (Set.range f).Infinite ↔ Infinite α
-- Set.Infinite.image2_left
protected theorem Infinite.image2_left (hs : s.Infinite) (hb : b ∈ t)
    (hf : InjOn (fun a => f a b) s) : (image2 f s t).Infinite 
Arguments: {α : Type u} {β : Type v} {γ : Type x} {f : α → β → γ} {s : Set α} {t : Set β} {b : β} (hs : s.Infinite) (hb : b ∈ t) (hf : Set.InjOn (fun a => f a b) s)
Goal: (Set.image2 f s t).Infinite
-- Set.Infinite.image2_right
protected theorem Infinite.image2_right (ht : t.Infinite) (ha : a ∈ s) (hf : InjOn (f a) t) :
    (image2 f s t).Infinite 
Arguments: {α : Type u} {β : Type v} {γ : Type x} {f : α → β → γ} {s : Set α} {t : Set β} {a : α} (ht : t.Infinite) (ha : a ∈ s) (hf : Set.InjOn (f a) t)
Goal: (Set.image2 f s t).Infinite
-- Set.infinite_image2
theorem infinite_image2 (hfs : ∀ b ∈ t, InjOn (fun a => f a b) s) (hft : ∀ a ∈ s, InjOn (f a) t) :
    (image2 f s t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty 
Arguments: {α : Type u} {β : Type v} {γ : Type x} {f : α → β → γ} {s : Set α} {t : Set β} (hfs : ∀ b ∈ t, Set.InjOn (fun a => f a b) s) (hft : ∀ a ∈ s, Set.InjOn (f a) t)
Goal: (Set.image2 f s t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty
-- Set.finite_image2
lemma finite_image2 (hfs : ∀ b ∈ t, InjOn (f · b) s) (hft : ∀ a ∈ s, InjOn (f a) t) :
    (image2 f s t).Finite ↔ s.Finite ∧ t.Finite ∨ s = ∅ ∨ t = ∅ 
Arguments: {α : Type u} {β : Type v} {γ : Type x} {f : α → β → γ} {s : Set α} {t : Set β} (hfs : ∀ b ∈ t, Set.InjOn (fun x => f x b) s) (hft : ∀ a ∈ s, Set.InjOn (f a) t)
Goal: (Set.image2 f s t).Finite ↔ s.Finite ∧ t.Finite ∨ s = ∅ ∨ t = ∅
-- Set.infinite_of_injOn_mapsTo
theorem infinite_of_injOn_mapsTo {s : Set α} {t : Set β} {f : α → β} (hi : InjOn f s)
    (hm : MapsTo f s t) (hs : s.Infinite) : t.Infinite 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} {f : α → β} (hi : Set.InjOn f s) (hm : Set.MapsTo f s t) (hs : s.Infinite)
Goal: t.Infinite
-- Set.Infinite.exists_ne_map_eq_of_mapsTo
theorem Infinite.exists_ne_map_eq_of_mapsTo {s : Set α} {t : Set β} {f : α → β} (hs : s.Infinite)
    (hf : MapsTo f s t) (ht : t.Finite) : ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ f x = f y 
Arguments: {α : Type u} {β : Type v} {s : Set α} {t : Set β} {f : α → β} (hs : s.Infinite) (hf : Set.MapsTo f s t) (ht : t.Finite)
Goal: ∃ x ∈ s, ∃ y ∈ s, x ≠ y ∧ f x = f y
-- Set.infinite_range_of_injective
theorem infinite_range_of_injective [Infinite α] {f : α → β} (hi : Injective f) :
    (range f).Infinite 
Arguments: {α : Type u} {β : Type v} [Infinite α] {f : α → β} (hi : Function.Injective f)
Goal: (Set.range f).Infinite
-- Set.infinite_of_injective_forall_mem
theorem infinite_of_injective_forall_mem [Infinite α] {s : Set β} {f : α → β} (hi : Injective f)
    (hf : ∀ x : α, f x ∈ s) : s.Infinite 
Arguments: {α : Type u} {β : Type v} [Infinite α] {s : Set β} {f : α → β} (hi : Function.Injective f) (hf : ∀ (x : α), f x ∈ s)
Goal: s.Infinite
-- Set.not_injOn_infinite_finite_image
theorem not_injOn_infinite_finite_image {f : α → β} {s : Set α} (h_inf : s.Infinite)
    (h_fin : (f '' s).Finite) : ¬InjOn f s 
Arguments: {α : Type u} {β : Type v} {f : α → β} {s : Set α} (h_inf : s.Infinite) (h_fin : (f '' s).Finite)
Goal: ¬Set.InjOn f s
-- Set.infinite_of_forall_exists_gt
theorem infinite_of_forall_exists_gt (h : ∀ a, ∃ b ∈ s, a < b) : s.Infinite 
Arguments: {α : Type u} [Preorder α] [Nonempty α] {s : Set α} (h : ∀ (a : α), ∃ b ∈ s, a < b)
Goal: s.Infinite
-- Set.infinite_of_forall_exists_lt
theorem infinite_of_forall_exists_lt (h : ∀ a, ∃ b ∈ s, b < a) : s.Infinite 
Arguments: {α : Type u} [Preorder α] [Nonempty α] {s : Set α} (h : ∀ (a : α), ∃ b ∈ s, b < a)
Goal: s.Infinite
-- Set.finite_isTop
theorem finite_isTop (α : Type*) [PartialOrder α] : { x : α | IsTop x }.Finite 
Arguments: (α : Type u_1) [PartialOrder α]
Goal: {x | IsTop x}.Finite
-- Set.finite_isBot
theorem finite_isBot (α : Type*) [PartialOrder α] : { x : α | IsBot x }.Finite 
Arguments: (α : Type u_1) [PartialOrder α]
Goal: {x | IsBot x}.Finite
-- Set.Infinite.exists_lt_map_eq_of_mapsTo
theorem Infinite.exists_lt_map_eq_of_mapsTo [LinearOrder α] {s : Set α} {t : Set β} {f : α → β}
    (hs : s.Infinite) (hf : MapsTo f s t) (ht : t.Finite) : ∃ x ∈ s, ∃ y ∈ s, x < y ∧ f x = f y 
Arguments: {α : Type u} {β : Type v} [LinearOrder α] {s : Set α} {t : Set β} {f : α → β} (hs : s.Infinite) (hf : Set.MapsTo f s t) (ht : t.Finite)
Goal: ∃ x ∈ s, ∃ y ∈ s, x < y ∧ f x = f y
-- Set.Finite.exists_lt_map_eq_of_forall_mem
theorem Finite.exists_lt_map_eq_of_forall_mem [LinearOrder α] [Infinite α] {t : Set β} {f : α → β}
    (hf : ∀ a, f a ∈ t) (ht : t.Finite) : ∃ a b, a < b ∧ f a = f b 
Arguments: {α : Type u} {β : Type v} [LinearOrder α] [Infinite α] {t : Set β} {f : α → β} (hf : ∀ (a : α), f a ∈ t) (ht : t.Finite)
Goal: ∃ a b, a < b ∧ f a = f b
-- Set.exists_min_image
theorem exists_min_image [LinearOrder β] (s : Set α) (f : α → β) (h1 : s.Finite) :
    s.Nonempty → ∃ a ∈ s, ∀ b ∈ s, f a ≤ f b
  
Arguments: {α : Type u} {β : Type v} [LinearOrder β] (s : Set α) (f : α → β) (h1 : s.Finite)
Goal: s.Nonempty → ∃ a ∈ s, ∀ b ∈ s, f a ≤ f b
-- Set.exists_max_image
theorem exists_max_image [LinearOrder β] (s : Set α) (f : α → β) (h1 : s.Finite) :
    s.Nonempty → ∃ a ∈ s, ∀ b ∈ s, f b ≤ f a
  
Arguments: {α : Type u} {β : Type v} [LinearOrder β] (s : Set α) (f : α → β) (h1 : s.Finite)
Goal: s.Nonempty → ∃ a ∈ s, ∀ b ∈ s, f b ≤ f a
-- Set.exists_lower_bound_image
theorem exists_lower_bound_image [Nonempty α] [LinearOrder β] (s : Set α) (f : α → β)
    (h : s.Finite) : ∃ a : α, ∀ b ∈ s, f a ≤ f b 
Arguments: {α : Type u} {β : Type v} [Nonempty α] [LinearOrder β] (s : Set α) (f : α → β) (h : s.Finite)
Goal: ∃ a, ∀ b ∈ s, f a ≤ f b
-- Set.exists_upper_bound_image
theorem exists_upper_bound_image [Nonempty α] [LinearOrder β] (s : Set α) (f : α → β)
    (h : s.Finite) : ∃ a : α, ∀ b ∈ s, f b ≤ f a 
Arguments: {α : Type u} {β : Type v} [Nonempty α] [LinearOrder β] (s : Set α) (f : α → β) (h : s.Finite)
Goal: ∃ a, ∀ b ∈ s, f b ≤ f a
-- Set.Finite.iSup_biInf_of_monotone
theorem Finite.iSup_biInf_of_monotone {ι ι' α : Type*} [Preorder ι'] [Nonempty ι']
    [IsDirected ι' (· ≤ ·)] [Order.Frame α] {s : Set ι} (hs : s.Finite) {f : ι → ι' → α}
    (hf : ∀ i ∈ s, Monotone (f i)) : ⨆ j, ⨅ i ∈ s, f i j = ⨅ i ∈ s, ⨆ j, f i j 
Arguments: {ι : Type u_1} {ι' : Type u_2} {α : Type u_3} [Preorder ι'] [Nonempty ι'] [IsDirected ι' fun x x_1 => x ≤ x_1] [Order.Frame α] {s : Set ι} (hs : s.Finite) {f : ι → ι' → α} (hf : ∀ i ∈ s, Monotone (f i))
Goal: ⨆ j, ⨅ i ∈ s, f i j = ⨅ i ∈ s, ⨆ j, f i j
-- Set.Finite.iSup_biInf_of_antitone
theorem Finite.iSup_biInf_of_antitone {ι ι' α : Type*} [Preorder ι'] [Nonempty ι']
    [IsDirected ι' (swap (· ≤ ·))] [Order.Frame α] {s : Set ι} (hs : s.Finite) {f : ι → ι' → α}
    (hf : ∀ i ∈ s, Antitone (f i)) : ⨆ j, ⨅ i ∈ s, f i j = ⨅ i ∈ s, ⨆ j, f i j 
Arguments: {ι : Type u_1} {ι' : Type u_2} {α : Type u_3} [Preorder ι'] [Nonempty ι'] [IsDirected ι' (Function.swap fun x x_1 => x ≤ x_1)] [Order.Frame α] {s : Set ι} (hs : s.Finite) {f : ι → ι' → α} (hf : ∀ i ∈ s, Antitone (f i))
Goal: ⨆ j, ⨅ i ∈ s, f i j = ⨅ i ∈ s, ⨆ j, f i j