ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Multiset.mem_nsmul_of_ne_zero
lemma mem_nsmul_of_ne_zero {a : α} {s : Multiset α} {n : ℕ} (h0 : n ≠ 0) : a ∈ n • s ↔ a ∈ s 
Arguments: {α : Type u_1} {a : α} {s : Multiset α} {n : ℕ} (h0 : n ≠ 0)
Goal: a ∈ n • s ↔ a ∈ s
-- Multiset.nsmul_cons
theorem nsmul_cons {s : Multiset α} (n : ℕ) (a : α) :
    n • (a ::ₘ s) = n • ({a} : Multiset α) + n • s 
Arguments: {α : Type u_1} {s : Multiset α} (n : ℕ) (a : α)
Goal: n • (a ::ₘ s) = n • {a} + n • s
-- Multiset.coe_card
@[simp]
theorem coe_card (l : List α) : card (l : Multiset α) = length l 
Arguments: {α : Type u_1} (l : List α)
Goal: Multiset.card ↑l = l.length
-- Multiset.length_toList
@[simp]
theorem length_toList (s : Multiset α) : s.toList.length = card s 
Arguments: {α : Type u_1} (s : Multiset α)
Goal: s.toList.length = Multiset.card s
-- Multiset.card_zero
@[simp]
theorem card_zero : @card α 0 = 0 
Arguments: {α : Type u_1}
Goal: Multiset.card 0 = 0
-- Multiset.card_add
theorem card_add (s t : Multiset α) : card (s + t) = card s + card t 
Arguments: {α : Type u_1} (s t : Multiset α)
Goal: Multiset.card (s + t) = Multiset.card s + Multiset.card t
-- Multiset.card_nsmul
theorem card_nsmul (s : Multiset α) (n : ℕ) : card (n • s) = n * card s 
Arguments: {α : Type u_1} (s : Multiset α) (n : ℕ)
Goal: Multiset.card (n • s) = n * Multiset.card s
-- Multiset.card_cons
@[simp]
theorem card_cons (a : α) (s : Multiset α) : card (a ::ₘ s) = card s + 1 
Arguments: {α : Type u_1} (a : α) (s : Multiset α)
Goal: Multiset.card (a ::ₘ s) = Multiset.card s + 1
-- Multiset.card_singleton
@[simp]
theorem card_singleton (a : α) : card ({a} : Multiset α) = 1 
Arguments: {α : Type u_1} (a : α)
Goal: Multiset.card {a} = 1
-- Multiset.card_pair
theorem card_pair (a b : α) : card {a, b} = 2 
Arguments: {α : Type u_1} (a b : α)
Goal: Multiset.card {a, b} = 2
-- Multiset.card_eq_one
theorem card_eq_one {s : Multiset α} : card s = 1 ↔ ∃ a, s = {a} 
Arguments: {α : Type u_1} {s : Multiset α}
Goal: Multiset.card s = 1 ↔ ∃ a, s = {a}
-- Multiset.card_le_card
theorem card_le_card {s t : Multiset α} (h : s ≤ t) : card s ≤ card t 
Arguments: {α : Type u_1} {s t : Multiset α} (h : s ≤ t)
Goal: Multiset.card s ≤ Multiset.card t
-- Multiset.card_mono
@[mono]
theorem card_mono : Monotone (@card α) 
Arguments: {α : Type u_1}
Goal: Monotone ⇑Multiset.card
-- Multiset.eq_of_le_of_card_le
theorem eq_of_le_of_card_le {s t : Multiset α} (h : s ≤ t) : card t ≤ card s → s = t 
Arguments: {α : Type u_1} {s t : Multiset α} (h : s ≤ t)
Goal: Multiset.card t ≤ Multiset.card s → s = t
-- Multiset.card_lt_card
theorem card_lt_card {s t : Multiset α} (h : s < t) : card s < card t 
Arguments: {α : Type u_1} {s t : Multiset α} (h : s < t)
Goal: Multiset.card s < Multiset.card t
-- Multiset.card_strictMono
lemma card_strictMono : StrictMono (card : Multiset α → ℕ) 
Arguments: {α : Type u_1}
Goal: StrictMono ⇑Multiset.card
-- Multiset.lt_iff_cons_le
theorem lt_iff_cons_le {s t : Multiset α} : s < t ↔ ∃ a, a ::ₘ s ≤ t 
Arguments: {α : Type u_1} {s t : Multiset α}
Goal: s < t ↔ ∃ a, a ::ₘ s ≤ t
-- Multiset.card_eq_zero
@[simp]
theorem card_eq_zero {s : Multiset α} : card s = 0 ↔ s = 0 
Arguments: {α : Type u_1} {s : Multiset α}
Goal: Multiset.card s = 0 ↔ s = 0
-- Multiset.card_pos
theorem card_pos {s : Multiset α} : 0 < card s ↔ s ≠ 0 
Arguments: {α : Type u_1} {s : Multiset α}
Goal: 0 < Multiset.card s ↔ s ≠ 0
-- Multiset.card_pos_iff_exists_mem
theorem card_pos_iff_exists_mem {s : Multiset α} : 0 < card s ↔ ∃ a, a ∈ s 
Arguments: {α : Type u_1} {s : Multiset α}
Goal: 0 < Multiset.card s ↔ ∃ a, a ∈ s
-- Multiset.card_eq_two
theorem card_eq_two {s : Multiset α} : card s = 2 ↔ ∃ x y, s = {x, y} 
Arguments: {α : Type u_1} {s : Multiset α}
Goal: Multiset.card s = 2 ↔ ∃ x y, s = {x, y}
-- Multiset.card_eq_three
theorem card_eq_three {s : Multiset α} : card s = 3 ↔ ∃ x y z, s = {x, y, z} 
Arguments: {α : Type u_1} {s : Multiset α}
Goal: Multiset.card s = 3 ↔ ∃ x y z, s = {x, y, z}
-- Multiset.strongInductionOn_eq
theorem strongInductionOn_eq {p : Multiset α → Sort*} (s : Multiset α) (H) :
    @strongInductionOn _ p s H = H s fun t _h => @strongInductionOn _ p t H 
Arguments: {α : Type u_1} {p : Multiset α → Sort u_3} (s : Multiset α) (H : (s : Multiset α) → ((t : Multiset α) → t < s → p t) → p s)
Goal: s.strongInductionOn H = H s fun t _h => t.strongInductionOn H
-- Multiset.case_strongInductionOn
@[elab_as_elim]
theorem case_strongInductionOn {p : Multiset α → Prop} (s : Multiset α) (h₀ : p 0)
    (h₁ : ∀ a s, (∀ t ≤ s, p t) → p (a ::ₘ s)) : p s 
Arguments: {α : Type u_1} {p : Multiset α → Prop} (s : Multiset α) (h₀ : p 0) (h₁ : ∀ (a : α) (s : Multiset α), (∀ t ≤ s, p t) → p (a ::ₘ s))
Goal: p s
-- Multiset.strongDownwardInduction_eq
theorem strongDownwardInduction_eq {p : Multiset α → Sort*} {n : ℕ}
    (H : ∀ t₁, (∀ {t₂ : Multiset α}, card t₂ ≤ n → t₁ < t₂ → p t₂) → card t₁ ≤ n → p t₁)
    (s : Multiset α) :
    strongDownwardInduction H s = H s fun ht _hst => strongDownwardInduction H _ ht 
Arguments: {α : Type u_1} {p : Multiset α → Sort u_3} {n : ℕ} (H : (t₁ : Multiset α) → ({t₂ : Multiset α} → Multiset.card t₂ ≤ n → t₁ < t₂ → p t₂) → Multiset.card t₁ ≤ n → p t₁) (s : Multiset α)
Goal: Multiset.strongDownwardInduction H s = H s fun {t₂} ht _hst => Multiset.strongDownwardInduction H t₂ ht
-- Multiset.strongDownwardInductionOn_eq
theorem strongDownwardInductionOn_eq {p : Multiset α → Sort*} (s : Multiset α) {n : ℕ}
    (H : ∀ t₁, (∀ {t₂ : Multiset α}, card t₂ ≤ n → t₁ < t₂ → p t₂) → card t₁ ≤ n → p t₁) :
    s.strongDownwardInductionOn H = H s fun {t} ht _h => t.strongDownwardInductionOn H ht 
Arguments: {α : Type u_1} {p : Multiset α → Sort u_3} (s : Multiset α) {n : ℕ} (H : (t₁ : Multiset α) → ({t₂ : Multiset α} → Multiset.card t₂ ≤ n → t₁ < t₂ → p t₂) → Multiset.card t₁ ≤ n → p t₁)
Goal: (fun a => s.strongDownwardInductionOn H a) = H s fun {t} ht _h => t.strongDownwardInductionOn H ht
-- Multiset.coe_replicate
theorem coe_replicate (n : ℕ) (a : α) : (List.replicate n a : Multiset α) = replicate n a 
Arguments: {α : Type u_1} (n : ℕ) (a : α)
Goal: ↑(List.replicate n a) = Multiset.replicate n a
-- Multiset.replicate_zero
@[simp] theorem replicate_zero (a : α) : replicate 0 a = 0 
Arguments: {α : Type u_1} (a : α)
Goal: Multiset.replicate 0 a = 0
-- Multiset.replicate_succ
@[simp] theorem replicate_succ (a : α) (n) : replicate (n + 1) a = a ::ₘ replicate n a 
Arguments: {α : Type u_1} (a : α) (n : ℕ)
Goal: Multiset.replicate (n + 1) a = a ::ₘ Multiset.replicate n a
-- Multiset.replicate_add
theorem replicate_add (m n : ℕ) (a : α) : replicate (m + n) a = replicate m a + replicate n a 
Arguments: {α : Type u_1} (m n : ℕ) (a : α)
Goal: Multiset.replicate (m + n) a = Multiset.replicate m a + Multiset.replicate n a
-- Multiset.replicateAddMonoidHom_apply
@[simps]
def replicateAddMonoidHom (a : α) : ℕ →+ Multiset α 
Arguments: {α : Type u_1} (a : α) (n : ℕ)
Goal: (Multiset.replicateAddMonoidHom a) n = Multiset.replicate n a
-- Multiset.replicate_one
theorem replicate_one (a : α) : replicate 1 a = {a} 
Arguments: {α : Type u_1} (a : α)
Goal: Multiset.replicate 1 a = {a}
-- Multiset.card_replicate
@[simp] theorem card_replicate (n) (a : α) : card (replicate n a) = n 
Arguments: {α : Type u_1} (n : ℕ) (a : α)
Goal: Multiset.card (Multiset.replicate n a) = n
-- Multiset.mem_replicate
theorem mem_replicate {a b : α} {n : ℕ} : b ∈ replicate n a ↔ n ≠ 0 ∧ b = a 
Arguments: {α : Type u_1} {a b : α} {n : ℕ}
Goal: b ∈ Multiset.replicate n a ↔ n ≠ 0 ∧ b = a
-- Multiset.eq_of_mem_replicate
theorem eq_of_mem_replicate {a b : α} {n} : b ∈ replicate n a → b = a 
Arguments: {α : Type u_1} {a b : α} {n : ℕ}
Goal: b ∈ Multiset.replicate n a → b = a
-- Multiset.eq_replicate_card
theorem eq_replicate_card {a : α} {s : Multiset α} : s = replicate (card s) a ↔ ∀ b ∈ s, b = a 
Arguments: {α : Type u_1} {a : α} {s : Multiset α}
Goal: s = Multiset.replicate (Multiset.card s) a ↔ ∀ b ∈ s, b = a
-- Multiset.eq_replicate
theorem eq_replicate {a : α} {n} {s : Multiset α} :
    s = replicate n a ↔ card s = n ∧ ∀ b ∈ s, b = a 
Arguments: {α : Type u_1} {a : α} {n : ℕ} {s : Multiset α}
Goal: s = Multiset.replicate n a ↔ Multiset.card s = n ∧ ∀ b ∈ s, b = a
-- Multiset.replicate_right_injective
theorem replicate_right_injective {n : ℕ} (hn : n ≠ 0) : Injective (@replicate α n) 
Arguments: {α : Type u_1} {n : ℕ} (hn : n ≠ 0)
Goal: Function.Injective (Multiset.replicate n)
-- Multiset.replicate_right_inj
@[simp] theorem replicate_right_inj {a b : α} {n : ℕ} (h : n ≠ 0) :
    replicate n a = replicate n b ↔ a = b 
Arguments: {α : Type u_1} {a b : α} {n : ℕ} (h : n ≠ 0)
Goal: Multiset.replicate n a = Multiset.replicate n b ↔ a = b
-- Multiset.replicate_left_injective
theorem replicate_left_injective (a : α) : Injective (replicate · a) 
Arguments: {α : Type u_1} (a : α)
Goal: Function.Injective fun x => Multiset.replicate x a
-- Multiset.replicate_subset_singleton
theorem replicate_subset_singleton (n : ℕ) (a : α) : replicate n a ⊆ {a} 
Arguments: {α : Type u_1} (n : ℕ) (a : α)
Goal: Multiset.replicate n a ⊆ {a}
-- Multiset.replicate_le_coe
theorem replicate_le_coe {a : α} {n} {l : List α} : replicate n a ≤ l ↔ List.replicate n a <+ l 
Arguments: {α : Type u_1} {a : α} {n : ℕ} {l : List α}
Goal: Multiset.replicate n a ≤ ↑l ↔ List.replicate n a <+ l
-- Multiset.nsmul_replicate
theorem nsmul_replicate {a : α} (n m : ℕ) : n • replicate m a = replicate (n * m) a 
Arguments: {α : Type u_1} {a : α} (n m : ℕ)
Goal: n • Multiset.replicate m a = Multiset.replicate (n * m) a
-- Multiset.nsmul_singleton
theorem nsmul_singleton (a : α) (n) : n • ({a} : Multiset α) = replicate n a 
Arguments: {α : Type u_1} (a : α) (n : ℕ)
Goal: n • {a} = Multiset.replicate n a
-- Multiset.replicate_le_replicate
theorem replicate_le_replicate (a : α) {k n : ℕ} : replicate k a ≤ replicate n a ↔ k ≤ n 
Arguments: {α : Type u_1} (a : α) {k n : ℕ}
Goal: Multiset.replicate k a ≤ Multiset.replicate n a ↔ k ≤ n
-- Multiset.le_replicate_iff
theorem le_replicate_iff {m : Multiset α} {a : α} {n : ℕ} :
    m ≤ replicate n a ↔ ∃ k ≤ n, m = replicate k a 
Arguments: {α : Type u_1} {m : Multiset α} {a : α} {n : ℕ}
Goal: m ≤ Multiset.replicate n a ↔ ∃ k ≤ n, m = Multiset.replicate k a
-- Multiset.lt_replicate_succ
theorem lt_replicate_succ {m : Multiset α} {x : α} {n : ℕ} :
    m < replicate (n + 1) x ↔ m ≤ replicate n x 
Arguments: {α : Type u_1} {m : Multiset α} {x : α} {n : ℕ}
Goal: m < Multiset.replicate (n + 1) x ↔ m ≤ Multiset.replicate n x
-- Multiset.coe_erase
@[simp]
theorem coe_erase (l : List α) (a : α) : erase (l : Multiset α) a = l.erase a 
Arguments: {α : Type u_1} [DecidableEq α] (l : List α) (a : α)
Goal: (↑l).erase a = ↑(l.erase a)
-- Multiset.erase_zero
@[simp]
theorem erase_zero (a : α) : (0 : Multiset α).erase a = 0 
Arguments: {α : Type u_1} [DecidableEq α] (a : α)
Goal: Multiset.erase 0 a = 0
-- Multiset.erase_cons_head
@[simp]
theorem erase_cons_head (a : α) (s : Multiset α) : (a ::ₘ s).erase a = s 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Multiset α)
Goal: (a ::ₘ s).erase a = s
-- Multiset.erase_cons_tail
@[simp]
theorem erase_cons_tail {a b : α} (s : Multiset α) (h : b ≠ a) :
    (b ::ₘ s).erase a = b ::ₘ s.erase a 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α} (s : Multiset α) (h : b ≠ a)
Goal: (b ::ₘ s).erase a = b ::ₘ s.erase a
-- Multiset.erase_singleton
@[simp]
theorem erase_singleton (a : α) : ({a} : Multiset α).erase a = 0 
Arguments: {α : Type u_1} [DecidableEq α] (a : α)
Goal: {a}.erase a = 0
-- Multiset.erase_of_not_mem
@[simp]
theorem erase_of_not_mem {a : α} {s : Multiset α} : a ∉ s → s.erase a = s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α}
Goal: a ∉ s → s.erase a = s
-- Multiset.cons_erase
@[simp]
theorem cons_erase {s : Multiset α} {a : α} : a ∈ s → a ::ₘ s.erase a = s 
Arguments: {α : Type u_1} [DecidableEq α] {s : Multiset α} {a : α}
Goal: a ∈ s → a ::ₘ s.erase a = s
-- Multiset.erase_cons_tail_of_mem
theorem erase_cons_tail_of_mem (h : a ∈ s) :
    (b ::ₘ s).erase a = b ::ₘ s.erase a 
Arguments: {α : Type u_1} [DecidableEq α] {s : Multiset α} {a b : α} (h : a ∈ s)
Goal: (b ::ₘ s).erase a = b ::ₘ s.erase a
-- Multiset.le_cons_erase
theorem le_cons_erase (s : Multiset α) (a : α) : s ≤ a ::ₘ s.erase a 
Arguments: {α : Type u_1} [DecidableEq α] (s : Multiset α) (a : α)
Goal: s ≤ a ::ₘ s.erase a
-- Multiset.add_singleton_eq_iff
theorem add_singleton_eq_iff {s t : Multiset α} {a : α} : s + {a} = t ↔ a ∈ t ∧ s = t.erase a 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Multiset α} {a : α}
Goal: s + {a} = t ↔ a ∈ t ∧ s = t.erase a
-- Multiset.erase_add_left_pos
theorem erase_add_left_pos {a : α} {s : Multiset α} (t) : a ∈ s → (s + t).erase a = s.erase a + t 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α} (t : Multiset α)
Goal: a ∈ s → (s + t).erase a = s.erase a + t
-- Multiset.erase_add_right_pos
theorem erase_add_right_pos {a : α} (s) {t : Multiset α} (h : a ∈ t) :
    (s + t).erase a = s + t.erase a 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} (s : Multiset α) {t : Multiset α} (h : a ∈ t)
Goal: (s + t).erase a = s + t.erase a
-- Multiset.erase_add_right_neg
theorem erase_add_right_neg {a : α} {s : Multiset α} (t) :
    a ∉ s → (s + t).erase a = s + t.erase a 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α} (t : Multiset α)
Goal: a ∉ s → (s + t).erase a = s + t.erase a
-- Multiset.erase_add_left_neg
theorem erase_add_left_neg {a : α} (s) {t : Multiset α} (h : a ∉ t) :
    (s + t).erase a = s.erase a + t 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} (s : Multiset α) {t : Multiset α} (h : a ∉ t)
Goal: (s + t).erase a = s.erase a + t
-- Multiset.erase_le
theorem erase_le (a : α) (s : Multiset α) : s.erase a ≤ s 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Multiset α)
Goal: s.erase a ≤ s
-- Multiset.erase_lt
@[simp]
theorem erase_lt {a : α} {s : Multiset α} : s.erase a < s ↔ a ∈ s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α}
Goal: s.erase a < s ↔ a ∈ s
-- Multiset.erase_subset
theorem erase_subset (a : α) (s : Multiset α) : s.erase a ⊆ s 
Arguments: {α : Type u_1} [DecidableEq α] (a : α) (s : Multiset α)
Goal: s.erase a ⊆ s
-- Multiset.mem_erase_of_ne
theorem mem_erase_of_ne {a b : α} {s : Multiset α} (ab : a ≠ b) : a ∈ s.erase b ↔ a ∈ s 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α} {s : Multiset α} (ab : a ≠ b)
Goal: a ∈ s.erase b ↔ a ∈ s
-- Multiset.mem_of_mem_erase
theorem mem_of_mem_erase {a b : α} {s : Multiset α} : a ∈ s.erase b → a ∈ s 
Arguments: {α : Type u_1} [DecidableEq α] {a b : α} {s : Multiset α}
Goal: a ∈ s.erase b → a ∈ s
-- Multiset.erase_comm
theorem erase_comm (s : Multiset α) (a b : α) : (s.erase a).erase b = (s.erase b).erase a 
Arguments: {α : Type u_1} [DecidableEq α] (s : Multiset α) (a b : α)
Goal: (s.erase a).erase b = (s.erase b).erase a
-- Multiset.erase_le_erase
theorem erase_le_erase {s t : Multiset α} (a : α) (h : s ≤ t) : s.erase a ≤ t.erase a 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Multiset α} (a : α) (h : s ≤ t)
Goal: s.erase a ≤ t.erase a
-- Multiset.erase_le_iff_le_cons
theorem erase_le_iff_le_cons {s t : Multiset α} {a : α} : s.erase a ≤ t ↔ s ≤ a ::ₘ t 
Arguments: {α : Type u_1} [DecidableEq α] {s t : Multiset α} {a : α}
Goal: s.erase a ≤ t ↔ s ≤ a ::ₘ t
-- Multiset.card_erase_of_mem
@[simp]
theorem card_erase_of_mem {a : α} {s : Multiset α} : a ∈ s → card (s.erase a) = pred (card s) 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α}
Goal: a ∈ s → Multiset.card (s.erase a) = (Multiset.card s).pred
-- Multiset.card_erase_add_one
@[simp]
theorem card_erase_add_one {a : α} {s : Multiset α} : a ∈ s → card (s.erase a) + 1 = card s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α}
Goal: a ∈ s → Multiset.card (s.erase a) + 1 = Multiset.card s
-- Multiset.card_erase_lt_of_mem
theorem card_erase_lt_of_mem {a : α} {s : Multiset α} : a ∈ s → card (s.erase a) < card s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α}
Goal: a ∈ s → Multiset.card (s.erase a) < Multiset.card s
-- Multiset.card_erase_le
theorem card_erase_le {a : α} {s : Multiset α} : card (s.erase a) ≤ card s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α}
Goal: Multiset.card (s.erase a) ≤ Multiset.card s
-- Multiset.card_erase_eq_ite
theorem card_erase_eq_ite {a : α} {s : Multiset α} :
    card (s.erase a) = if a ∈ s then pred (card s) else card s 
Arguments: {α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α}
Goal: Multiset.card (s.erase a) = if a ∈ s then (Multiset.card s).pred else Multiset.card s
-- Multiset.coe_reverse
@[simp]
theorem coe_reverse (l : List α) : (reverse l : Multiset α) = l 
Arguments: {α : Type u_1} (l : List α)
Goal: ↑l.reverse = ↑l
-- Multiset.map_congr
@[congr]
theorem map_congr {f g : α → β} {s t : Multiset α} :
    s = t → (∀ x ∈ t, f x = g x) → map f s = map g t 
Arguments: {α : Type u_1} {β : Type v} {f g : α → β} {s t : Multiset α}
Goal: s = t → (∀ x ∈ t, f x = g x) → Multiset.map f s = Multiset.map g t
-- Multiset.map_hcongr
theorem map_hcongr {β' : Type v} {m : Multiset α} {f : α → β} {f' : α → β'} (h : β = β')
    (hf : ∀ a ∈ m, HEq (f a) (f' a)) : HEq (map f m) (map f' m) 
Arguments: {α : Type u_1} {β β' : Type v} {m : Multiset α} {f : α → β} {f' : α → β'} (h : β = β') (hf : ∀ a ∈ m, HEq (f a) (f' a))
Goal: HEq (Multiset.map f m) (Multiset.map f' m)
-- Multiset.forall_mem_map_iff
theorem forall_mem_map_iff {f : α → β} {p : β → Prop} {s : Multiset α} :
    (∀ y ∈ s.map f, p y) ↔ ∀ x ∈ s, p (f x) 
Arguments: {α : Type u_1} {β : Type v} {f : α → β} {p : β → Prop} {s : Multiset α}
Goal: (∀ y ∈ Multiset.map f s, p y) ↔ ∀ x ∈ s, p (f x)
-- Multiset.map_coe
@[simp, norm_cast] lemma map_coe (f : α → β) (l : List α) : map f l = l.map f 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (l : List α)
Goal: Multiset.map f ↑l = ↑(List.map f l)
-- Multiset.map_zero
@[simp]
theorem map_zero (f : α → β) : map f 0 = 0 
Arguments: {α : Type u_1} {β : Type v} (f : α → β)
Goal: Multiset.map f 0 = 0
-- Multiset.map_cons
@[simp]
theorem map_cons (f : α → β) (a s) : map f (a ::ₘ s) = f a ::ₘ map f s 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (a : α) (s : Multiset α)
Goal: Multiset.map f (a ::ₘ s) = f a ::ₘ Multiset.map f s
-- Multiset.map_comp_cons
theorem map_comp_cons (f : α → β) (t) : map f ∘ cons t = cons (f t) ∘ map f 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (t : α)
Goal: Multiset.map f ∘ Multiset.cons t = Multiset.cons (f t) ∘ Multiset.map f
-- Multiset.map_singleton
@[simp]
theorem map_singleton (f : α → β) (a : α) : ({a} : Multiset α).map f = {f a} 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (a : α)
Goal: Multiset.map f {a} = {f a}
-- Multiset.map_replicate
@[simp]
theorem map_replicate (f : α → β) (k : ℕ) (a : α) : (replicate k a).map f = replicate k (f a) 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (k : ℕ) (a : α)
Goal: Multiset.map f (Multiset.replicate k a) = Multiset.replicate k (f a)
-- Multiset.map_add
@[simp]
theorem map_add (f : α → β) (s t) : map f (s + t) = map f s + map f t 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (s t : Multiset α)
Goal: Multiset.map f (s + t) = Multiset.map f s + Multiset.map f t
-- Multiset.coe_mapAddMonoidHom
@[simp]
theorem coe_mapAddMonoidHom (f : α → β) :
    (mapAddMonoidHom f : Multiset α → Multiset β) = map f 
Arguments: {α : Type u_1} {β : Type v} (f : α → β)
Goal: ⇑(Multiset.mapAddMonoidHom f) = Multiset.map f
-- Multiset.map_nsmul
theorem map_nsmul (f : α → β) (n : ℕ) (s) : map f (n • s) = n • map f s 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (n : ℕ) (s : Multiset α)
Goal: Multiset.map f (n • s) = n • Multiset.map f s
-- Multiset.mem_map
@[simp]
theorem mem_map {f : α → β} {b : β} {s : Multiset α} : b ∈ map f s ↔ ∃ a, a ∈ s ∧ f a = b 
Arguments: {α : Type u_1} {β : Type v} {f : α → β} {b : β} {s : Multiset α}
Goal: b ∈ Multiset.map f s ↔ ∃ a ∈ s, f a = b
-- Multiset.card_map
@[simp]
theorem card_map (f : α → β) (s) : card (map f s) = card s 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (s : Multiset α)
Goal: Multiset.card (Multiset.map f s) = Multiset.card s
-- Multiset.map_eq_zero
@[simp]
theorem map_eq_zero {s : Multiset α} {f : α → β} : s.map f = 0 ↔ s = 0 
Arguments: {α : Type u_1} {β : Type v} {s : Multiset α} {f : α → β}
Goal: Multiset.map f s = 0 ↔ s = 0
-- Multiset.mem_map_of_mem
theorem mem_map_of_mem (f : α → β) {a : α} {s : Multiset α} (h : a ∈ s) : f a ∈ map f s 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) {a : α} {s : Multiset α} (h : a ∈ s)
Goal: f a ∈ Multiset.map f s
-- Multiset.map_eq_singleton
theorem map_eq_singleton {f : α → β} {s : Multiset α} {b : β} :
    map f s = {b} ↔ ∃ a : α, s = {a} ∧ f a = b 
Arguments: {α : Type u_1} {β : Type v} {f : α → β} {s : Multiset α} {b : β}
Goal: Multiset.map f s = {b} ↔ ∃ a, s = {a} ∧ f a = b
-- Multiset.map_eq_cons
theorem map_eq_cons [DecidableEq α] (f : α → β) (s : Multiset α) (t : Multiset β) (b : β) :
    (∃ a ∈ s, f a = b ∧ (s.erase a).map f = t) ↔ s.map f = b ::ₘ t 
Arguments: {α : Type u_1} {β : Type v} [DecidableEq α] (f : α → β) (s : Multiset α) (t : Multiset β) (b : β)
Goal: (∃ a ∈ s, f a = b ∧ Multiset.map f (s.erase a) = t) ↔ Multiset.map f s = b ::ₘ t
-- Multiset.mem_map_of_injective
@[simp 1100, nolint simpNF]
theorem mem_map_of_injective {f : α → β} (H : Function.Injective f) {a : α} {s : Multiset α} :
    f a ∈ map f s ↔ a ∈ s 
Arguments: {α : Type u_1} {β : Type v} {f : α → β} (H : Function.Injective f) {a : α} {s : Multiset α}
Goal: f a ∈ Multiset.map f s ↔ a ∈ s
-- Multiset.map_map
@[simp]
theorem map_map (g : β → γ) (f : α → β) (s : Multiset α) : map g (map f s) = map (g ∘ f) s 
Arguments: {α : Type u_1} {β : Type v} {γ : Type u_2} (g : β → γ) (f : α → β) (s : Multiset α)
Goal: Multiset.map g (Multiset.map f s) = Multiset.map (g ∘ f) s
-- Multiset.map_id
theorem map_id (s : Multiset α) : map id s = s 
Arguments: {α : Type u_1} (s : Multiset α)
Goal: Multiset.map id s = s
-- Multiset.map_id'
@[simp]
theorem map_id' (s : Multiset α) : map (fun x => x) s = s 
Arguments: {α : Type u_1} (s : Multiset α)
Goal: Multiset.map (fun x => x) s = s
-- Multiset.map_const
theorem map_const (s : Multiset α) (b : β) : map (const α b) s = replicate (card s) b 
Arguments: {α : Type u_1} {β : Type v} (s : Multiset α) (b : β)
Goal: Multiset.map (Function.const α b) s = Multiset.replicate (Multiset.card s) b
-- Multiset.map_const'
@[simp] theorem map_const' (s : Multiset α) (b : β) : map (fun _ ↦ b) s = replicate (card s) b 
Arguments: {α : Type u_1} {β : Type v} (s : Multiset α) (b : β)
Goal: Multiset.map (fun x => b) s = Multiset.replicate (Multiset.card s) b
-- Multiset.eq_of_mem_map_const
theorem eq_of_mem_map_const {b₁ b₂ : β} {l : List α} (h : b₁ ∈ map (Function.const α b₂) l) :
    b₁ = b₂ 
Arguments: {α : Type u_1} {β : Type v} {b₁ b₂ : β} {l : List α} (h : b₁ ∈ Multiset.map (Function.const α b₂) ↑l)
Goal: b₁ = b₂
-- Multiset.map_le_map
@[simp]
theorem map_le_map {f : α → β} {s t : Multiset α} (h : s ≤ t) : map f s ≤ map f t 
Arguments: {α : Type u_1} {β : Type v} {f : α → β} {s t : Multiset α} (h : s ≤ t)
Goal: Multiset.map f s ≤ Multiset.map f t
-- Multiset.map_lt_map
@[simp]
theorem map_lt_map {f : α → β} {s t : Multiset α} (h : s < t) : s.map f < t.map f 
Arguments: {α : Type u_1} {β : Type v} {f : α → β} {s t : Multiset α} (h : s < t)
Goal: Multiset.map f s < Multiset.map f t
-- Multiset.map_mono
theorem map_mono (f : α → β) : Monotone (map f) 
Arguments: {α : Type u_1} {β : Type v} (f : α → β)
Goal: Monotone (Multiset.map f)
-- Multiset.map_strictMono
theorem map_strictMono (f : α → β) : StrictMono (map f) 
Arguments: {α : Type u_1} {β : Type v} (f : α → β)
Goal: StrictMono (Multiset.map f)
-- Multiset.map_subset_map
@[simp]
theorem map_subset_map {f : α → β} {s t : Multiset α} (H : s ⊆ t) : map f s ⊆ map f t 
Arguments: {α : Type u_1} {β : Type v} {f : α → β} {s t : Multiset α} (H : s ⊆ t)
Goal: Multiset.map f s ⊆ Multiset.map f t
-- Multiset.map_erase
theorem map_erase [DecidableEq α] [DecidableEq β] (f : α → β) (hf : Function.Injective f) (x : α)
    (s : Multiset α) : (s.erase x).map f = (s.map f).erase (f x) 
Arguments: {α : Type u_1} {β : Type v} [DecidableEq α] [DecidableEq β] (f : α → β) (hf : Function.Injective f) (x : α) (s : Multiset α)
Goal: Multiset.map f (s.erase x) = (Multiset.map f s).erase (f x)