ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.sub_card_le
@[to_additive]
theorem div_card_le : (s / t).card ≤ s.card * t.card 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t : Finset α}
Goal: (s - t).card ≤ s.card * t.card
-- Finset.div_card_le
@[to_additive]
theorem div_card_le : (s / t).card ≤ s.card * t.card 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t : Finset α}
Goal: (s / t).card ≤ s.card * t.card
-- Finset.empty_sub
@[to_additive (attr := simp)]
theorem empty_div (s : Finset α) : ∅ / s = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] (s : Finset α)
Goal: ∅ - s = ∅
-- Finset.empty_div
@[to_additive (attr := simp)]
theorem empty_div (s : Finset α) : ∅ / s = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] (s : Finset α)
Goal: ∅ / s = ∅
-- Finset.div_empty
@[to_additive (attr := simp)]
theorem div_empty (s : Finset α) : s / ∅ = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] (s : Finset α)
Goal: s / ∅ = ∅
-- Finset.sub_empty
@[to_additive (attr := simp)]
theorem div_empty (s : Finset α) : s / ∅ = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] (s : Finset α)
Goal: s - ∅ = ∅
-- Finset.sub_eq_empty
@[to_additive (attr := simp)]
theorem div_eq_empty : s / t = ∅ ↔ s = ∅ ∨ t = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t : Finset α}
Goal: s - t = ∅ ↔ s = ∅ ∨ t = ∅
-- Finset.div_eq_empty
@[to_additive (attr := simp)]
theorem div_eq_empty : s / t = ∅ ↔ s = ∅ ∨ t = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t : Finset α}
Goal: s / t = ∅ ↔ s = ∅ ∨ t = ∅
-- Finset.div_nonempty
@[to_additive (attr := simp, aesop safe apply (rule_sets := [finsetNonempty]))]
theorem div_nonempty : (s / t).Nonempty ↔ s.Nonempty ∧ t.Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t : Finset α}
Goal: (s / t).Nonempty ↔ s.Nonempty ∧ t.Nonempty
-- Finset.sub_nonempty
@[to_additive (attr := simp, aesop safe apply (rule_sets := [finsetNonempty]))]
theorem div_nonempty : (s / t).Nonempty ↔ s.Nonempty ∧ t.Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t : Finset α}
Goal: (s - t).Nonempty ↔ s.Nonempty ∧ t.Nonempty
-- Finset.Nonempty.div
@[to_additive]
theorem Nonempty.div : s.Nonempty → t.Nonempty → (s / t).Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t : Finset α}
Goal: s.Nonempty → t.Nonempty → (s / t).Nonempty
-- Finset.Nonempty.sub
@[to_additive]
theorem Nonempty.div : s.Nonempty → t.Nonempty → (s / t).Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t : Finset α}
Goal: s.Nonempty → t.Nonempty → (s - t).Nonempty
-- Finset.Nonempty.of_div_left
@[to_additive]
theorem Nonempty.of_div_left : (s / t).Nonempty → s.Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t : Finset α}
Goal: (s / t).Nonempty → s.Nonempty
-- Finset.Nonempty.of_sub_left
@[to_additive]
theorem Nonempty.of_div_left : (s / t).Nonempty → s.Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t : Finset α}
Goal: (s - t).Nonempty → s.Nonempty
-- Finset.Nonempty.of_sub_right
@[to_additive]
theorem Nonempty.of_div_right : (s / t).Nonempty → t.Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t : Finset α}
Goal: (s - t).Nonempty → t.Nonempty
-- Finset.Nonempty.of_div_right
@[to_additive]
theorem Nonempty.of_div_right : (s / t).Nonempty → t.Nonempty 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t : Finset α}
Goal: (s / t).Nonempty → t.Nonempty
-- Finset.div_singleton
@[to_additive (attr := simp)]
theorem div_singleton (a : α) : s / {a} = s.image (· / a) 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s : Finset α} (a : α)
Goal: s / {a} = Finset.image (fun x => x / a) s
-- Finset.sub_singleton
@[to_additive (attr := simp)]
theorem div_singleton (a : α) : s / {a} = s.image (· / a) 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s : Finset α} (a : α)
Goal: s - {a} = Finset.image (fun x => x - a) s
-- Finset.singleton_div
@[to_additive (attr := simp)]
theorem singleton_div (a : α) : {a} / s = s.image (a / ·) 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s : Finset α} (a : α)
Goal: {a} / s = Finset.image (fun x => a / x) s
-- Finset.singleton_sub
@[to_additive (attr := simp)]
theorem singleton_div (a : α) : {a} / s = s.image (a / ·) 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s : Finset α} (a : α)
Goal: {a} - s = Finset.image (fun x => a - x) s
-- Finset.singleton_sub_singleton
@[to_additive]
theorem singleton_div_singleton (a b : α) : ({a} : Finset α) / {b} = {a / b} 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] (a b : α)
Goal: {a} - {b} = {a - b}
-- Finset.singleton_div_singleton
@[to_additive]
theorem singleton_div_singleton (a b : α) : ({a} : Finset α) / {b} = {a / b} 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] (a b : α)
Goal: {a} / {b} = {a / b}
-- Finset.div_subset_div
@[to_additive (attr := mono)]
theorem div_subset_div : s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ / t₁ ⊆ s₂ / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s₁ s₂ t₁ t₂ : Finset α}
Goal: s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ / t₁ ⊆ s₂ / t₂
-- Finset.sub_subset_sub
@[to_additive (attr := mono)]
theorem div_subset_div : s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ / t₁ ⊆ s₂ / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s₁ s₂ t₁ t₂ : Finset α}
Goal: s₁ ⊆ s₂ → t₁ ⊆ t₂ → s₁ - t₁ ⊆ s₂ - t₂
-- Finset.div_subset_div_left
@[to_additive]
theorem div_subset_div_left : t₁ ⊆ t₂ → s / t₁ ⊆ s / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t₁ t₂ : Finset α}
Goal: t₁ ⊆ t₂ → s / t₁ ⊆ s / t₂
-- Finset.sub_subset_sub_left
@[to_additive]
theorem div_subset_div_left : t₁ ⊆ t₂ → s / t₁ ⊆ s / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t₁ t₂ : Finset α}
Goal: t₁ ⊆ t₂ → s - t₁ ⊆ s - t₂
-- Finset.div_subset_div_right
@[to_additive]
theorem div_subset_div_right : s₁ ⊆ s₂ → s₁ / t ⊆ s₂ / t 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s₁ s₂ t : Finset α}
Goal: s₁ ⊆ s₂ → s₁ / t ⊆ s₂ / t
-- Finset.sub_subset_sub_right
@[to_additive]
theorem div_subset_div_right : s₁ ⊆ s₂ → s₁ / t ⊆ s₂ / t 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s₁ s₂ t : Finset α}
Goal: s₁ ⊆ s₂ → s₁ - t ⊆ s₂ - t
-- Finset.sub_subset_iff
@[to_additive]
theorem div_subset_iff : s / t ⊆ u ↔ ∀ x ∈ s, ∀ y ∈ t, x / y ∈ u 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t u : Finset α}
Goal: s - t ⊆ u ↔ ∀ x ∈ s, ∀ y ∈ t, x - y ∈ u
-- Finset.div_subset_iff
@[to_additive]
theorem div_subset_iff : s / t ⊆ u ↔ ∀ x ∈ s, ∀ y ∈ t, x / y ∈ u 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t u : Finset α}
Goal: s / t ⊆ u ↔ ∀ x ∈ s, ∀ y ∈ t, x / y ∈ u
-- Finset.union_sub
@[to_additive]
theorem union_div : (s₁ ∪ s₂) / t = s₁ / t ∪ s₂ / t 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s₁ s₂ t : Finset α}
Goal: s₁ ∪ s₂ - t = s₁ - t ∪ (s₂ - t)
-- Finset.union_div
@[to_additive]
theorem union_div : (s₁ ∪ s₂) / t = s₁ / t ∪ s₂ / t 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s₁ s₂ t : Finset α}
Goal: (s₁ ∪ s₂) / t = s₁ / t ∪ s₂ / t
-- Finset.sub_union
@[to_additive]
theorem div_union : s / (t₁ ∪ t₂) = s / t₁ ∪ s / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t₁ t₂ : Finset α}
Goal: s - (t₁ ∪ t₂) = s - t₁ ∪ (s - t₂)
-- Finset.div_union
@[to_additive]
theorem div_union : s / (t₁ ∪ t₂) = s / t₁ ∪ s / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t₁ t₂ : Finset α}
Goal: s / (t₁ ∪ t₂) = s / t₁ ∪ s / t₂
-- Finset.inter_sub_subset
@[to_additive]
theorem inter_div_subset : s₁ ∩ s₂ / t ⊆ s₁ / t ∩ (s₂ / t) 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s₁ s₂ t : Finset α}
Goal: s₁ ∩ s₂ - t ⊆ (s₁ - t) ∩ (s₂ - t)
-- Finset.inter_div_subset
@[to_additive]
theorem inter_div_subset : s₁ ∩ s₂ / t ⊆ s₁ / t ∩ (s₂ / t) 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s₁ s₂ t : Finset α}
Goal: s₁ ∩ s₂ / t ⊆ s₁ / t ∩ (s₂ / t)
-- Finset.sub_inter_subset
@[to_additive]
theorem div_inter_subset : s / (t₁ ∩ t₂) ⊆ s / t₁ ∩ (s / t₂) 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s t₁ t₂ : Finset α}
Goal: s - t₁ ∩ t₂ ⊆ (s - t₁) ∩ (s - t₂)
-- Finset.div_inter_subset
@[to_additive]
theorem div_inter_subset : s / (t₁ ∩ t₂) ⊆ s / t₁ ∩ (s / t₂) 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s t₁ t₂ : Finset α}
Goal: s / (t₁ ∩ t₂) ⊆ s / t₁ ∩ (s / t₂)
-- Finset.inter_div_union_subset_union
@[to_additive]
theorem inter_div_union_subset_union : s₁ ∩ s₂ / (t₁ ∪ t₂) ⊆ s₁ / t₁ ∪ s₂ / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s₁ s₂ t₁ t₂ : Finset α}
Goal: s₁ ∩ s₂ / (t₁ ∪ t₂) ⊆ s₁ / t₁ ∪ s₂ / t₂
-- Finset.inter_sub_union_subset_union
@[to_additive]
theorem inter_div_union_subset_union : s₁ ∩ s₂ / (t₁ ∪ t₂) ⊆ s₁ / t₁ ∪ s₂ / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s₁ s₂ t₁ t₂ : Finset α}
Goal: s₁ ∩ s₂ - (t₁ ∪ t₂) ⊆ s₁ - t₁ ∪ (s₂ - t₂)
-- Finset.union_sub_inter_subset_union
@[to_additive]
theorem union_div_inter_subset_union : (s₁ ∪ s₂) / (t₁ ∩ t₂) ⊆ s₁ / t₁ ∪ s₂ / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {s₁ s₂ t₁ t₂ : Finset α}
Goal: s₁ ∪ s₂ - t₁ ∩ t₂ ⊆ s₁ - t₁ ∪ (s₂ - t₂)
-- Finset.union_div_inter_subset_union
@[to_additive]
theorem union_div_inter_subset_union : (s₁ ∪ s₂) / (t₁ ∩ t₂) ⊆ s₁ / t₁ ∪ s₂ / t₂ 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {s₁ s₂ t₁ t₂ : Finset α}
Goal: (s₁ ∪ s₂) / (t₁ ∩ t₂) ⊆ s₁ / t₁ ∪ s₂ / t₂
-- Finset.subset_sub
@[to_additive
      "If a finset `u` is contained in the sum of two sets `s - t`, we can find two finsets
      `s'`, `t'` such that `s' ⊆ s`, `t' ⊆ t` and `u ⊆ s' - t'`."]
theorem subset_div {s t : Set α} :
    ↑u ⊆ s / t → ∃ s' t' : Finset α, ↑s' ⊆ s ∧ ↑t' ⊆ t ∧ u ⊆ s' / t' 
Arguments: {α : Type u_2} [DecidableEq α] [Sub α] {u : Finset α} {s t : Set α}
Goal: ↑u ⊆ s - t → ∃ s' t', ↑s' ⊆ s ∧ ↑t' ⊆ t ∧ u ⊆ s' - t'
-- Finset.subset_div
@[to_additive
      "If a finset `u` is contained in the sum of two sets `s - t`, we can find two finsets
      `s'`, `t'` such that `s' ⊆ s`, `t' ⊆ t` and `u ⊆ s' - t'`."]
theorem subset_div {s t : Set α} :
    ↑u ⊆ s / t → ∃ s' t' : Finset α, ↑s' ⊆ s ∧ ↑t' ⊆ t ∧ u ⊆ s' / t' 
Arguments: {α : Type u_2} [DecidableEq α] [Div α] {u : Finset α} {s t : Set α}
Goal: ↑u ⊆ s / t → ∃ s' t', ↑s' ⊆ s ∧ ↑t' ⊆ t ∧ u ⊆ s' / t'
-- Finset.sup_sub_le
@[to_additive (attr := simp (default + 1))]
lemma sup_div_le [SemilatticeSup β] [OrderBot β] {s t : Finset α} {f : α → β} {a : β} :
    sup (s / t) f ≤ a ↔ ∀ x ∈ s, ∀ y ∈ t, f (x /  y) ≤ a 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Sub α] [SemilatticeSup β] [OrderBot β] {s t : Finset α} {f : α → β} {a : β}
Goal: (s - t).sup f ≤ a ↔ ∀ x ∈ s, ∀ y ∈ t, f (x - y) ≤ a
-- Finset.sup_div_le
@[to_additive (attr := simp (default + 1))]
lemma sup_div_le [SemilatticeSup β] [OrderBot β] {s t : Finset α} {f : α → β} {a : β} :
    sup (s / t) f ≤ a ↔ ∀ x ∈ s, ∀ y ∈ t, f (x /  y) ≤ a 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Div α] [SemilatticeSup β] [OrderBot β] {s t : Finset α} {f : α → β} {a : β}
Goal: (s / t).sup f ≤ a ↔ ∀ x ∈ s, ∀ y ∈ t, f (x / y) ≤ a
-- Finset.sup_sub_left
@[to_additive]
lemma sup_div_left [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β) :
    sup (s / t) f = sup s fun x ↦ sup t (f <| x / ·) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Sub α] [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β)
Goal: (s - t).sup f = s.sup fun x => t.sup fun x_1 => f (x - x_1)
-- Finset.sup_div_left
@[to_additive]
lemma sup_div_left [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β) :
    sup (s / t) f = sup s fun x ↦ sup t (f <| x / ·) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Div α] [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β)
Goal: (s / t).sup f = s.sup fun x => t.sup fun x_1 => f (x / x_1)
-- Finset.sup_div_right
@[to_additive]
lemma sup_div_right [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β) :
    sup (s / t) f = sup t fun y ↦ sup s (f <| · / y) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Div α] [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β)
Goal: (s / t).sup f = t.sup fun y => s.sup fun x => f (x / y)
-- Finset.sup_sub_right
@[to_additive]
lemma sup_div_right [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β) :
    sup (s / t) f = sup t fun y ↦ sup s (f <| · / y) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Sub α] [SemilatticeSup β] [OrderBot β] (s t : Finset α) (f : α → β)
Goal: (s - t).sup f = t.sup fun y => s.sup fun x => f (x - y)
-- Finset.le_inf_div
@[to_additive (attr := simp (default + 1))]
lemma le_inf_div [SemilatticeInf β] [OrderTop β] {s t : Finset α} {f : α → β} {a : β} :
    a ≤ inf (s / t) f ↔ ∀ x ∈ s, ∀ y ∈ t, a ≤ f (x / y) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Div α] [SemilatticeInf β] [OrderTop β] {s t : Finset α} {f : α → β} {a : β}
Goal: a ≤ (s / t).inf f ↔ ∀ x ∈ s, ∀ y ∈ t, a ≤ f (x / y)
-- Finset.le_inf_sub
@[to_additive (attr := simp (default + 1))]
lemma le_inf_div [SemilatticeInf β] [OrderTop β] {s t : Finset α} {f : α → β} {a : β} :
    a ≤ inf (s / t) f ↔ ∀ x ∈ s, ∀ y ∈ t, a ≤ f (x / y) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Sub α] [SemilatticeInf β] [OrderTop β] {s t : Finset α} {f : α → β} {a : β}
Goal: a ≤ (s - t).inf f ↔ ∀ x ∈ s, ∀ y ∈ t, a ≤ f (x - y)
-- Finset.inf_div_left
@[to_additive]
lemma inf_div_left [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β) :
    inf (s / t) f = inf s fun x ↦ inf t (f <| x / ·) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Div α] [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β)
Goal: (s / t).inf f = s.inf fun x => t.inf fun x_1 => f (x / x_1)
-- Finset.inf_sub_left
@[to_additive]
lemma inf_div_left [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β) :
    inf (s / t) f = inf s fun x ↦ inf t (f <| x / ·) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Sub α] [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β)
Goal: (s - t).inf f = s.inf fun x => t.inf fun x_1 => f (x - x_1)
-- Finset.inf_sub_right
@[to_additive]
lemma inf_div_right [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β) :
    inf (s / t) f = inf t fun y ↦ inf s (f <| · / y) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Sub α] [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β)
Goal: (s - t).inf f = t.inf fun y => s.inf fun x => f (x - y)
-- Finset.inf_div_right
@[to_additive]
lemma inf_div_right [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β) :
    inf (s / t) f = inf t fun y ↦ inf s (f <| · / y) 
Arguments: {α : Type u_2} {β : Type u_3} [DecidableEq α] [Div α] [SemilatticeInf β] [OrderTop β] (s t : Finset α) (f : α → β)
Goal: (s / t).inf f = t.inf fun y => s.inf fun x => f (x / y)
-- Finset.inter_mul_union_subset
@[to_additive]
theorem inter_mul_union_subset : s ∩ t * (s ∪ t) ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [CommSemigroup α] {s t : Finset α}
Goal: s ∩ t * (s ∪ t) ⊆ s * t
-- Finset.inter_add_union_subset
@[to_additive]
theorem inter_mul_union_subset : s ∩ t * (s ∪ t) ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [AddCommSemigroup α] {s t : Finset α}
Goal: s ∩ t + (s ∪ t) ⊆ s + t
-- Finset.union_add_inter_subset
@[to_additive]
theorem union_mul_inter_subset : (s ∪ t) * (s ∩ t) ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [AddCommSemigroup α] {s t : Finset α}
Goal: s ∪ t + s ∩ t ⊆ s + t
-- Finset.union_mul_inter_subset
@[to_additive]
theorem union_mul_inter_subset : (s ∪ t) * (s ∩ t) ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [CommSemigroup α] {s t : Finset α}
Goal: (s ∪ t) * (s ∩ t) ⊆ s * t
-- Finset.subset_mul_left
@[to_additive]
theorem subset_mul_left (s : Finset α) {t : Finset α} (ht : (1 : α) ∈ t) : s ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [MulOneClass α] (s : Finset α) {t : Finset α} (ht : 1 ∈ t)
Goal: s ⊆ s * t
-- Finset.subset_add_left
@[to_additive]
theorem subset_mul_left (s : Finset α) {t : Finset α} (ht : (1 : α) ∈ t) : s ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [AddZeroClass α] (s : Finset α) {t : Finset α} (ht : 0 ∈ t)
Goal: s ⊆ s + t
-- Finset.subset_mul_right
@[to_additive]
theorem subset_mul_right {s : Finset α} (t : Finset α) (hs : (1 : α) ∈ s) : t ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [MulOneClass α] {s : Finset α} (t : Finset α) (hs : 1 ∈ s)
Goal: t ⊆ s * t
-- Finset.subset_add_right
@[to_additive]
theorem subset_mul_right {s : Finset α} (t : Finset α) (hs : (1 : α) ∈ s) : t ⊆ s * t 
Arguments: {α : Type u_2} [DecidableEq α] [AddZeroClass α] {s : Finset α} (t : Finset α) (hs : 0 ∈ s)
Goal: t ⊆ s + t
-- Finset.coe_singletonAddMonoidHom
@[to_additive (attr := simp)]
theorem coe_singletonMonoidHom : (singletonMonoidHom : α → Finset α) = singleton 
Arguments: {α : Type u_2} [DecidableEq α] [AddZeroClass α]
Goal: ⇑Finset.singletonAddMonoidHom = singleton
-- Finset.coe_singletonMonoidHom
@[to_additive (attr := simp)]
theorem coe_singletonMonoidHom : (singletonMonoidHom : α → Finset α) = singleton 
Arguments: {α : Type u_2} [DecidableEq α] [MulOneClass α]
Goal: ⇑Finset.singletonMonoidHom = singleton
-- Finset.singletonMonoidHom_apply
@[to_additive (attr := simp)]
theorem singletonMonoidHom_apply (a : α) : singletonMonoidHom a = {a} 
Arguments: {α : Type u_2} [DecidableEq α] [MulOneClass α] (a : α)
Goal: Finset.singletonMonoidHom a = {a}
-- Finset.singletonAddMonoidHom_apply
@[to_additive (attr := simp)]
theorem singletonMonoidHom_apply (a : α) : singletonMonoidHom a = {a} 
Arguments: {α : Type u_2} [DecidableEq α] [AddZeroClass α] (a : α)
Goal: Finset.singletonAddMonoidHom a = {a}
-- Finset.coe_coeAddMonoidHom
@[to_additive (attr := simp)]
theorem coe_coeMonoidHom : (coeMonoidHom : Finset α → Set α) = CoeTC.coe 
Arguments: {α : Type u_2} [DecidableEq α] [AddZeroClass α]
Goal: ⇑Finset.coeAddMonoidHom = CoeTC.coe
-- Finset.coe_coeMonoidHom
@[to_additive (attr := simp)]
theorem coe_coeMonoidHom : (coeMonoidHom : Finset α → Set α) = CoeTC.coe 
Arguments: {α : Type u_2} [DecidableEq α] [MulOneClass α]
Goal: ⇑Finset.coeMonoidHom = CoeTC.coe
-- Finset.coeMonoidHom_apply
@[to_additive (attr := simp)]
theorem coeMonoidHom_apply (s : Finset α) : coeMonoidHom s = s 
Arguments: {α : Type u_2} [DecidableEq α] [MulOneClass α] (s : Finset α)
Goal: Finset.coeMonoidHom s = ↑s
-- Finset.coeAddMonoidHom_apply
@[to_additive (attr := simp)]
theorem coeMonoidHom_apply (s : Finset α) : coeMonoidHom s = s 
Arguments: {α : Type u_2} [DecidableEq α] [AddZeroClass α] (s : Finset α)
Goal: Finset.coeAddMonoidHom s = ↑s
-- Finset.imageMonoidHom_apply
@[to_additive (attr := simps) "Lift an `add_monoid_hom` to `Finset` via `image`"]
def imageMonoidHom [MulOneClass β] [FunLike F α β] [MonoidHomClass F α β] (f : F) :
    Finset α →* Finset β 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [DecidableEq α] [DecidableEq β] [MulOneClass α] [MulOneClass β] [FunLike F α β] [MonoidHomClass F α β] (f : F)
Goal: ∀ (a : Finset α), (Finset.imageMonoidHom f) a = (Finset.imageMulHom f).toFun a
-- Finset.imageAddMonoidHom_apply
@[to_additive (attr := simps) "Lift an `add_monoid_hom` to `Finset` via `image`"]
def imageMonoidHom [MulOneClass β] [FunLike F α β] [MonoidHomClass F α β] (f : F) :
    Finset α →* Finset β 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [DecidableEq α] [DecidableEq β] [AddZeroClass α] [AddZeroClass β] [FunLike F α β] [AddMonoidHomClass F α β] (f : F)
Goal: ∀ (a : Finset α), (Finset.imageAddMonoidHom f) a = (Finset.imageAddHom f).toFun a
-- Finset.coe_nsmul
@[to_additive (attr := simp, norm_cast)]
theorem coe_pow (s : Finset α) (n : ℕ) : ↑(s ^ n) = (s : Set α) ^ n 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] (s : Finset α) (n : ℕ)
Goal: ↑(n • s) = n • ↑s
-- Finset.coe_pow
@[to_additive (attr := simp, norm_cast)]
theorem coe_pow (s : Finset α) (n : ℕ) : ↑(s ^ n) = (s : Set α) ^ n 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] (s : Finset α) (n : ℕ)
Goal: ↑(s ^ n) = ↑s ^ n
-- Finset.pow_mem_pow
@[to_additive]
theorem pow_mem_pow (ha : a ∈ s) : ∀ n : ℕ, a ^ n ∈ s ^ n
  
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {s : Finset α} {a : α} (ha : a ∈ s) (n : ℕ)
Goal: a ^ n ∈ s ^ n
-- Finset.nsmul_mem_nsmul
@[to_additive]
theorem pow_mem_pow (ha : a ∈ s) : ∀ n : ℕ, a ^ n ∈ s ^ n
  
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {s : Finset α} {a : α} (ha : a ∈ s) (n : ℕ)
Goal: n • a ∈ n • s
-- Finset.pow_subset_pow
@[to_additive]
theorem pow_subset_pow (hst : s ⊆ t) : ∀ n : ℕ, s ^ n ⊆ t ^ n
  
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {s t : Finset α} (hst : s ⊆ t) (n : ℕ)
Goal: s ^ n ⊆ t ^ n
-- Finset.nsmul_subset_nsmul
@[to_additive]
theorem pow_subset_pow (hst : s ⊆ t) : ∀ n : ℕ, s ^ n ⊆ t ^ n
  
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {s t : Finset α} (hst : s ⊆ t) (n : ℕ)
Goal: n • s ⊆ n • t
-- Finset.nsmul_subset_nsmul_of_zero_mem
@[to_additive]
theorem pow_subset_pow_of_one_mem (hs : (1 : α) ∈ s) : m ≤ n → s ^ m ⊆ s ^ n 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {s : Finset α} {m n : ℕ} (hs : 0 ∈ s)
Goal: m ≤ n → m • s ⊆ n • s
-- Finset.pow_subset_pow_of_one_mem
@[to_additive]
theorem pow_subset_pow_of_one_mem (hs : (1 : α) ∈ s) : m ≤ n → s ^ m ⊆ s ^ n 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {s : Finset α} {m n : ℕ} (hs : 1 ∈ s)
Goal: m ≤ n → s ^ m ⊆ s ^ n
-- Finset.coe_list_prod
@[to_additive (attr := simp, norm_cast)]
theorem coe_list_prod (s : List (Finset α)) : (↑s.prod : Set α) = (s.map (↑)).prod 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] (s : List (Finset α))
Goal: ↑s.prod = (List.map Finset.toSet s).prod
-- Finset.coe_list_sum
@[to_additive (attr := simp, norm_cast)]
theorem coe_list_prod (s : List (Finset α)) : (↑s.prod : Set α) = (s.map (↑)).prod 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] (s : List (Finset α))
Goal: ↑s.sum = (List.map Finset.toSet s).sum
-- Finset.mem_prod_list_ofFn
@[to_additive]
theorem mem_prod_list_ofFn {a : α} {s : Fin n → Finset α} :
    a ∈ (List.ofFn s).prod ↔ ∃ f : ∀ i : Fin n, s i, (List.ofFn fun i => (f i : α)).prod = a 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {n : ℕ} {a : α} {s : Fin n → Finset α}
Goal: a ∈ (List.ofFn s).prod ↔ ∃ f, (List.ofFn fun i => ↑(f i)).prod = a
-- Finset.mem_sum_list_ofFn
@[to_additive]
theorem mem_prod_list_ofFn {a : α} {s : Fin n → Finset α} :
    a ∈ (List.ofFn s).prod ↔ ∃ f : ∀ i : Fin n, s i, (List.ofFn fun i => (f i : α)).prod = a 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {n : ℕ} {a : α} {s : Fin n → Finset α}
Goal: a ∈ (List.ofFn s).sum ↔ ∃ f, (List.ofFn fun i => ↑(f i)).sum = a
-- Finset.mem_pow
@[to_additive]
theorem mem_pow {a : α} {n : ℕ} :
    a ∈ s ^ n ↔ ∃ f : Fin n → s, (List.ofFn fun i => ↑(f i)).prod = a 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {s : Finset α} {a : α} {n : ℕ}
Goal: a ∈ s ^ n ↔ ∃ f, (List.ofFn fun i => ↑(f i)).prod = a
-- Finset.mem_nsmul
@[to_additive]
theorem mem_pow {a : α} {n : ℕ} :
    a ∈ s ^ n ↔ ∃ f : Fin n → s, (List.ofFn fun i => ↑(f i)).prod = a 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {s : Finset α} {a : α} {n : ℕ}
Goal: a ∈ n • s ↔ ∃ f, (List.ofFn fun i => ↑(f i)).sum = a
-- Finset.empty_nsmul
@[to_additive (attr := simp)]
theorem empty_pow (hn : n ≠ 0) : (∅ : Finset α) ^ n = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {n : ℕ} (hn : n ≠ 0)
Goal: n • ∅ = ∅
-- Finset.empty_pow
@[to_additive (attr := simp)]
theorem empty_pow (hn : n ≠ 0) : (∅ : Finset α) ^ n = ∅ 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {n : ℕ} (hn : n ≠ 0)
Goal: ∅ ^ n = ∅
-- Finset.add_univ_of_zero_mem
@[to_additive]
theorem mul_univ_of_one_mem [Fintype α] (hs : (1 : α) ∈ s) : s * univ = univ 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {s : Finset α} [Fintype α] (hs : 0 ∈ s)
Goal: s + Finset.univ = Finset.univ
-- Finset.mul_univ_of_one_mem
@[to_additive]
theorem mul_univ_of_one_mem [Fintype α] (hs : (1 : α) ∈ s) : s * univ = univ 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {s : Finset α} [Fintype α] (hs : 1 ∈ s)
Goal: s * Finset.univ = Finset.univ
-- Finset.univ_mul_of_one_mem
@[to_additive]
theorem univ_mul_of_one_mem [Fintype α] (ht : (1 : α) ∈ t) : univ * t = univ 
Arguments: {α : Type u_2} [DecidableEq α] [Monoid α] {t : Finset α} [Fintype α] (ht : 1 ∈ t)
Goal: Finset.univ * t = Finset.univ
-- Finset.univ_add_of_zero_mem
@[to_additive]
theorem univ_mul_of_one_mem [Fintype α] (ht : (1 : α) ∈ t) : univ * t = univ 
Arguments: {α : Type u_2} [DecidableEq α] [AddMonoid α] {t : Finset α} [Fintype α] (ht : 0 ∈ t)
Goal: Finset.univ + t = Finset.univ