ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.map_inj
@[simp]
theorem map_inj {s₁ s₂ : Finset α} : s₁.map f = s₂.map f ↔ s₁ = s₂ 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} {s₁ s₂ : Finset α}
Goal: Finset.map f s₁ = Finset.map f s₂ ↔ s₁ = s₂
-- Finset.map_injective
theorem map_injective (f : α ↪ β) : Injective (map f) 
Arguments: {α : Type u_1} {β : Type u_2} (f : α ↪ β)
Goal: Function.Injective (Finset.map f)
-- Finset.map_ssubset_map
@[simp]
theorem map_ssubset_map {s t : Finset α} : s.map f ⊂ t.map f ↔ s ⊂ t 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} {s t : Finset α}
Goal: Finset.map f s ⊂ Finset.map f t ↔ s ⊂ t
-- Finset.mapEmbedding_apply
@[simp]
theorem mapEmbedding_apply : mapEmbedding f s = map f s 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} {s : Finset α}
Goal: (Finset.mapEmbedding f) s = Finset.map f s
-- Finset.filter_map
theorem filter_map {p : β → Prop} [DecidablePred p] :
    (s.map f).filter p = (s.filter (p ∘ f)).map f 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} {s : Finset α} {p : β → Prop} [DecidablePred p]
Goal: Finset.filter p (Finset.map f s) = Finset.map f (Finset.filter (p ∘ ⇑f) s)
-- Finset.map_filter'
lemma map_filter' (p : α → Prop) [DecidablePred p] (f : α ↪ β) (s : Finset α)
    [DecidablePred (∃ a, p a ∧ f a = ·)] :
    (s.filter p).map f = (s.map f).filter fun b => ∃ a, p a ∧ f a = b 
Arguments: {α : Type u_1} {β : Type u_2} (p : α → Prop) [DecidablePred p] (f : α ↪ β) (s : Finset α) [DecidablePred fun x => ∃ a, p a ∧ f a = x]
Goal: Finset.map f (Finset.filter p s) = Finset.filter (fun b => ∃ a, p a ∧ f a = b) (Finset.map f s)
-- Finset.filter_attach'
lemma filter_attach' [DecidableEq α] (s : Finset α) (p : s → Prop) [DecidablePred p] :
    s.attach.filter p =
      (s.filter fun x => ∃ h, p ⟨x, h⟩).attach.map
        ⟨Subtype.map id <| filter_subset _ _, Subtype.map_injective _ injective_id⟩ 
Arguments: {α : Type u_1} [DecidableEq α] (s : Finset α) (p : { x // x ∈ s } → Prop) [DecidablePred p]
Goal: Finset.filter p s.attach =
  Finset.map { toFun := Subtype.map id ⋯, inj' := ⋯ } (Finset.filter (fun x => ∃ (h : x ∈ s), p ⟨x, h⟩) s).attach
-- Finset.filter_attach
lemma filter_attach (p : α → Prop) [DecidablePred p] (s : Finset α) :
    s.attach.filter (fun a : s ↦ p a) =
      (s.filter p).attach.map ((Embedding.refl _).subtypeMap mem_of_mem_filter) 
Arguments: {α : Type u_1} (p : α → Prop) [DecidablePred p] (s : Finset α)
Goal: Finset.filter (fun a => p ↑a) s.attach =
  Finset.map ((Function.Embedding.refl α).subtypeMap ⋯) (Finset.filter p s).attach
-- Finset.map_filter
theorem map_filter {f : α ≃ β} {p : α → Prop} [DecidablePred p] :
    (s.filter p).map f.toEmbedding = (s.map f.toEmbedding).filter (p ∘ f.symm) 
Arguments: {α : Type u_1} {β : Type u_2} {s : Finset α} {f : α ≃ β} {p : α → Prop} [DecidablePred p]
Goal: Finset.map f.toEmbedding (Finset.filter p s) = Finset.filter (p ∘ ⇑f.symm) (Finset.map f.toEmbedding s)
-- Finset.disjoint_map
@[simp]
theorem disjoint_map {s t : Finset α} (f : α ↪ β) :
    Disjoint (s.map f) (t.map f) ↔ Disjoint s t 
Arguments: {α : Type u_1} {β : Type u_2} {s t : Finset α} (f : α ↪ β)
Goal: Disjoint (Finset.map f s) (Finset.map f t) ↔ Disjoint s t
-- Finset.map_disjUnion
theorem map_disjUnion {f : α ↪ β} (s₁ s₂ : Finset α) (h) (h' := (disjoint_map _).mpr h) :
    (s₁.disjUnion s₂ h).map f = (s₁.map f).disjUnion (s₂.map f) h' 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} (s₁ s₂ : Finset α) (h : Disjoint s₁ s₂) (h' : Disjoint (Finset.map f s₁) (Finset.map f s₂) := ⋯)
Goal: Finset.map f (s₁.disjUnion s₂ h) = (Finset.map f s₁).disjUnion (Finset.map f s₂) h'
-- Finset.map_disjUnion'
theorem map_disjUnion' {f : α ↪ β} (s₁ s₂ : Finset α) (h') (h := (disjoint_map _).mp h') :
    (s₁.disjUnion s₂ h).map f = (s₁.map f).disjUnion (s₂.map f) h' 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} (s₁ s₂ : Finset α) (h' : Disjoint (Finset.map f s₁) (Finset.map f s₂)) (h : Disjoint s₁ s₂ := ⋯)
Goal: Finset.map f (s₁.disjUnion s₂ h) = (Finset.map f s₁).disjUnion (Finset.map f s₂) h'
-- Finset.map_union
theorem map_union [DecidableEq α] [DecidableEq β] {f : α ↪ β} (s₁ s₂ : Finset α) :
    (s₁ ∪ s₂).map f = s₁.map f ∪ s₂.map f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] {f : α ↪ β} (s₁ s₂ : Finset α)
Goal: Finset.map f (s₁ ∪ s₂) = Finset.map f s₁ ∪ Finset.map f s₂
-- Finset.map_inter
theorem map_inter [DecidableEq α] [DecidableEq β] {f : α ↪ β} (s₁ s₂ : Finset α) :
    (s₁ ∩ s₂).map f = s₁.map f ∩ s₂.map f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] {f : α ↪ β} (s₁ s₂ : Finset α)
Goal: Finset.map f (s₁ ∩ s₂) = Finset.map f s₁ ∩ Finset.map f s₂
-- Finset.map_singleton
@[simp]
theorem map_singleton (f : α ↪ β) (a : α) : map f {a} = {f a} 
Arguments: {α : Type u_1} {β : Type u_2} (f : α ↪ β) (a : α)
Goal: Finset.map f {a} = {f a}
-- Finset.map_insert
@[simp]
theorem map_insert [DecidableEq α] [DecidableEq β] (f : α ↪ β) (a : α) (s : Finset α) :
    (insert a s).map f = insert (f a) (s.map f) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] (f : α ↪ β) (a : α) (s : Finset α)
Goal: Finset.map f (insert a s) = insert (f a) (Finset.map f s)
-- Finset.map_cons
@[simp]
theorem map_cons (f : α ↪ β) (a : α) (s : Finset α) (ha : a ∉ s) :
    (cons a s ha).map f = cons (f a) (s.map f) (by simpa using ha) 
Arguments: {α : Type u_1} {β : Type u_2} (f : α ↪ β) (a : α) (s : Finset α) (ha : a ∉ s)
Goal: Finset.map f (Finset.cons a s ha) = Finset.cons (f a) (Finset.map f s) ⋯
-- Finset.map_eq_empty
@[simp]
theorem map_eq_empty : s.map f = ∅ ↔ s = ∅ 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} {s : Finset α}
Goal: Finset.map f s = ∅ ↔ s = ∅
-- Finset.map_nonempty
@[simp, aesop safe apply (rule_sets := [finsetNonempty])]
theorem map_nonempty : (s.map f).Nonempty ↔ s.Nonempty 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} {s : Finset α}
Goal: (Finset.map f s).Nonempty ↔ s.Nonempty
-- Finset.map_nontrivial
@[simp]
theorem map_nontrivial : (s.map f).Nontrivial ↔ s.Nontrivial 
Arguments: {α : Type u_1} {β : Type u_2} {f : α ↪ β} {s : Finset α}
Goal: (Finset.map f s).Nontrivial ↔ s.Nontrivial
-- Finset.attach_map_val
theorem attach_map_val {s : Finset α} : s.attach.map (Embedding.subtype _) = s 
Arguments: {α : Type u_1} {s : Finset α}
Goal: Finset.map (Function.Embedding.subtype fun x => x ∈ s) s.attach = s
-- Finset.disjoint_range_addLeftEmbedding
theorem disjoint_range_addLeftEmbedding (a b : ℕ) :
    Disjoint (range a) (map (addLeftEmbedding a) (range b)) 
Arguments: (a b : ℕ)
Goal: Disjoint (Finset.range a) (Finset.map (addLeftEmbedding a) (Finset.range b))
-- Finset.disjoint_range_addRightEmbedding
theorem disjoint_range_addRightEmbedding (a b : ℕ) :
    Disjoint (range a) (map (addRightEmbedding a) (range b)) 
Arguments: (a b : ℕ)
Goal: Disjoint (Finset.range a) (Finset.map (addRightEmbedding a) (Finset.range b))
-- Finset.map_disjiUnion
theorem map_disjiUnion {f : α ↪ β} {s : Finset α} {t : β → Finset γ} {h} :
    (s.map f).disjiUnion t h =
      s.disjiUnion (fun a => t (f a)) fun _ ha _ hb hab =>
        h (mem_map_of_mem _ ha) (mem_map_of_mem _ hb) (f.injective.ne hab) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : α ↪ β} {s : Finset α} {t : β → Finset γ} {h : (↑(Finset.map f s)).PairwiseDisjoint t}
Goal: (Finset.map f s).disjiUnion t h = s.disjiUnion (fun a => t (f a)) ⋯
-- Finset.disjiUnion_map
theorem disjiUnion_map {s : Finset α} {t : α → Finset β} {f : β ↪ γ} {h} :
    (s.disjiUnion t h).map f =
      s.disjiUnion (fun a => (t a).map f) (h.mono' fun _ _ ↦ (disjoint_map _).2) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {s : Finset α} {t : α → Finset β} {f : β ↪ γ} {h : (↑s).PairwiseDisjoint t}
Goal: Finset.map f (s.disjiUnion t h) = s.disjiUnion (fun a => Finset.map f (t a)) ⋯
-- Finset.range_add_one'
theorem range_add_one' (n : ℕ) :
    range (n + 1) = insert 0 ((range n).map ⟨fun i => i + 1, fun i j => by simp⟩) 
Arguments: (n : ℕ)
Goal: Finset.range (n + 1) = insert 0 (Finset.map { toFun := fun i => i + 1, inj' := ⋯ } (Finset.range n))
-- Finset.image_val
@[simp]
theorem image_val (f : α → β) (s : Finset α) : (image f s).1 = (s.1.map f).dedup 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] (f : α → β) (s : Finset α)
Goal: (Finset.image f s).val = (Multiset.map f s.val).dedup
-- Finset.image_empty
@[simp]
theorem image_empty (f : α → β) : (∅ : Finset α).image f = ∅ 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] (f : α → β)
Goal: Finset.image f ∅ = ∅
-- Finset.mem_image
@[simp]
theorem mem_image : b ∈ s.image f ↔ ∃ a ∈ s, f a = b 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α} {b : β}
Goal: b ∈ Finset.image f s ↔ ∃ a ∈ s, f a = b
-- Finset.mem_image_of_mem
theorem mem_image_of_mem (f : α → β) {a} (h : a ∈ s) : f a ∈ s.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s : Finset α} (f : α → β) {a : α} (h : a ∈ s)
Goal: f a ∈ Finset.image f s
-- Finset.forall_image
theorem forall_image {p : β → Prop} : (∀ b ∈ s.image f, p b) ↔ ∀ a ∈ s, p (f a) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α} {p : β → Prop}
Goal: (∀ b ∈ Finset.image f s, p b) ↔ ∀ a ∈ s, p (f a)
-- Finset.map_eq_image
theorem map_eq_image (f : α ↪ β) (s : Finset α) : s.map f = s.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] (f : α ↪ β) (s : Finset α)
Goal: Finset.map f s = Finset.image (⇑f) s
-- Finset.mem_image_const
theorem mem_image_const : c ∈ s.image (const α b) ↔ s.Nonempty ∧ b = c 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s : Finset α} {b c : β}
Goal: c ∈ Finset.image (Function.const α b) s ↔ s.Nonempty ∧ b = c
-- Finset.mem_image_const_self
theorem mem_image_const_self : b ∈ s.image (const α b) ↔ s.Nonempty 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s : Finset α} {b : β}
Goal: b ∈ Finset.image (Function.const α b) s ↔ s.Nonempty
-- Finset.image_congr
theorem image_congr (h : (s : Set α).EqOn f g) : Finset.image f s = Finset.image g s 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f g : α → β} {s : Finset α} (h : Set.EqOn f g ↑s)
Goal: Finset.image f s = Finset.image g s
-- Function.Injective.mem_finset_image
theorem _root_.Function.Injective.mem_finset_image (hf : Injective f) :
    f a ∈ s.image f ↔ a ∈ s 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α} {a : α} (hf : Function.Injective f)
Goal: f a ∈ Finset.image f s ↔ a ∈ s
-- Finset.filter_mem_image_eq_image
theorem filter_mem_image_eq_image (f : α → β) (s : Finset α) (t : Finset β) (h : ∀ x ∈ s, f x ∈ t) :
    (t.filter fun y => y ∈ s.image f) = s.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] (f : α → β) (s : Finset α) (t : Finset β) (h : ∀ x ∈ s, f x ∈ t)
Goal: Finset.filter (fun y => y ∈ Finset.image f s) t = Finset.image f s
-- Finset.fiber_nonempty_iff_mem_image
theorem fiber_nonempty_iff_mem_image (f : α → β) (s : Finset α) (y : β) :
    (s.filter fun x => f x = y).Nonempty ↔ y ∈ s.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] (f : α → β) (s : Finset α) (y : β)
Goal: (Finset.filter (fun x => f x = y) s).Nonempty ↔ y ∈ Finset.image f s
-- Finset.coe_image
@[simp, norm_cast]
theorem coe_image : ↑(s.image f) = f '' ↑s 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α}
Goal: ↑(Finset.image f s) = f '' ↑s
-- Finset.image_nonempty
@[simp, aesop safe apply (rule_sets := [finsetNonempty])]
lemma image_nonempty : (s.image f).Nonempty ↔ s.Nonempty 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α}
Goal: (Finset.image f s).Nonempty ↔ s.Nonempty
-- Finset.Nonempty.image
protected theorem Nonempty.image (h : s.Nonempty) (f : α → β) : (s.image f).Nonempty 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s : Finset α} (h : s.Nonempty) (f : α → β)
Goal: (Finset.image f s).Nonempty
-- Finset.Nonempty.image_iff
@[deprecated image_nonempty (since := "2023-12-29")]
theorem Nonempty.image_iff (f : α → β) : (s.image f).Nonempty ↔ s.Nonempty 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s : Finset α} (f : α → β)
Goal: (Finset.image f s).Nonempty ↔ s.Nonempty
-- Finset.image_toFinset
theorem image_toFinset [DecidableEq α] {s : Multiset α} :
    s.toFinset.image f = (s.map f).toFinset 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} [DecidableEq α] {s : Multiset α}
Goal: Finset.image f s.toFinset = (Multiset.map f s).toFinset
-- Finset.image_val_of_injOn
theorem image_val_of_injOn (H : Set.InjOn f s) : (image f s).1 = s.1.map f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α} (H : Set.InjOn f ↑s)
Goal: (Finset.image f s).val = Multiset.map f s.val
-- Finset.image_id
@[simp]
theorem image_id [DecidableEq α] : s.image id = s 
Arguments: {α : Type u_1} {s : Finset α} [DecidableEq α]
Goal: Finset.image id s = s
-- Finset.image_id'
@[simp]
theorem image_id' [DecidableEq α] : (s.image fun x => x) = s 
Arguments: {α : Type u_1} {s : Finset α} [DecidableEq α]
Goal: Finset.image (fun x => x) s = s
-- Finset.image_image
theorem image_image [DecidableEq γ] {g : β → γ} : (s.image f).image g = s.image (g ∘ f) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DecidableEq β] {f : α → β} {s : Finset α} [DecidableEq γ] {g : β → γ}
Goal: Finset.image g (Finset.image f s) = Finset.image (g ∘ f) s
-- Finset.image_comm
theorem image_comm {β'} [DecidableEq β'] [DecidableEq γ] {f : β → γ} {g : α → β} {f' : α → β'}
    {g' : β' → γ} (h_comm : ∀ a, f (g a) = g' (f' a)) :
    (s.image g).image f = (s.image f').image g' 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DecidableEq β] {s : Finset α} {β' : Type u_4} [DecidableEq β'] [DecidableEq γ] {f : β → γ} {g : α → β} {f' : α → β'} {g' : β' → γ} (h_comm : ∀ (a : α), f (g a) = g' (f' a))
Goal: Finset.image f (Finset.image g s) = Finset.image g' (Finset.image f' s)
-- Function.Semiconj.finset_image
theorem _root_.Function.Semiconj.finset_image [DecidableEq α] {f : α → β} {ga : α → α} {gb : β → β}
    (h : Function.Semiconj f ga gb) : Function.Semiconj (image f) (image ga) (image gb) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] {f : α → β} {ga : α → α} {gb : β → β} (h : Function.Semiconj f ga gb)
Goal: Function.Semiconj (Finset.image f) (Finset.image ga) (Finset.image gb)
-- Function.Commute.finset_image
theorem _root_.Function.Commute.finset_image [DecidableEq α] {f g : α → α}
    (h : Function.Commute f g) : Function.Commute (image f) (image g) 
Arguments: {α : Type u_1} [DecidableEq α] {f g : α → α} (h : Function.Commute f g)
Goal: Function.Commute (Finset.image f) (Finset.image g)
-- Finset.image_subset_image
theorem image_subset_image {s₁ s₂ : Finset α} (h : s₁ ⊆ s₂) : s₁.image f ⊆ s₂.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s₁ s₂ : Finset α} (h : s₁ ⊆ s₂)
Goal: Finset.image f s₁ ⊆ Finset.image f s₂
-- Finset.image_subset_iff
theorem image_subset_iff : s.image f ⊆ t ↔ ∀ x ∈ s, f x ∈ t 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α} {t : Finset β}
Goal: Finset.image f s ⊆ t ↔ ∀ x ∈ s, f x ∈ t
-- Finset.image_mono
theorem image_mono (f : α → β) : Monotone (Finset.image f) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] (f : α → β)
Goal: Monotone (Finset.image f)
-- Finset.image_injective
lemma image_injective (hf : Injective f) : Injective (image f) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} (hf : Function.Injective f)
Goal: Function.Injective (Finset.image f)
-- Finset.image_inj
lemma image_inj {t : Finset α} (hf : Injective f) : s.image f = t.image f ↔ s = t 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s t : Finset α} (hf : Function.Injective f)
Goal: Finset.image f s = Finset.image f t ↔ s = t
-- Finset.image_subset_image_iff
theorem image_subset_image_iff {t : Finset α} (hf : Injective f) :
    s.image f ⊆ t.image f ↔ s ⊆ t 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s t : Finset α} (hf : Function.Injective f)
Goal: Finset.image f s ⊆ Finset.image f t ↔ s ⊆ t
-- Finset.image_ssubset_image
lemma image_ssubset_image {t : Finset α} (hf : Injective f) : s.image f ⊂ t.image f ↔ s ⊂ t 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s t : Finset α} (hf : Function.Injective f)
Goal: Finset.image f s ⊂ Finset.image f t ↔ s ⊂ t
-- Finset.coe_image_subset_range
theorem coe_image_subset_range : ↑(s.image f) ⊆ Set.range f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α}
Goal: ↑(Finset.image f s) ⊆ Set.range f
-- Finset.filter_image
theorem filter_image {p : β → Prop} [DecidablePred p] :
    (s.image f).filter p = (s.filter fun a ↦ p (f a)).image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α} {p : β → Prop} [DecidablePred p]
Goal: Finset.filter p (Finset.image f s) = Finset.image f (Finset.filter (fun a => p (f a)) s)
-- Finset.image_union
theorem image_union [DecidableEq α] {f : α → β} (s₁ s₂ : Finset α) :
    (s₁ ∪ s₂).image f = s₁.image f ∪ s₂.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] {f : α → β} (s₁ s₂ : Finset α)
Goal: Finset.image f (s₁ ∪ s₂) = Finset.image f s₁ ∪ Finset.image f s₂
-- Finset.image_inter_subset
theorem image_inter_subset [DecidableEq α] (f : α → β) (s t : Finset α) :
    (s ∩ t).image f ⊆ s.image f ∩ t.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] (f : α → β) (s t : Finset α)
Goal: Finset.image f (s ∩ t) ⊆ Finset.image f s ∩ Finset.image f t
-- Finset.image_inter_of_injOn
theorem image_inter_of_injOn [DecidableEq α] {f : α → β} (s t : Finset α)
    (hf : Set.InjOn f (s ∪ t)) : (s ∩ t).image f = s.image f ∩ t.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] {f : α → β} (s t : Finset α) (hf : Set.InjOn f (↑s ∪ ↑t))
Goal: Finset.image f (s ∩ t) = Finset.image f s ∩ Finset.image f t
-- Finset.image_inter
theorem image_inter [DecidableEq α] (s₁ s₂ : Finset α) (hf : Injective f) :
    (s₁ ∩ s₂).image f = s₁.image f ∩ s₂.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} [DecidableEq α] (s₁ s₂ : Finset α) (hf : Function.Injective f)
Goal: Finset.image f (s₁ ∩ s₂) = Finset.image f s₁ ∩ Finset.image f s₂
-- Finset.image_singleton
@[simp]
theorem image_singleton (f : α → β) (a : α) : image f {a} = {f a} 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] (f : α → β) (a : α)
Goal: Finset.image f {a} = {f a}
-- Finset.image_insert
@[simp]
theorem image_insert [DecidableEq α] (f : α → β) (a : α) (s : Finset α) :
    (insert a s).image f = insert (f a) (s.image f) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] (f : α → β) (a : α) (s : Finset α)
Goal: Finset.image f (insert a s) = insert (f a) (Finset.image f s)
-- Finset.erase_image_subset_image_erase
theorem erase_image_subset_image_erase [DecidableEq α] (f : α → β) (s : Finset α) (a : α) :
    (s.image f).erase (f a) ⊆ (s.erase a).image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] (f : α → β) (s : Finset α) (a : α)
Goal: (Finset.image f s).erase (f a) ⊆ Finset.image f (s.erase a)
-- Finset.image_erase
@[simp]
theorem image_erase [DecidableEq α] {f : α → β} (hf : Injective f) (s : Finset α) (a : α) :
    (s.erase a).image f = (s.image f).erase (f a) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] {f : α → β} (hf : Function.Injective f) (s : Finset α) (a : α)
Goal: Finset.image f (s.erase a) = (Finset.image f s).erase (f a)
-- Finset.image_eq_empty
@[simp]
theorem image_eq_empty : s.image f = ∅ ↔ s = ∅ 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} {s : Finset α}
Goal: Finset.image f s = ∅ ↔ s = ∅
-- Finset.image_sdiff
theorem image_sdiff [DecidableEq α] {f : α → β} (s t : Finset α) (hf : Injective f) :
    (s \ t).image f = s.image f \ t.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] {f : α → β} (s t : Finset α) (hf : Function.Injective f)
Goal: Finset.image f (s \ t) = Finset.image f s \ Finset.image f t
-- Finset.image_symmDiff
theorem image_symmDiff [DecidableEq α] {f : α → β} (s t : Finset α) (hf : Injective f) :
    (s ∆ t).image f = s.image f ∆ t.image f 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] {f : α → β} (s t : Finset α) (hf : Function.Injective f)
Goal: Finset.image f (symmDiff s t) = symmDiff (Finset.image f s) (Finset.image f t)
-- Disjoint.of_image_finset
@[simp]
theorem _root_.Disjoint.of_image_finset {s t : Finset α} {f : α → β}
    (h : Disjoint (s.image f) (t.image f)) : Disjoint s t 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s t : Finset α} {f : α → β} (h : Disjoint (Finset.image f s) (Finset.image f t))
Goal: Disjoint s t
-- Finset.mem_range_iff_mem_finset_range_of_mod_eq'
theorem mem_range_iff_mem_finset_range_of_mod_eq' [DecidableEq α] {f : ℕ → α} {a : α} {n : ℕ}
    (hn : 0 < n) (h : ∀ i, f (i % n) = f i) :
    a ∈ Set.range f ↔ a ∈ (Finset.range n).image fun i => f i 
Arguments: {α : Type u_1} [DecidableEq α] {f : ℕ → α} {a : α} {n : ℕ} (hn : 0 < n) (h : ∀ (i : ℕ), f (i % n) = f i)
Goal: a ∈ Set.range f ↔ a ∈ Finset.image (fun i => f i) (Finset.range n)
-- Finset.mem_range_iff_mem_finset_range_of_mod_eq
theorem mem_range_iff_mem_finset_range_of_mod_eq [DecidableEq α] {f : ℤ → α} {a : α} {n : ℕ}
    (hn : 0 < n) (h : ∀ i, f (i % n) = f i) :
    a ∈ Set.range f ↔ a ∈ (Finset.range n).image (fun (i : ℕ) => f i) 
Arguments: {α : Type u_1} [DecidableEq α] {f : ℤ → α} {a : α} {n : ℕ} (hn : 0 < n) (h : ∀ (i : ℤ), f (i % ↑n) = f i)
Goal: a ∈ Set.range f ↔ a ∈ Finset.image (fun i => f ↑i) (Finset.range n)
-- Finset.range_add
theorem range_add (a b : ℕ) : range (a + b) = range a ∪ (range b).map (addLeftEmbedding a) 
Arguments: (a b : ℕ)
Goal: Finset.range (a + b) = Finset.range a ∪ Finset.map (addLeftEmbedding a) (Finset.range b)
-- Finset.attach_image_val
@[simp]
theorem attach_image_val [DecidableEq α] {s : Finset α} : s.attach.image Subtype.val = s 
Arguments: {α : Type u_1} [DecidableEq α] {s : Finset α}
Goal: Finset.image Subtype.val s.attach = s
-- Finset.attach_insert
@[simp]
theorem attach_insert [DecidableEq α] {a : α} {s : Finset α} :
    attach (insert a s) =
      insert (⟨a, mem_insert_self a s⟩ : { x // x ∈ insert a s })
        ((attach s).image fun x => ⟨x.1, mem_insert_of_mem x.2⟩) 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Finset α}
Goal: (insert a s).attach = insert ⟨a, ⋯⟩ (Finset.image (fun x => ⟨↑x, ⋯⟩) s.attach)
-- Finset.disjoint_image
@[simp]
theorem disjoint_image {s t : Finset α} {f : α → β} (hf : Injective f) :
    Disjoint (s.image f) (t.image f) ↔ Disjoint s t 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s t : Finset α} {f : α → β} (hf : Function.Injective f)
Goal: Disjoint (Finset.image f s) (Finset.image f t) ↔ Disjoint s t
-- Finset.image_const
theorem image_const {s : Finset α} (h : s.Nonempty) (b : β) : (s.image fun _ => b) = singleton b 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] {s : Finset α} (h : s.Nonempty) (b : β)
Goal: Finset.image (fun x => b) s = {b}
-- Finset.map_erase
@[simp]
theorem map_erase [DecidableEq α] (f : α ↪ β) (s : Finset α) (a : α) :
    (s.erase a).map f = (s.map f).erase (f a) 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] (f : α ↪ β) (s : Finset α) (a : α)
Goal: Finset.map f (s.erase a) = (Finset.map f s).erase (f a)
-- Finset.image_biUnion
theorem image_biUnion [DecidableEq γ] {f : α → β} {s : Finset α} {t : β → Finset γ} :
    (s.image f).biUnion t = s.biUnion fun a => t (f a) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DecidableEq β] [DecidableEq γ] {f : α → β} {s : Finset α} {t : β → Finset γ}
Goal: (Finset.image f s).biUnion t = s.biUnion fun a => t (f a)
-- Finset.biUnion_image
theorem biUnion_image [DecidableEq γ] {s : Finset α} {t : α → Finset β} {f : β → γ} :
    (s.biUnion t).image f = s.biUnion fun a => (t a).image f 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DecidableEq β] [DecidableEq γ] {s : Finset α} {t : α → Finset β} {f : β → γ}
Goal: Finset.image f (s.biUnion t) = s.biUnion fun a => Finset.image f (t a)