ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.covBy_iff_exists_erase
lemma covBy_iff_exists_erase : s ⋖ t ↔ ∃ a ∈ t, t.erase a = s 
Arguments: {α : Type u_1} {s t : Finset α} [DecidableEq α]
Goal: s ⋖ t ↔ ∃ a ∈ t, t.erase a = s
-- Finset.isAtom_singleton
@[simp] lemma isAtom_singleton (a : α) : IsAtom ({a} : Finset α) 
Arguments: {α : Type u_1} (a : α)
Goal: IsAtom {a}
-- Finset.isAtom_iff
protected lemma isAtom_iff : IsAtom s ↔ ∃ a, s = {a} 
Arguments: {α : Type u_1} {s : Finset α}
Goal: IsAtom s ↔ ∃ a, s = {a}
-- Finset.isCoatom_compl_singleton
lemma isCoatom_compl_singleton (a : α) : IsCoatom ({a}ᶜ : Finset α) 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] (a : α)
Goal: IsCoatom {a}ᶜ
-- Finset.isCoatom_iff
protected lemma isCoatom_iff : IsCoatom s ↔ ∃ a, s = {a}ᶜ 
Arguments: {α : Type u_1} {s : Finset α} [Fintype α] [DecidableEq α]
Goal: IsCoatom s ↔ ∃ a, s = {a}ᶜ
-- Finset.grade_multiset_eq
@[simp] lemma grade_multiset_eq (s : Finset α) : grade (Multiset α) s = s.1 
Arguments: {α : Type u_1} (s : Finset α)
Goal: grade (Multiset α) s = s.val
-- Finset.grade_eq
@[simp] lemma grade_eq (s : Finset α) : grade ℕ s = s.card 
Arguments: {α : Type u_1} (s : Finset α)
Goal: grade ℕ s = s.card
-- Finset.pairwiseDisjoint_range_singleton
theorem Finset.pairwiseDisjoint_range_singleton :
    (Set.range (singleton : α → Finset α)).PairwiseDisjoint id 
Arguments: {α : Type u_1}
Goal: (Set.range singleton).PairwiseDisjoint id
-- Set.PairwiseDisjoint.elim_finset
theorem PairwiseDisjoint.elim_finset {s : Set ι} {f : ι → Finset α} (hs : s.PairwiseDisjoint f)
    {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (a : α) (hai : a ∈ f i) (haj : a ∈ f j) : i = j 
Arguments: {α : Type u_1} {ι : Type u_2} {s : Set ι} {f : ι → Finset α} (hs : s.PairwiseDisjoint f) {i j : ι} (hi : i ∈ s) (hj : j ∈ s) (a : α) (hai : a ∈ f i) (haj : a ∈ f j)
Goal: i = j
-- Set.PairwiseDisjoint.image_finset_of_le
theorem PairwiseDisjoint.image_finset_of_le [DecidableEq ι] {s : Finset ι} {f : ι → α}
    (hs : (s : Set ι).PairwiseDisjoint f) {g : ι → ι} (hf : ∀ a, f (g a) ≤ f a) :
    (s.image g : Set ι).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_2} [SemilatticeInf α] [OrderBot α] [DecidableEq ι] {s : Finset ι} {f : ι → α} (hs : (↑s).PairwiseDisjoint f) {g : ι → ι} (hf : ∀ (a : ι), f (g a) ≤ f a)
Goal: (↑(Finset.image g s)).PairwiseDisjoint f
-- Set.PairwiseDisjoint.attach
theorem PairwiseDisjoint.attach (hs : (s : Set ι).PairwiseDisjoint f) :
    (s.attach : Set { x // x ∈ s }).PairwiseDisjoint (f ∘ Subtype.val) 
Arguments: {α : Type u_1} {ι : Type u_2} [SemilatticeInf α] [OrderBot α] {s : Finset ι} {f : ι → α} (hs : (↑s).PairwiseDisjoint f)
Goal: (↑s.attach).PairwiseDisjoint (f ∘ Subtype.val)
-- Set.PairwiseDisjoint.biUnion_finset
theorem PairwiseDisjoint.biUnion_finset {s : Set ι'} {g : ι' → Finset ι} {f : ι → α}
    (hs : s.PairwiseDisjoint fun i' : ι' => (g i').sup f)
    (hg : ∀ i ∈ s, (g i : Set ι).PairwiseDisjoint f) : (⋃ i ∈ s, ↑(g i)).PairwiseDisjoint f 
Arguments: {α : Type u_1} {ι : Type u_2} {ι' : Type u_3} [Lattice α] [OrderBot α] {s : Set ι'} {g : ι' → Finset ι} {f : ι → α} (hs : s.PairwiseDisjoint fun i' => (g i').sup f) (hg : ∀ i ∈ s, (↑(g i)).PairwiseDisjoint f)
Goal: (⋃ i ∈ s, ↑(g i)).PairwiseDisjoint f
-- List.pairwise_of_coe_toFinset_pairwise
theorem pairwise_of_coe_toFinset_pairwise (hl : (l.toFinset : Set α).Pairwise r) (hn : l.Nodup) :
    l.Pairwise r 
Arguments: {α : Type u_1} [DecidableEq α] {r : α → α → Prop} {l : List α} (hl : (↑l.toFinset).Pairwise r) (hn : l.Nodup)
Goal: List.Pairwise r l
-- List.pairwise_iff_coe_toFinset_pairwise
theorem pairwise_iff_coe_toFinset_pairwise (hn : l.Nodup) (hs : Symmetric r) :
    (l.toFinset : Set α).Pairwise r ↔ l.Pairwise r 
Arguments: {α : Type u_1} [DecidableEq α] {r : α → α → Prop} {l : List α} (hn : l.Nodup) (hs : Symmetric r)
Goal: (↑l.toFinset).Pairwise r ↔ List.Pairwise r l
-- List.pairwise_disjoint_of_coe_toFinset_pairwiseDisjoint
theorem pairwise_disjoint_of_coe_toFinset_pairwiseDisjoint {α ι} [SemilatticeInf α] [OrderBot α]
    [DecidableEq ι] {l : List ι} {f : ι → α} (hl : (l.toFinset : Set ι).PairwiseDisjoint f)
    (hn : l.Nodup) : l.Pairwise (_root_.Disjoint on f) 
Arguments: {α : Type u_5} {ι : Type u_6} [SemilatticeInf α] [OrderBot α] [DecidableEq ι] {l : List ι} {f : ι → α} (hl : (↑l.toFinset).PairwiseDisjoint f) (hn : l.Nodup)
Goal: List.Pairwise (Disjoint on f) l
-- List.pairwiseDisjoint_iff_coe_toFinset_pairwise_disjoint
theorem pairwiseDisjoint_iff_coe_toFinset_pairwise_disjoint {α ι} [SemilatticeInf α] [OrderBot α]
    [DecidableEq ι] {l : List ι} {f : ι → α} (hn : l.Nodup) :
    (l.toFinset : Set ι).PairwiseDisjoint f ↔ l.Pairwise (_root_.Disjoint on f) 
Arguments: {α : Type u_5} {ι : Type u_6} [SemilatticeInf α] [OrderBot α] [DecidableEq ι] {l : List ι} {f : ι → α} (hn : l.Nodup)
Goal: (↑l.toFinset).PairwiseDisjoint f ↔ List.Pairwise (Disjoint on f) l
-- Finset.mem_image₂
@[simp]
theorem mem_image₂ : c ∈ image₂ f s t ↔ ∃ a ∈ s, ∃ b ∈ t, f a b = c 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {c : γ}
Goal: c ∈ Finset.image₂ f s t ↔ ∃ a ∈ s, ∃ b ∈ t, f a b = c
-- Finset.coe_image₂
@[simp, norm_cast]
theorem coe_image₂ (f : α → β → γ) (s : Finset α) (t : Finset β) :
    (image₂ f s t : Set γ) = Set.image2 f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] (f : α → β → γ) (s : Finset α) (t : Finset β)
Goal: ↑(Finset.image₂ f s t) = Set.image2 f ↑s ↑t
-- Finset.card_image₂_le
theorem card_image₂_le (f : α → β → γ) (s : Finset α) (t : Finset β) :
    (image₂ f s t).card ≤ s.card * t.card 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] (f : α → β → γ) (s : Finset α) (t : Finset β)
Goal: (Finset.image₂ f s t).card ≤ s.card * t.card
-- Finset.card_image₂_iff
theorem card_image₂_iff :
    (image₂ f s t).card = s.card * t.card ↔ (s ×ˢ t : Set (α × β)).InjOn fun x => f x.1 x.2 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β}
Goal: (Finset.image₂ f s t).card = s.card * t.card ↔ Set.InjOn (fun x => f x.1 x.2) (↑s ×ˢ ↑t)
-- Finset.card_image₂
theorem card_image₂ (hf : Injective2 f) (s : Finset α) (t : Finset β) :
    (image₂ f s t).card = s.card * t.card 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} (hf : Function.Injective2 f) (s : Finset α) (t : Finset β)
Goal: (Finset.image₂ f s t).card = s.card * t.card
-- Finset.mem_image₂_of_mem
theorem mem_image₂_of_mem (ha : a ∈ s) (hb : b ∈ t) : f a b ∈ image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {a : α} {b : β} (ha : a ∈ s) (hb : b ∈ t)
Goal: f a b ∈ Finset.image₂ f s t
-- Finset.mem_image₂_iff
theorem mem_image₂_iff (hf : Injective2 f) : f a b ∈ image₂ f s t ↔ a ∈ s ∧ b ∈ t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {a : α} {b : β} (hf : Function.Injective2 f)
Goal: f a b ∈ Finset.image₂ f s t ↔ a ∈ s ∧ b ∈ t
-- Finset.image₂_subset
theorem image₂_subset (hs : s ⊆ s') (ht : t ⊆ t') : image₂ f s t ⊆ image₂ f s' t' 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s s' : Finset α} {t t' : Finset β} (hs : s ⊆ s') (ht : t ⊆ t')
Goal: Finset.image₂ f s t ⊆ Finset.image₂ f s' t'
-- Finset.image₂_subset_left
theorem image₂_subset_left (ht : t ⊆ t') : image₂ f s t ⊆ image₂ f s t' 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t t' : Finset β} (ht : t ⊆ t')
Goal: Finset.image₂ f s t ⊆ Finset.image₂ f s t'
-- Finset.image₂_subset_right
theorem image₂_subset_right (hs : s ⊆ s') : image₂ f s t ⊆ image₂ f s' t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s s' : Finset α} {t : Finset β} (hs : s ⊆ s')
Goal: Finset.image₂ f s t ⊆ Finset.image₂ f s' t
-- Finset.image_subset_image₂_left
theorem image_subset_image₂_left (hb : b ∈ t) : s.image (fun a => f a b) ⊆ image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {b : β} (hb : b ∈ t)
Goal: Finset.image (fun a => f a b) s ⊆ Finset.image₂ f s t
-- Finset.image_subset_image₂_right
theorem image_subset_image₂_right (ha : a ∈ s) : t.image (fun b => f a b) ⊆ image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {a : α} (ha : a ∈ s)
Goal: Finset.image (fun b => f a b) t ⊆ Finset.image₂ f s t
-- Finset.forall_image₂_iff
theorem forall_image₂_iff {p : γ → Prop} :
    (∀ z ∈ image₂ f s t, p z) ↔ ∀ x ∈ s, ∀ y ∈ t, p (f x y) 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {p : γ → Prop}
Goal: (∀ z ∈ Finset.image₂ f s t, p z) ↔ ∀ x ∈ s, ∀ y ∈ t, p (f x y)
-- Finset.image₂_subset_iff
@[simp]
theorem image₂_subset_iff : image₂ f s t ⊆ u ↔ ∀ x ∈ s, ∀ y ∈ t, f x y ∈ u 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {u : Finset γ}
Goal: Finset.image₂ f s t ⊆ u ↔ ∀ x ∈ s, ∀ y ∈ t, f x y ∈ u
-- Finset.image₂_subset_iff_left
theorem image₂_subset_iff_left : image₂ f s t ⊆ u ↔ ∀ a ∈ s, (t.image fun b => f a b) ⊆ u 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {u : Finset γ}
Goal: Finset.image₂ f s t ⊆ u ↔ ∀ a ∈ s, Finset.image (fun b => f a b) t ⊆ u
-- Finset.image₂_subset_iff_right
theorem image₂_subset_iff_right : image₂ f s t ⊆ u ↔ ∀ b ∈ t, (s.image fun a => f a b) ⊆ u 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {u : Finset γ}
Goal: Finset.image₂ f s t ⊆ u ↔ ∀ b ∈ t, Finset.image (fun a => f a b) s ⊆ u
-- Finset.image₂_nonempty_iff
@[simp, aesop safe apply (rule_sets := [finsetNonempty])]
theorem image₂_nonempty_iff : (image₂ f s t).Nonempty ↔ s.Nonempty ∧ t.Nonempty 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β}
Goal: (Finset.image₂ f s t).Nonempty ↔ s.Nonempty ∧ t.Nonempty
-- Finset.Nonempty.image₂
theorem Nonempty.image₂ (hs : s.Nonempty) (ht : t.Nonempty) : (image₂ f s t).Nonempty 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} (hs : s.Nonempty) (ht : t.Nonempty)
Goal: (Finset.image₂ f s t).Nonempty
-- Finset.Nonempty.of_image₂_left
theorem Nonempty.of_image₂_left (h : (s.image₂ f t).Nonempty) : s.Nonempty 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} (h : (Finset.image₂ f s t).Nonempty)
Goal: s.Nonempty
-- Finset.Nonempty.of_image₂_right
theorem Nonempty.of_image₂_right (h : (s.image₂ f t).Nonempty) : t.Nonempty 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} (h : (Finset.image₂ f s t).Nonempty)
Goal: t.Nonempty
-- Finset.image₂_empty_left
@[simp]
theorem image₂_empty_left : image₂ f ∅ t = ∅ 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {t : Finset β}
Goal: Finset.image₂ f ∅ t = ∅
-- Finset.image₂_empty_right
@[simp]
theorem image₂_empty_right : image₂ f s ∅ = ∅ 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α}
Goal: Finset.image₂ f s ∅ = ∅
-- Finset.image₂_eq_empty_iff
@[simp]
theorem image₂_eq_empty_iff : image₂ f s t = ∅ ↔ s = ∅ ∨ t = ∅ 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β}
Goal: Finset.image₂ f s t = ∅ ↔ s = ∅ ∨ t = ∅
-- Finset.image₂_singleton_left
@[simp]
theorem image₂_singleton_left : image₂ f {a} t = t.image fun b => f a b 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {t : Finset β} {a : α}
Goal: Finset.image₂ f {a} t = Finset.image (fun b => f a b) t
-- Finset.image₂_singleton_right
@[simp]
theorem image₂_singleton_right : image₂ f s {b} = s.image fun a => f a b 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {b : β}
Goal: Finset.image₂ f s {b} = Finset.image (fun a => f a b) s
-- Finset.image₂_singleton_left'
theorem image₂_singleton_left' : image₂ f {a} t = t.image (f a) 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {t : Finset β} {a : α}
Goal: Finset.image₂ f {a} t = Finset.image (f a) t
-- Finset.image₂_singleton
theorem image₂_singleton : image₂ f {a} {b} = {f a b} 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {a : α} {b : β}
Goal: Finset.image₂ f {a} {b} = {f a b}
-- Finset.image₂_union_left
theorem image₂_union_left [DecidableEq α] : image₂ f (s ∪ s') t = image₂ f s t ∪ image₂ f s' t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s s' : Finset α} {t : Finset β} [DecidableEq α]
Goal: Finset.image₂ f (s ∪ s') t = Finset.image₂ f s t ∪ Finset.image₂ f s' t
-- Finset.image₂_union_right
theorem image₂_union_right [DecidableEq β] : image₂ f s (t ∪ t') = image₂ f s t ∪ image₂ f s t' 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t t' : Finset β} [DecidableEq β]
Goal: Finset.image₂ f s (t ∪ t') = Finset.image₂ f s t ∪ Finset.image₂ f s t'
-- Finset.image₂_insert_left
@[simp]
theorem image₂_insert_left [DecidableEq α] :
    image₂ f (insert a s) t = (t.image fun b => f a b) ∪ image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {a : α} [DecidableEq α]
Goal: Finset.image₂ f (insert a s) t = Finset.image (fun b => f a b) t ∪ Finset.image₂ f s t
-- Finset.image₂_insert_right
@[simp]
theorem image₂_insert_right [DecidableEq β] :
    image₂ f s (insert b t) = (s.image fun a => f a b) ∪ image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {b : β} [DecidableEq β]
Goal: Finset.image₂ f s (insert b t) = Finset.image (fun a => f a b) s ∪ Finset.image₂ f s t
-- Finset.image₂_inter_left
theorem image₂_inter_left [DecidableEq α] (hf : Injective2 f) :
    image₂ f (s ∩ s') t = image₂ f s t ∩ image₂ f s' t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s s' : Finset α} {t : Finset β} [DecidableEq α] (hf : Function.Injective2 f)
Goal: Finset.image₂ f (s ∩ s') t = Finset.image₂ f s t ∩ Finset.image₂ f s' t
-- Finset.image₂_inter_right
theorem image₂_inter_right [DecidableEq β] (hf : Injective2 f) :
    image₂ f s (t ∩ t') = image₂ f s t ∩ image₂ f s t' 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t t' : Finset β} [DecidableEq β] (hf : Function.Injective2 f)
Goal: Finset.image₂ f s (t ∩ t') = Finset.image₂ f s t ∩ Finset.image₂ f s t'
-- Finset.image₂_inter_subset_left
theorem image₂_inter_subset_left [DecidableEq α] :
    image₂ f (s ∩ s') t ⊆ image₂ f s t ∩ image₂ f s' t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s s' : Finset α} {t : Finset β} [DecidableEq α]
Goal: Finset.image₂ f (s ∩ s') t ⊆ Finset.image₂ f s t ∩ Finset.image₂ f s' t
-- Finset.image₂_inter_subset_right
theorem image₂_inter_subset_right [DecidableEq β] :
    image₂ f s (t ∩ t') ⊆ image₂ f s t ∩ image₂ f s t' 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t t' : Finset β} [DecidableEq β]
Goal: Finset.image₂ f s (t ∩ t') ⊆ Finset.image₂ f s t ∩ Finset.image₂ f s t'
-- Finset.image₂_congr
theorem image₂_congr (h : ∀ a ∈ s, ∀ b ∈ t, f a b = f' a b) : image₂ f s t = image₂ f' s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f f' : α → β → γ} {s : Finset α} {t : Finset β} (h : ∀ a ∈ s, ∀ b ∈ t, f a b = f' a b)
Goal: Finset.image₂ f s t = Finset.image₂ f' s t
-- Finset.image₂_congr'
theorem image₂_congr' (h : ∀ a b, f a b = f' a b) : image₂ f s t = image₂ f' s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f f' : α → β → γ} {s : Finset α} {t : Finset β} (h : ∀ (a : α) (b : β), f a b = f' a b)
Goal: Finset.image₂ f s t = Finset.image₂ f' s t
-- Finset.card_image₂_singleton_left
theorem card_image₂_singleton_left (hf : Injective (f a)) : (image₂ f {a} t).card = t.card 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} (t : Finset β) {a : α} (hf : Function.Injective (f a))
Goal: (Finset.image₂ f {a} t).card = t.card
-- Finset.card_image₂_singleton_right
theorem card_image₂_singleton_right (hf : Injective fun a => f a b) :
    (image₂ f s {b}).card = s.card 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} (s : Finset α) {b : β} (hf : Function.Injective fun a => f a b)
Goal: (Finset.image₂ f s {b}).card = s.card
-- Finset.image₂_singleton_inter
theorem image₂_singleton_inter [DecidableEq β] (t₁ t₂ : Finset β) (hf : Injective (f a)) :
    image₂ f {a} (t₁ ∩ t₂) = image₂ f {a} t₁ ∩ image₂ f {a} t₂ 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {a : α} [DecidableEq β] (t₁ t₂ : Finset β) (hf : Function.Injective (f a))
Goal: Finset.image₂ f {a} (t₁ ∩ t₂) = Finset.image₂ f {a} t₁ ∩ Finset.image₂ f {a} t₂
-- Finset.image₂_inter_singleton
theorem image₂_inter_singleton [DecidableEq α] (s₁ s₂ : Finset α) (hf : Injective fun a => f a b) :
    image₂ f (s₁ ∩ s₂) {b} = image₂ f s₁ {b} ∩ image₂ f s₂ {b} 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {b : β} [DecidableEq α] (s₁ s₂ : Finset α) (hf : Function.Injective fun a => f a b)
Goal: Finset.image₂ f (s₁ ∩ s₂) {b} = Finset.image₂ f s₁ {b} ∩ Finset.image₂ f s₂ {b}
-- Finset.card_le_card_image₂_left
theorem card_le_card_image₂_left {s : Finset α} (hs : s.Nonempty) (hf : ∀ a, Injective (f a)) :
    t.card ≤ (image₂ f s t).card 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} (t : Finset β) {s : Finset α} (hs : s.Nonempty) (hf : ∀ (a : α), Function.Injective (f a))
Goal: t.card ≤ (Finset.image₂ f s t).card
-- Finset.card_le_card_image₂_right
theorem card_le_card_image₂_right {t : Finset β} (ht : t.Nonempty)
    (hf : ∀ b, Injective fun a => f a b) : s.card ≤ (image₂ f s t).card 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} (s : Finset α) {t : Finset β} (ht : t.Nonempty) (hf : ∀ (b : β), Function.Injective fun a => f a b)
Goal: s.card ≤ (Finset.image₂ f s t).card
-- Finset.biUnion_image_left
theorem biUnion_image_left : (s.biUnion fun a => t.image <| f a) = image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β}
Goal: (s.biUnion fun a => Finset.image (f a) t) = Finset.image₂ f s t
-- Finset.biUnion_image_right
theorem biUnion_image_right : (t.biUnion fun b => s.image fun a => f a b) = image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β}
Goal: (t.biUnion fun b => Finset.image (fun a => f a b) s) = Finset.image₂ f s t
-- Finset.image_image₂
theorem image_image₂ (f : α → β → γ) (g : γ → δ) :
    (image₂ f s t).image g = image₂ (fun a b => g (f a b)) s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} {δ : Type u_7} [DecidableEq γ] [DecidableEq δ] {s : Finset α} {t : Finset β} (f : α → β → γ) (g : γ → δ)
Goal: Finset.image g (Finset.image₂ f s t) = Finset.image₂ (fun a b => g (f a b)) s t
-- Finset.image₂_image_left
theorem image₂_image_left (f : γ → β → δ) (g : α → γ) :
    image₂ f (s.image g) t = image₂ (fun a b => f (g a) b) s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} {δ : Type u_7} [DecidableEq γ] [DecidableEq δ] {s : Finset α} {t : Finset β} (f : γ → β → δ) (g : α → γ)
Goal: Finset.image₂ f (Finset.image g s) t = Finset.image₂ (fun a b => f (g a) b) s t
-- Finset.image₂_image_right
theorem image₂_image_right (f : α → γ → δ) (g : β → γ) :
    image₂ f s (t.image g) = image₂ (fun a b => f a (g b)) s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} {δ : Type u_7} [DecidableEq γ] [DecidableEq δ] {s : Finset α} {t : Finset β} (f : α → γ → δ) (g : β → γ)
Goal: Finset.image₂ f s (Finset.image g t) = Finset.image₂ (fun a b => f a (g b)) s t
-- Finset.image₂_mk_eq_product
@[simp]
theorem image₂_mk_eq_product [DecidableEq α] [DecidableEq β] (s : Finset α) (t : Finset β) :
    image₂ Prod.mk s t = s ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_3} [DecidableEq α] [DecidableEq β] (s : Finset α) (t : Finset β)
Goal: Finset.image₂ Prod.mk s t = s ×ˢ t
-- Finset.image₂_curry
@[simp]
theorem image₂_curry (f : α × β → γ) (s : Finset α) (t : Finset β) :
    image₂ (curry f) s t = (s ×ˢ t).image f 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] (f : α × β → γ) (s : Finset α) (t : Finset β)
Goal: Finset.image₂ (Function.curry f) s t = Finset.image f (s ×ˢ t)
-- Finset.image_uncurry_product
@[simp]
theorem image_uncurry_product (f : α → β → γ) (s : Finset α) (t : Finset β) :
    (s ×ˢ t).image (uncurry f) = image₂ f s t 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] (f : α → β → γ) (s : Finset α) (t : Finset β)
Goal: Finset.image (Function.uncurry f) (s ×ˢ t) = Finset.image₂ f s t
-- Finset.image₂_swap
theorem image₂_swap (f : α → β → γ) (s : Finset α) (t : Finset β) :
    image₂ f s t = image₂ (fun a b => f b a) t s 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] (f : α → β → γ) (s : Finset α) (t : Finset β)
Goal: Finset.image₂ f s t = Finset.image₂ (fun a b => f b a) t s
-- Finset.image₂_left
@[simp]
theorem image₂_left [DecidableEq α] (h : t.Nonempty) : image₂ (fun x _ => x) s t = s 
Arguments: {α : Type u_1} {β : Type u_3} {s : Finset α} {t : Finset β} [DecidableEq α] (h : t.Nonempty)
Goal: Finset.image₂ (fun x x_1 => x) s t = s
-- Finset.image₂_right
@[simp]
theorem image₂_right [DecidableEq β] (h : s.Nonempty) : image₂ (fun _ y => y) s t = t 
Arguments: {α : Type u_1} {β : Type u_3} {s : Finset α} {t : Finset β} [DecidableEq β] (h : s.Nonempty)
Goal: Finset.image₂ (fun x y => y) s t = t
-- Finset.image₂_assoc
theorem image₂_assoc {γ : Type*} {u : Finset γ} {f : δ → γ → ε} {g : α → β → δ} {f' : α → ε' → ε}
    {g' : β → γ → ε'} (h_assoc : ∀ a b c, f (g a b) c = f' a (g' b c)) :
    image₂ f (image₂ g s t) u = image₂ f' s (image₂ g' t u) 
Arguments: {α : Type u_1} {β : Type u_3} {δ : Type u_7} {ε : Type u_9} {ε' : Type u_10} [DecidableEq δ] [DecidableEq ε] [DecidableEq ε'] {s : Finset α} {t : Finset β} {γ : Type u_14} {u : Finset γ} {f : δ → γ → ε} {g : α → β → δ} {f' : α → ε' → ε} {g' : β → γ → ε'} (h_assoc : ∀ (a : α) (b : β) (c : γ), f (g a b) c = f' a (g' b c))
Goal: Finset.image₂ f (Finset.image₂ g s t) u = Finset.image₂ f' s (Finset.image₂ g' t u)
-- Finset.image₂_comm
theorem image₂_comm {g : β → α → γ} (h_comm : ∀ a b, f a b = g b a) : image₂ f s t = image₂ g t s 
Arguments: {α : Type u_1} {β : Type u_3} {γ : Type u_5} [DecidableEq γ] {f : α → β → γ} {s : Finset α} {t : Finset β} {g : β → α → γ} (h_comm : ∀ (a : α) (b : β), f a b = g b a)
Goal: Finset.image₂ f s t = Finset.image₂ g t s
-- Finset.image₂_left_comm
theorem image₂_left_comm {γ : Type*} {u : Finset γ} {f : α → δ → ε} {g : β → γ → δ}
    {f' : α → γ → δ'} {g' : β → δ' → ε} (h_left_comm : ∀ a b c, f a (g b c) = g' b (f' a c)) :
    image₂ f s (image₂ g t u) = image₂ g' t (image₂ f' s u) 
Arguments: {α : Type u_1} {β : Type u_3} {δ : Type u_7} {δ' : Type u_8} {ε : Type u_9} [DecidableEq δ] [DecidableEq δ'] [DecidableEq ε] {s : Finset α} {t : Finset β} {γ : Type u_14} {u : Finset γ} {f : α → δ → ε} {g : β → γ → δ} {f' : α → γ → δ'} {g' : β → δ' → ε} (h_left_comm : ∀ (a : α) (b : β) (c : γ), f a (g b c) = g' b (f' a c))
Goal: Finset.image₂ f s (Finset.image₂ g t u) = Finset.image₂ g' t (Finset.image₂ f' s u)