ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.univ_add_univ
@[to_additive (attr := simp)]
theorem univ_mul_univ [Fintype α] : (univ : Finset α) * univ = univ 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] [Fintype α]
Goal: Finset.univ + Finset.univ = Finset.univ
-- Finset.univ_mul_univ
@[to_additive (attr := simp)]
theorem univ_mul_univ [Fintype α] : (univ : Finset α) * univ = univ 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] [Fintype α]
Goal: Finset.univ * Finset.univ = Finset.univ
-- Finset.univ_pow
@[to_additive (attr := simp) nsmul_univ]
theorem univ_pow [Fintype α] (hn : n ≠ 0) : (univ : Finset α) ^ n = univ 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {n : ℕ} [Fintype α] (hn : n ≠ 0)
Goal: Finset.univ ^ n = Finset.univ
-- Finset.nsmul_univ
@[to_additive (attr := simp) nsmul_univ]
theorem univ_pow [Fintype α] (hn : n ≠ 0) : (univ : Finset α) ^ n = univ 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {n : ℕ} [Fintype α] (hn : n ≠ 0)
Goal: n • Finset.univ = Finset.univ
-- IsUnit.finset
@[to_additive]
protected theorem _root_.IsUnit.finset : IsUnit a → IsUnit ({a} : Finset α) 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {a : α}
Goal: IsUnit a → IsUnit {a}
-- IsAddUnit.finset
@[to_additive]
protected theorem _root_.IsUnit.finset : IsUnit a → IsUnit ({a} : Finset α) 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {a : α}
Goal: IsAddUnit a → IsAddUnit {a}
-- Finset.coe_sum
@[to_additive (attr := simp, norm_cast)]
theorem coe_prod {ι : Type*} (s : Finset ι) (f : ι → Finset α) :
    ↑(∏ i ∈ s, f i) = ∏ i ∈ s, (f i : Set α) 
Arguments: {α : Type u_2} [DecidableEq α] [AddCommMonoid α] {ι : Type u_5} (s : Finset ι) (f : ι → Finset α)
Goal: ↑(∑ i ∈ s, f i) = ∑ i ∈ s, ↑(f i)
-- Finset.coe_prod
@[to_additive (attr := simp, norm_cast)]
theorem coe_prod {ι : Type*} (s : Finset ι) (f : ι → Finset α) :
    ↑(∏ i ∈ s, f i) = ∏ i ∈ s, (f i : Set α) 
Arguments: {α : Type u_2} [DecidableEq α] [CommMonoid α] {ι : Type u_5} (s : Finset ι) (f : ι → Finset α)
Goal: ↑(∏ i ∈ s, f i) = ∏ i ∈ s, ↑(f i)
-- Finset.coe_zpow
@[to_additive (attr := simp)]
theorem coe_zpow (s : Finset α) : ∀ n : ℤ, ↑(s ^ n) = (s : Set α) ^ n
  
Arguments: {α : Type u_2} [DecidableEq α] [DivisionMonoid α] (s : Finset α) (n : ℤ)
Goal: ↑(s ^ n) = ↑s ^ n
-- Finset.coe_zsmul
@[to_additive (attr := simp)]
theorem coe_zpow (s : Finset α) : ∀ n : ℤ, ↑(s ^ n) = (s : Set α) ^ n
  
Arguments: {α : Type u_2} [DecidableEq α] [SubtractionMonoid α] (s : Finset α) (n : ℤ)
Goal: ↑(n • s) = n • ↑s
-- Finset.mul_eq_one_iff
@[to_additive]
protected theorem mul_eq_one_iff : s * t = 1 ↔ ∃ a b, s = {a} ∧ t = {b} ∧ a * b = 1 
Arguments: {α : Type u_2} [DecidableEq α] [DivisionMonoid α] {s t : Finset α}
Goal: s * t = 1 ↔ ∃ a b, s = {a} ∧ t = {b} ∧ a * b = 1
-- Finset.add_eq_zero_iff
@[to_additive]
protected theorem mul_eq_one_iff : s * t = 1 ↔ ∃ a b, s = {a} ∧ t = {b} ∧ a * b = 1 
Arguments: {α : Type u_2} [DecidableEq α] [SubtractionMonoid α] {s t : Finset α}
Goal: s + t = 0 ↔ ∃ a b, s = {a} ∧ t = {b} ∧ a + b = 0
-- Finset.isUnit_iff
@[to_additive (attr := simp)]
theorem isUnit_iff : IsUnit s ↔ ∃ a, s = {a} ∧ IsUnit a 
Arguments: {α : Type u_2} [DecidableEq α] [DivisionMonoid α] {s : Finset α}
Goal: IsUnit s ↔ ∃ a, s = {a} ∧ IsUnit a
-- Finset.isAddUnit_iff
@[to_additive (attr := simp)]
theorem isUnit_iff : IsUnit s ↔ ∃ a, s = {a} ∧ IsUnit a 
Arguments: {α : Type u_2} [DecidableEq α] [SubtractionMonoid α] {s : Finset α}
Goal: IsAddUnit s ↔ ∃ a, s = {a} ∧ IsAddUnit a
-- Finset.isUnit_coe
@[to_additive (attr := simp)]
theorem isUnit_coe : IsUnit (s : Set α) ↔ IsUnit s 
Arguments: {α : Type u_2} [DecidableEq α] [DivisionMonoid α] {s : Finset α}
Goal: IsUnit ↑s ↔ IsUnit s
-- Finset.isAddUnit_coe
@[to_additive (attr := simp)]
theorem isUnit_coe : IsUnit (s : Set α) ↔ IsUnit s 
Arguments: {α : Type u_2} [DecidableEq α] [SubtractionMonoid α] {s : Finset α}
Goal: IsAddUnit ↑s ↔ IsAddUnit s
-- Finset.univ_sub_univ
@[to_additive (attr := simp)]
lemma univ_div_univ [Fintype α] : (univ / univ : Finset α) = univ 
Arguments: {α : Type u_2} [DecidableEq α] [SubtractionMonoid α] [Fintype α]
Goal: Finset.univ - Finset.univ = Finset.univ
-- Finset.univ_div_univ
@[to_additive (attr := simp)]
lemma univ_div_univ [Fintype α] : (univ / univ : Finset α) = univ 
Arguments: {α : Type u_2} [DecidableEq α] [DivisionMonoid α] [Fintype α]
Goal: Finset.univ / Finset.univ = Finset.univ
-- Finset.mul_add_subset
theorem mul_add_subset : s * (t + u) ⊆ s * t + s * u 
Arguments: {α : Type u_2} [DecidableEq α] [Distrib α] (s t u : Finset α)
Goal: s * (t + u) ⊆ s * t + s * u
-- Finset.add_mul_subset
theorem add_mul_subset : (s + t) * u ⊆ s * u + t * u 
Arguments: {α : Type u_2} [DecidableEq α] [Distrib α] (s t u : Finset α)
Goal: (s + t) * u ⊆ s * u + t * u
-- Finset.mul_zero_subset
theorem mul_zero_subset (s : Finset α) : s * 0 ⊆ 0 
Arguments: {α : Type u_2} [DecidableEq α] [MulZeroClass α] (s : Finset α)
Goal: s * 0 ⊆ 0
-- Finset.zero_mul_subset
theorem zero_mul_subset (s : Finset α) : 0 * s ⊆ 0 
Arguments: {α : Type u_2} [DecidableEq α] [MulZeroClass α] (s : Finset α)
Goal: 0 * s ⊆ 0
-- Finset.Nonempty.mul_zero
theorem Nonempty.mul_zero (hs : s.Nonempty) : s * 0 = 0 
Arguments: {α : Type u_2} [DecidableEq α] [MulZeroClass α] {s : Finset α} (hs : s.Nonempty)
Goal: s * 0 = 0
-- Finset.Nonempty.zero_mul
theorem Nonempty.zero_mul (hs : s.Nonempty) : 0 * s = 0 
Arguments: {α : Type u_2} [DecidableEq α] [MulZeroClass α] {s : Finset α} (hs : s.Nonempty)
Goal: 0 * s = 0
-- Finset.zero_mem_sub_iff
@[to_additive (attr := simp)]
theorem one_mem_div_iff : (1 : α) ∈ s / t ↔ ¬Disjoint s t 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] {s t : Finset α}
Goal: 0 ∈ s - t ↔ ¬Disjoint s t
-- Finset.one_mem_div_iff
@[to_additive (attr := simp)]
theorem one_mem_div_iff : (1 : α) ∈ s / t ↔ ¬Disjoint s t 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {s t : Finset α}
Goal: 1 ∈ s / t ↔ ¬Disjoint s t
-- Finset.not_zero_mem_sub_iff
@[to_additive]
theorem not_one_mem_div_iff : (1 : α) ∉ s / t ↔ Disjoint s t 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] {s t : Finset α}
Goal: 0 ∉ s - t ↔ Disjoint s t
-- Finset.not_one_mem_div_iff
@[to_additive]
theorem not_one_mem_div_iff : (1 : α) ∉ s / t ↔ Disjoint s t 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {s t : Finset α}
Goal: 1 ∉ s / t ↔ Disjoint s t
-- Finset.Nonempty.one_mem_div
@[to_additive]
theorem Nonempty.one_mem_div (h : s.Nonempty) : (1 : α) ∈ s / s 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {s : Finset α} (h : s.Nonempty)
Goal: 1 ∈ s / s
-- Finset.Nonempty.zero_mem_sub
@[to_additive]
theorem Nonempty.one_mem_div (h : s.Nonempty) : (1 : α) ∈ s / s 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] {s : Finset α} (h : s.Nonempty)
Goal: 0 ∈ s - s
-- Finset.isUnit_singleton
@[to_additive]
theorem isUnit_singleton (a : α) : IsUnit ({a} : Finset α) 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] (a : α)
Goal: IsUnit {a}
-- Finset.isAddUnit_singleton
@[to_additive]
theorem isUnit_singleton (a : α) : IsUnit ({a} : Finset α) 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] (a : α)
Goal: IsAddUnit {a}
-- Finset.isUnit_iff_singleton
theorem isUnit_iff_singleton : IsUnit s ↔ ∃ a, s = {a} 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {s : Finset α}
Goal: IsUnit s ↔ ∃ a, s = {a}
-- Finset.isUnit_iff_singleton_aux
@[simp]
theorem isUnit_iff_singleton_aux : (∃ a, s = {a} ∧ IsUnit a) ↔ ∃ a, s = {a} 
Arguments: {α : Type u_2} [Group α] {s : Finset α}
Goal: (∃ a, s = {a} ∧ IsUnit a) ↔ ∃ a, s = {a}
-- Finset.image_mul_left
@[to_additive (attr := simp)]
theorem image_mul_left :
    image (fun b => a * b) t = preimage t (fun b => a⁻¹ * b) (mul_right_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {t : Finset α} {a : α}
Goal: Finset.image (fun b => a * b) t = t.preimage (fun b => a⁻¹ * b) ⋯
-- Finset.image_add_left
@[to_additive (attr := simp)]
theorem image_mul_left :
    image (fun b => a * b) t = preimage t (fun b => a⁻¹ * b) (mul_right_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] {t : Finset α} {a : α}
Goal: Finset.image (fun b => a + b) t = t.preimage (fun b => -a + b) ⋯
-- Finset.image_add_right
@[to_additive (attr := simp)]
theorem image_mul_right : image (· * b) t = preimage t (· * b⁻¹) (mul_left_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] {t : Finset α} {b : α}
Goal: Finset.image (fun x => x + b) t = t.preimage (fun x => x + -b) ⋯
-- Finset.image_mul_right
@[to_additive (attr := simp)]
theorem image_mul_right : image (· * b) t = preimage t (· * b⁻¹) (mul_left_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {t : Finset α} {b : α}
Goal: Finset.image (fun x => x * b) t = t.preimage (fun x => x * b⁻¹) ⋯
-- Finset.image_mul_left'
@[to_additive]
theorem image_mul_left' :
    image (fun b => a⁻¹ * b) t = preimage t (fun b => a * b) (mul_right_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {t : Finset α} {a : α}
Goal: Finset.image (fun b => a⁻¹ * b) t = t.preimage (fun b => a * b) ⋯
-- Finset.image_add_left'
@[to_additive]
theorem image_mul_left' :
    image (fun b => a⁻¹ * b) t = preimage t (fun b => a * b) (mul_right_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] {t : Finset α} {a : α}
Goal: Finset.image (fun b => -a + b) t = t.preimage (fun b => a + b) ⋯
-- Finset.image_mul_right'
@[to_additive]
theorem image_mul_right' :
    image (· * b⁻¹) t = preimage t (· * b) (mul_left_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [Group α] {t : Finset α} {b : α}
Goal: Finset.image (fun x => x * b⁻¹) t = t.preimage (fun x => x * b) ⋯
-- Finset.image_add_right'
@[to_additive]
theorem image_mul_right' :
    image (· * b⁻¹) t = preimage t (· * b) (mul_left_injective _).injOn 
Arguments: {α : Type u_2} [DecidableEq α] [AddGroup α] {t : Finset α} {b : α}
Goal: Finset.image (fun x => x + -b) t = t.preimage (fun x => x + b) ⋯
-- Finset.image_div
theorem image_div : (s / t).image (f : α → β) = s.image f / t.image f 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [DecidableEq α] [DecidableEq β] [Group α] [DivisionMonoid β] [FunLike F α β] [MonoidHomClass F α β] (f : F) {s t : Finset α}
Goal: Finset.image (⇑f) (s / t) = Finset.image (⇑f) s / Finset.image (⇑f) t
-- Finset.div_zero_subset
theorem div_zero_subset (s : Finset α) : s / 0 ⊆ 0 
Arguments: {α : Type u_2} [DecidableEq α] [GroupWithZero α] (s : Finset α)
Goal: s / 0 ⊆ 0
-- Finset.zero_div_subset
theorem zero_div_subset (s : Finset α) : 0 / s ⊆ 0 
Arguments: {α : Type u_2} [DecidableEq α] [GroupWithZero α] (s : Finset α)
Goal: 0 / s ⊆ 0
-- Finset.Nonempty.div_zero
theorem Nonempty.div_zero (hs : s.Nonempty) : s / 0 = 0 
Arguments: {α : Type u_2} [DecidableEq α] [GroupWithZero α] {s : Finset α} (hs : s.Nonempty)
Goal: s / 0 = 0
-- Finset.Nonempty.zero_div
theorem Nonempty.zero_div (hs : s.Nonempty) : 0 / s = 0 
Arguments: {α : Type u_2} [DecidableEq α] [GroupWithZero α] {s : Finset α} (hs : s.Nonempty)
Goal: 0 / s = 0
-- Finset.preimage_add_left_singleton
@[to_additive (attr := simp)]
theorem preimage_mul_left_singleton :
    preimage {b} (a * ·) (mul_right_injective _).injOn = {a⁻¹ * b} 
Arguments: {α : Type u_2} [AddGroup α] {a b : α}
Goal: {b}.preimage (fun x => a + x) ⋯ = {-a + b}
-- Finset.preimage_mul_left_singleton
@[to_additive (attr := simp)]
theorem preimage_mul_left_singleton :
    preimage {b} (a * ·) (mul_right_injective _).injOn = {a⁻¹ * b} 
Arguments: {α : Type u_2} [Group α] {a b : α}
Goal: {b}.preimage (fun x => a * x) ⋯ = {a⁻¹ * b}
-- Finset.preimage_mul_right_singleton
@[to_additive (attr := simp)]
theorem preimage_mul_right_singleton :
    preimage {b} (· * a) (mul_left_injective _).injOn = {b * a⁻¹} 
Arguments: {α : Type u_2} [Group α] {a b : α}
Goal: {b}.preimage (fun x => x * a) ⋯ = {b * a⁻¹}
-- Finset.preimage_add_right_singleton
@[to_additive (attr := simp)]
theorem preimage_mul_right_singleton :
    preimage {b} (· * a) (mul_left_injective _).injOn = {b * a⁻¹} 
Arguments: {α : Type u_2} [AddGroup α] {a b : α}
Goal: {b}.preimage (fun x => x + a) ⋯ = {b + -a}
-- Finset.preimage_mul_left_one
@[to_additive (attr := simp)]
theorem preimage_mul_left_one : preimage 1 (a * ·) (mul_right_injective _).injOn = {a⁻¹} 
Arguments: {α : Type u_2} [Group α] {a : α}
Goal: Finset.preimage 1 (fun x => a * x) ⋯ = {a⁻¹}
-- Finset.preimage_add_left_zero
@[to_additive (attr := simp)]
theorem preimage_mul_left_one : preimage 1 (a * ·) (mul_right_injective _).injOn = {a⁻¹} 
Arguments: {α : Type u_2} [AddGroup α] {a : α}
Goal: Finset.preimage 0 (fun x => a + x) ⋯ = {-a}
-- Finset.preimage_mul_right_one
@[to_additive (attr := simp)]
theorem preimage_mul_right_one : preimage 1 (· * b) (mul_left_injective _).injOn = {b⁻¹} 
Arguments: {α : Type u_2} [Group α] {b : α}
Goal: Finset.preimage 1 (fun x => x * b) ⋯ = {b⁻¹}
-- Finset.preimage_add_right_zero
@[to_additive (attr := simp)]
theorem preimage_mul_right_one : preimage 1 (· * b) (mul_left_injective _).injOn = {b⁻¹} 
Arguments: {α : Type u_2} [AddGroup α] {b : α}
Goal: Finset.preimage 0 (fun x => x + b) ⋯ = {-b}
-- Finset.preimage_mul_left_one'
@[to_additive]
theorem preimage_mul_left_one' : preimage 1 (a⁻¹ * ·) (mul_right_injective _).injOn = {a} 
Arguments: {α : Type u_2} [Group α] {a : α}
Goal: Finset.preimage 1 (fun x => a⁻¹ * x) ⋯ = {a}
-- Finset.preimage_add_left_zero'
@[to_additive]
theorem preimage_mul_left_one' : preimage 1 (a⁻¹ * ·) (mul_right_injective _).injOn = {a} 
Arguments: {α : Type u_2} [AddGroup α] {a : α}
Goal: Finset.preimage 0 (fun x => -a + x) ⋯ = {a}
-- Finset.preimage_mul_right_one'
@[to_additive]
theorem preimage_mul_right_one' : preimage 1 (· * b⁻¹) (mul_left_injective _).injOn = {b} 
Arguments: {α : Type u_2} [Group α] {b : α}
Goal: Finset.preimage 1 (fun x => x * b⁻¹) ⋯ = {b}
-- Finset.preimage_add_right_zero'
@[to_additive]
theorem preimage_mul_right_one' : preimage 1 (· * b⁻¹) (mul_left_injective _).injOn = {b} 
Arguments: {α : Type u_2} [AddGroup α] {b : α}
Goal: Finset.preimage 0 (fun x => x + -b) ⋯ = {b}
-- Finset.vadd_def
@[to_additive]
theorem smul_def : s • t = (s ×ˢ t).image fun p : α × β => p.1 • p.2 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: s +ᵥ t = Finset.image (fun p => p.1 +ᵥ p.2) (s ×ˢ t)
-- Finset.smul_def
@[to_additive]
theorem smul_def : s • t = (s ×ˢ t).image fun p : α × β => p.1 • p.2 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: s • t = Finset.image (fun p => p.1 • p.2) (s ×ˢ t)
-- Finset.image_vadd_product
@[to_additive]
theorem image_smul_product : ((s ×ˢ t).image fun x : α × β => x.fst • x.snd) = s • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: Finset.image (fun x => x.1 +ᵥ x.2) (s ×ˢ t) = s +ᵥ t
-- Finset.image_smul_product
@[to_additive]
theorem image_smul_product : ((s ×ˢ t).image fun x : α × β => x.fst • x.snd) = s • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: Finset.image (fun x => x.1 • x.2) (s ×ˢ t) = s • t
-- Finset.mem_vadd
@[to_additive]
theorem mem_smul {x : β} : x ∈ s • t ↔ ∃ y ∈ s, ∃ z ∈ t, y • z = x 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β} {x : β}
Goal: x ∈ s +ᵥ t ↔ ∃ y ∈ s, ∃ z ∈ t, y +ᵥ z = x
-- Finset.mem_smul
@[to_additive]
theorem mem_smul {x : β} : x ∈ s • t ↔ ∃ y ∈ s, ∃ z ∈ t, y • z = x 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β} {x : β}
Goal: x ∈ s • t ↔ ∃ y ∈ s, ∃ z ∈ t, y • z = x
-- Finset.coe_smul
@[to_additive (attr := simp, norm_cast)]
theorem coe_smul (s : Finset α) (t : Finset β) : ↑(s • t) = (s : Set α) • (t : Set β) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] (s : Finset α) (t : Finset β)
Goal: ↑(s • t) = ↑s • ↑t
-- Finset.coe_vadd
@[to_additive (attr := simp, norm_cast)]
theorem coe_smul (s : Finset α) (t : Finset β) : ↑(s • t) = (s : Set α) • (t : Set β) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] (s : Finset α) (t : Finset β)
Goal: ↑(s +ᵥ t) = ↑s +ᵥ ↑t
-- Finset.smul_mem_smul
@[to_additive]
theorem smul_mem_smul : a ∈ s → b ∈ t → a • b ∈ s • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β} {a : α} {b : β}
Goal: a ∈ s → b ∈ t → a • b ∈ s • t
-- Finset.vadd_mem_vadd
@[to_additive]
theorem smul_mem_smul : a ∈ s → b ∈ t → a • b ∈ s • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β} {a : α} {b : β}
Goal: a ∈ s → b ∈ t → a +ᵥ b ∈ s +ᵥ t
-- Finset.vadd_card_le
@[to_additive]
theorem smul_card_le : (s • t).card ≤ s.card • t.card 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: (s +ᵥ t).card ≤ s.card • t.card
-- Finset.smul_card_le
@[to_additive]
theorem smul_card_le : (s • t).card ≤ s.card • t.card 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: (s • t).card ≤ s.card • t.card
-- Finset.empty_smul
@[to_additive (attr := simp)]
theorem empty_smul (t : Finset β) : (∅ : Finset α) • t = ∅ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] (t : Finset β)
Goal: ∅ • t = ∅
-- Finset.empty_vadd
@[to_additive (attr := simp)]
theorem empty_smul (t : Finset β) : (∅ : Finset α) • t = ∅ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] (t : Finset β)
Goal: ∅ +ᵥ t = ∅
-- Finset.vadd_empty
@[to_additive (attr := simp)]
theorem smul_empty (s : Finset α) : s • (∅ : Finset β) = ∅ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] (s : Finset α)
Goal: s +ᵥ ∅ = ∅
-- Finset.smul_empty
@[to_additive (attr := simp)]
theorem smul_empty (s : Finset α) : s • (∅ : Finset β) = ∅ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] (s : Finset α)
Goal: s • ∅ = ∅
-- Finset.vadd_eq_empty
@[to_additive (attr := simp)]
theorem smul_eq_empty : s • t = ∅ ↔ s = ∅ ∨ t = ∅ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: s +ᵥ t = ∅ ↔ s = ∅ ∨ t = ∅
-- Finset.smul_eq_empty
@[to_additive (attr := simp)]
theorem smul_eq_empty : s • t = ∅ ↔ s = ∅ ∨ t = ∅ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: s • t = ∅ ↔ s = ∅ ∨ t = ∅
-- Finset.vadd_nonempty_iff
@[to_additive (attr := simp, aesop safe apply (rule_sets := [finsetNonempty]))]
theorem smul_nonempty_iff : (s • t).Nonempty ↔ s.Nonempty ∧ t.Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: (s +ᵥ t).Nonempty ↔ s.Nonempty ∧ t.Nonempty
-- Finset.smul_nonempty_iff
@[to_additive (attr := simp, aesop safe apply (rule_sets := [finsetNonempty]))]
theorem smul_nonempty_iff : (s • t).Nonempty ↔ s.Nonempty ∧ t.Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: (s • t).Nonempty ↔ s.Nonempty ∧ t.Nonempty
-- Finset.Nonempty.vadd
@[to_additive]
theorem Nonempty.smul : s.Nonempty → t.Nonempty → (s • t).Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: s.Nonempty → t.Nonempty → (s +ᵥ t).Nonempty
-- Finset.Nonempty.smul
@[to_additive]
theorem Nonempty.smul : s.Nonempty → t.Nonempty → (s • t).Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: s.Nonempty → t.Nonempty → (s • t).Nonempty
-- Finset.Nonempty.of_vadd_left
@[to_additive]
theorem Nonempty.of_smul_left : (s • t).Nonempty → s.Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: (s +ᵥ t).Nonempty → s.Nonempty
-- Finset.Nonempty.of_smul_left
@[to_additive]
theorem Nonempty.of_smul_left : (s • t).Nonempty → s.Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: (s • t).Nonempty → s.Nonempty
-- Finset.Nonempty.of_smul_right
@[to_additive]
theorem Nonempty.of_smul_right : (s • t).Nonempty → t.Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t : Finset β}
Goal: (s • t).Nonempty → t.Nonempty
-- Finset.Nonempty.of_vadd_right
@[to_additive]
theorem Nonempty.of_smul_right : (s • t).Nonempty → t.Nonempty 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t : Finset β}
Goal: (s +ᵥ t).Nonempty → t.Nonempty
-- Finset.vadd_singleton
@[to_additive]
theorem smul_singleton (b : β) : s • ({b} : Finset β) = s.image (· • b) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} (b : β)
Goal: s +ᵥ {b} = Finset.image (fun x => x +ᵥ b) s
-- Finset.smul_singleton
@[to_additive]
theorem smul_singleton (b : β) : s • ({b} : Finset β) = s.image (· • b) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} (b : β)
Goal: s • {b} = Finset.image (fun x => x • b) s
-- Finset.singleton_smul_singleton
@[to_additive]
theorem singleton_smul_singleton (a : α) (b : β) : ({a} : Finset α) • ({b} : Finset β) = {a • b} 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] (a : α) (b : β)
Goal: {a} • {b} = {a • b}
-- Finset.singleton_vadd_singleton
@[to_additive]
theorem singleton_smul_singleton (a : α) (b : β) : ({a} : Finset α) • ({b} : Finset β) = {a • b} 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] (a : α) (b : β)
Goal: {a} +ᵥ {b} = {a +ᵥ b}
-- Finset.vadd_subset_vadd
@[to_additive (attr := mono)]
theorem smul_subset_smul : s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ • t₁ ⊆ s₂ • t₂ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s₁ s₂ : Finset α} {t₁ t₂ : Finset β}
Goal: s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ +ᵥ t₁ ⊆ s₂ +ᵥ t₂
-- Finset.smul_subset_smul
@[to_additive (attr := mono)]
theorem smul_subset_smul : s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ • t₁ ⊆ s₂ • t₂ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s₁ s₂ : Finset α} {t₁ t₂ : Finset β}
Goal: s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ • t₁ ⊆ s₂ • t₂
-- Finset.smul_subset_smul_left
@[to_additive]
theorem smul_subset_smul_left : t₁ ⊆ t₂ → s • t₁ ⊆ s • t₂ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t₁ t₂ : Finset β}
Goal: t₁ ⊆ t₂ → s • t₁ ⊆ s • t₂
-- Finset.vadd_subset_vadd_left
@[to_additive]
theorem smul_subset_smul_left : t₁ ⊆ t₂ → s • t₁ ⊆ s • t₂ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t₁ t₂ : Finset β}
Goal: t₁ ⊆ t₂ → s +ᵥ t₁ ⊆ s +ᵥ t₂
-- Finset.vadd_subset_vadd_right
@[to_additive]
theorem smul_subset_smul_right : s₁ ⊆ s₂ → s₁ • t ⊆ s₂ • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s₁ s₂ : Finset α} {t : Finset β}
Goal: s₁ ⊆ s₂ → s₁ +ᵥ t ⊆ s₂ +ᵥ t
-- Finset.smul_subset_smul_right
@[to_additive]
theorem smul_subset_smul_right : s₁ ⊆ s₂ → s₁ • t ⊆ s₂ • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s₁ s₂ : Finset α} {t : Finset β}
Goal: s₁ ⊆ s₂ → s₁ • t ⊆ s₂ • t
-- Finset.smul_subset_iff
@[to_additive]
theorem smul_subset_iff : s • t ⊆ u ↔ ∀ a ∈ s, ∀ b ∈ t, a • b ∈ u 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s : Finset α} {t u : Finset β}
Goal: s • t ⊆ u ↔ ∀ a ∈ s, ∀ b ∈ t, a • b ∈ u
-- Finset.vadd_subset_iff
@[to_additive]
theorem smul_subset_iff : s • t ⊆ u ↔ ∀ a ∈ s, ∀ b ∈ t, a • b ∈ u 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t u : Finset β}
Goal: s +ᵥ t ⊆ u ↔ ∀ a ∈ s, ∀ b ∈ t, a +ᵥ b ∈ u
-- Finset.union_smul
@[to_additive]
theorem union_smul [DecidableEq α] : (s₁ ∪ s₂) • t = s₁ • t ∪ s₂ • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [SMul α β] {s₁ s₂ : Finset α} {t : Finset β} [DecidableEq α]
Goal: (s₁ ∪ s₂) • t = s₁ • t ∪ s₂ • t
-- Finset.union_vadd
@[to_additive]
theorem union_smul [DecidableEq α] : (s₁ ∪ s₂) • t = s₁ • t ∪ s₂ • t 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s₁ s₂ : Finset α} {t : Finset β} [DecidableEq α]
Goal: s₁ ∪ s₂ +ᵥ t = s₁ +ᵥ t ∪ (s₂ +ᵥ t)
-- Finset.vadd_union
@[to_additive]
theorem smul_union : s • (t₁ ∪ t₂) = s • t₁ ∪ s • t₂ 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq β] [VAdd α β] {s : Finset α} {t₁ t₂ : Finset β}
Goal: s +ᵥ (t₁ ∪ t₂) = s +ᵥ t₁ ∪ (s +ᵥ t₂)