File: Mathlib/Order/Interval/Multiset.lean

full_name: Multiset.Icc
code: /-- The multiset of elements `x` such that `a ≤ x` and `x ≤ b`. Basically `Set.Icc a b` as a
multiset. -/
def Icc (a b : α) : Multiset α 
goal: Multiset α

full_name: Multiset.Ico
code: /-- The multiset of elements `x` such that `a ≤ x` and `x < b`. Basically `Set.Ico a b` as a
multiset. -/
def Ico (a b : α) : Multiset α 
goal: Multiset α

full_name: Multiset.Ioc
code: /-- The multiset of elements `x` such that `a < x` and `x ≤ b`. Basically `Set.Ioc a b` as a
multiset. -/
def Ioc (a b : α) : Multiset α 
goal: Multiset α

full_name: Multiset.Ioo
code: /-- The multiset of elements `x` such that `a < x` and `x < b`. Basically `Set.Ioo a b` as a
multiset. -/
def Ioo (a b : α) : Multiset α 
goal: Multiset α

full_name: Multiset.mem_Icc
code: @[simp] lemma mem_Icc : x ∈ Icc a b ↔ a ≤ x ∧ x ≤ b 
goal: x ∈ Multiset.Icc a b ↔ a ≤ x ∧ x ≤ b

full_name: Multiset.mem_Ico
code: @[simp] lemma mem_Ico : x ∈ Ico a b ↔ a ≤ x ∧ x < b 
goal: x ∈ Multiset.Ico a b ↔ a ≤ x ∧ x < b

full_name: Multiset.mem_Ioc
code: @[simp] lemma mem_Ioc : x ∈ Ioc a b ↔ a < x ∧ x ≤ b 
goal: x ∈ Multiset.Ioc a b ↔ a < x ∧ x ≤ b

full_name: Multiset.mem_Ioo
code: @[simp] lemma mem_Ioo : x ∈ Ioo a b ↔ a < x ∧ x < b 
goal: x ∈ Multiset.Ioo a b ↔ a < x ∧ x < b

full_name: Multiset.Ici
code: /-- The multiset of elements `x` such that `a ≤ x`. Basically `Set.Ici a` as a multiset. -/
def Ici (a : α) : Multiset α 
goal: Multiset α

full_name: Multiset.Ioi
code: /-- The multiset of elements `x` such that `a < x`. Basically `Set.Ioi a` as a multiset. -/
def Ioi (a : α) : Multiset α 
goal: Multiset α

full_name: Multiset.mem_Ici
code: @[simp] lemma mem_Ici : x ∈ Ici a ↔ a ≤ x 
goal: x ∈ Multiset.Ici a ↔ a ≤ x

full_name: Multiset.mem_Ioi
code: @[simp] lemma mem_Ioi : x ∈ Ioi a ↔ a < x 
goal: x ∈ Multiset.Ioi a ↔ a < x

full_name: Multiset.Iic
code: /-- The multiset of elements `x` such that `x ≤ b`. Basically `Set.Iic b` as a multiset. -/
def Iic (b : α) : Multiset α 
goal: Multiset α

full_name: Multiset.Iio
code: /-- The multiset of elements `x` such that `x < b`. Basically `Set.Iio b` as a multiset. -/
def Iio (b : α) : Multiset α 
goal: Multiset α

full_name: Multiset.mem_Iic
code: @[simp] lemma mem_Iic : x ∈ Iic b ↔ x ≤ b 
goal: x ∈ Multiset.Iic b ↔ x ≤ b

full_name: Multiset.mem_Iio
code: @[simp] lemma mem_Iio : x ∈ Iio b ↔ x < b 
goal: x ∈ Multiset.Iio b ↔ x < b

full_name: Multiset.nodup_Icc
code: theorem nodup_Icc : (Icc a b).Nodup 
goal: (Multiset.Icc a b).Nodup

full_name: Multiset.nodup_Ico
code: theorem nodup_Ico : (Ico a b).Nodup 
goal: (Multiset.Ico a b).Nodup

full_name: Multiset.nodup_Ioc
code: theorem nodup_Ioc : (Ioc a b).Nodup 
goal: (Multiset.Ioc a b).Nodup

full_name: Multiset.nodup_Ioo
code: theorem nodup_Ioo : (Ioo a b).Nodup 
goal: (Multiset.Ioo a b).Nodup

full_name: Multiset.Icc_eq_zero_iff
code: @[simp]
theorem Icc_eq_zero_iff : Icc a b = 0 ↔ ¬a ≤ b 
goal: Multiset.Icc a b = 0 ↔ ¬a ≤ b

full_name: Multiset.Ico_eq_zero_iff
code: @[simp]
theorem Ico_eq_zero_iff : Ico a b = 0 ↔ ¬a < b 
goal: Multiset.Ico a b = 0 ↔ ¬a < b

full_name: Multiset.Ioc_eq_zero_iff
code: @[simp]
theorem Ioc_eq_zero_iff : Ioc a b = 0 ↔ ¬a < b 
goal: Multiset.Ioc a b = 0 ↔ ¬a < b

full_name: Multiset.Ioo_eq_zero_iff
code: @[simp]
theorem Ioo_eq_zero_iff [DenselyOrdered α] : Ioo a b = 0 ↔ ¬a < b 
goal: Multiset.Ioo a b = 0 ↔ ¬a < b

full_name: Multiset.Ioo_eq_zero
code: @[simp]
theorem Ioo_eq_zero (h : ¬a < b) : Ioo a b = 0 
goal: Multiset.Ioo a b = 0

full_name: Multiset.Icc_eq_zero_of_lt
code: @[simp]
theorem Icc_eq_zero_of_lt (h : b < a) : Icc a b = 0 
goal: Multiset.Icc a b = 0

full_name: Multiset.Ico_eq_zero_of_le
code: @[simp]
theorem Ico_eq_zero_of_le (h : b ≤ a) : Ico a b = 0 
goal: Multiset.Ico a b = 0

full_name: Multiset.Ioc_eq_zero_of_le
code: @[simp]
theorem Ioc_eq_zero_of_le (h : b ≤ a) : Ioc a b = 0 
goal: Multiset.Ioc a b = 0

full_name: Multiset.Ioo_eq_zero_of_le
code: @[simp]
theorem Ioo_eq_zero_of_le (h : b ≤ a) : Ioo a b = 0 
goal: Multiset.Ioo a b = 0

full_name: Multiset.Ico_self
code: theorem Ico_self : Ico a a = 0 
goal: Multiset.Ico a a = 0

full_name: Multiset.Ioc_self
code: theorem Ioc_self : Ioc a a = 0 
goal: Multiset.Ioc a a = 0

full_name: Multiset.Ioo_self
code: theorem Ioo_self : Ioo a a = 0 
goal: Multiset.Ioo a a = 0

full_name: Multiset.left_mem_Icc
code: theorem left_mem_Icc : a ∈ Icc a b ↔ a ≤ b 
goal: a ∈ Multiset.Icc a b ↔ a ≤ b

full_name: Multiset.left_mem_Ico
code: theorem left_mem_Ico : a ∈ Ico a b ↔ a < b 
goal: a ∈ Multiset.Ico a b ↔ a < b

full_name: Multiset.right_mem_Icc
code: theorem right_mem_Icc : b ∈ Icc a b ↔ a ≤ b 
goal: b ∈ Multiset.Icc a b ↔ a ≤ b

full_name: Multiset.right_mem_Ioc
code: theorem right_mem_Ioc : b ∈ Ioc a b ↔ a < b 
goal: b ∈ Multiset.Ioc a b ↔ a < b

full_name: Multiset.left_not_mem_Ioc
code: theorem left_not_mem_Ioc : a ∉ Ioc a b 
goal: a ∉ Multiset.Ioc a b

full_name: Multiset.left_not_mem_Ioo
code: theorem left_not_mem_Ioo : a ∉ Ioo a b 
goal: a ∉ Multiset.Ioo a b

full_name: Multiset.right_not_mem_Ico
code: theorem right_not_mem_Ico : b ∉ Ico a b 
goal: b ∉ Multiset.Ico a b

full_name: Multiset.right_not_mem_Ioo
code: theorem right_not_mem_Ioo : b ∉ Ioo a b 
goal: b ∉ Multiset.Ioo a b

full_name: Multiset.Ico_filter_lt_of_le_left
code: theorem Ico_filter_lt_of_le_left [DecidablePred (· < c)] (hca : c ≤ a) :
    ((Ico a b).filter fun x => x < c) = ∅ 
goal: Multiset.filter (fun x => x < c) (Multiset.Ico a b) = ∅

full_name: Multiset.Ico_filter_lt_of_right_le
code: theorem Ico_filter_lt_of_right_le [DecidablePred (· < c)] (hbc : b ≤ c) :
    ((Ico a b).filter fun x => x < c) = Ico a b 
goal: Multiset.filter (fun x => x < c) (Multiset.Ico a b) = Multiset.Ico a b

full_name: Multiset.Ico_filter_lt_of_le_right
code: theorem Ico_filter_lt_of_le_right [DecidablePred (· < c)] (hcb : c ≤ b) :
    ((Ico a b).filter fun x => x < c) = Ico a c 
goal: Multiset.filter (fun x => x < c) (Multiset.Ico a b) = Multiset.Ico a c

full_name: Multiset.Ico_filter_le_of_le_left
code: theorem Ico_filter_le_of_le_left [DecidablePred (c ≤ ·)] (hca : c ≤ a) :
    ((Ico a b).filter fun x => c ≤ x) = Ico a b 
goal: Multiset.filter (fun x => c ≤ x) (Multiset.Ico a b) = Multiset.Ico a b

full_name: Multiset.Ico_filter_le_of_right_le
code: theorem Ico_filter_le_of_right_le [DecidablePred (b ≤ ·)] :
    ((Ico a b).filter fun x => b ≤ x) = ∅ 
goal: Multiset.filter (fun x => b ≤ x) (Multiset.Ico a b) = ∅

full_name: Multiset.Ico_filter_le_of_left_le
code: theorem Ico_filter_le_of_left_le [DecidablePred (c ≤ ·)] (hac : a ≤ c) :
    ((Ico a b).filter fun x => c ≤ x) = Ico c b 
goal: Multiset.filter (fun x => c ≤ x) (Multiset.Ico a b) = Multiset.Ico c b

full_name: Multiset.Icc_self
code: @[simp]
theorem Icc_self (a : α) : Icc a a = {a} 
goal: Multiset.Icc a a = {a}

full_name: Multiset.Ico_cons_right
code: theorem Ico_cons_right (h : a ≤ b) : b ::ₘ Ico a b = Icc a b 
goal: b ::ₘ Multiset.Ico a b = Multiset.Icc a b

full_name: Multiset.Ioo_cons_left
code: theorem Ioo_cons_left (h : a < b) : a ::ₘ Ioo a b = Ico a b 
goal: a ::ₘ Multiset.Ioo a b = Multiset.Ico a b

full_name: Multiset.Ico_disjoint_Ico
code: theorem Ico_disjoint_Ico {a b c d : α} (h : b ≤ c) : (Ico a b).Disjoint (Ico c d) 
goal: (Multiset.Ico a b).Disjoint (Multiset.Ico c d)

full_name: Multiset.Ico_inter_Ico_of_le
code: @[simp]
theorem Ico_inter_Ico_of_le [DecidableEq α] {a b c d : α} (h : b ≤ c) : Ico a b ∩ Ico c d = 0 
goal: Multiset.Ico a b ∩ Multiset.Ico c d = 0

full_name: Multiset.Ico_filter_le_left
code: theorem Ico_filter_le_left {a b : α} [DecidablePred (· ≤ a)] (hab : a < b) :
    ((Ico a b).filter fun x => x ≤ a) = {a} 
goal: Multiset.filter (fun x => x ≤ a) (Multiset.Ico a b) = {a}

full_name: Multiset.card_Ico_eq_card_Icc_sub_one
code: theorem card_Ico_eq_card_Icc_sub_one (a b : α) : card (Ico a b) = card (Icc a b) - 1 
goal: Multiset.card (Multiset.Ico a b) = Multiset.card (Multiset.Icc a b) - 1

full_name: Multiset.card_Ioc_eq_card_Icc_sub_one
code: theorem card_Ioc_eq_card_Icc_sub_one (a b : α) : card (Ioc a b) = card (Icc a b) - 1 
goal: Multiset.card (Multiset.Ioc a b) = Multiset.card (Multiset.Icc a b) - 1

full_name: Multiset.card_Ioo_eq_card_Ico_sub_one
code: theorem card_Ioo_eq_card_Ico_sub_one (a b : α) : card (Ioo a b) = card (Ico a b) - 1 
goal: Multiset.card (Multiset.Ioo a b) = Multiset.card (Multiset.Ico a b) - 1

full_name: Multiset.card_Ioo_eq_card_Icc_sub_two
code: theorem card_Ioo_eq_card_Icc_sub_two (a b : α) : card (Ioo a b) = card (Icc a b) - 2 
goal: Multiset.card (Multiset.Ioo a b) = Multiset.card (Multiset.Icc a b) - 2

full_name: Multiset.Ico_subset_Ico_iff
code: theorem Ico_subset_Ico_iff {a₁ b₁ a₂ b₂ : α} (h : a₁ < b₁) :
    Ico a₁ b₁ ⊆ Ico a₂ b₂ ↔ a₂ ≤ a₁ ∧ b₁ ≤ b₂ 
goal: Multiset.Ico a₁ b₁ ⊆ Multiset.Ico a₂ b₂ ↔ a₂ ≤ a₁ ∧ b₁ ≤ b₂

full_name: Multiset.Ico_add_Ico_eq_Ico
code: theorem Ico_add_Ico_eq_Ico {a b c : α} (hab : a ≤ b) (hbc : b ≤ c) :
    Ico a b + Ico b c = Ico a c 
goal: Multiset.Ico a b + Multiset.Ico b c = Multiset.Ico a c

full_name: Multiset.Ico_inter_Ico
code: theorem Ico_inter_Ico : Ico a b ∩ Ico c d = Ico (max a c) (min b d) 
goal: Multiset.Ico a b ∩ Multiset.Ico c d = Multiset.Ico (max a c) (min b d)

full_name: Multiset.Ico_filter_lt
code: @[simp]
theorem Ico_filter_lt (a b c : α) : ((Ico a b).filter fun x => x < c) = Ico a (min b c) 
goal: Multiset.filter (fun x => x < c) (Multiset.Ico a b) = Multiset.Ico a (min b c)

full_name: Multiset.Ico_filter_le
code: @[simp]
theorem Ico_filter_le (a b c : α) : ((Ico a b).filter fun x => c ≤ x) = Ico (max a c) b 
goal: Multiset.filter (fun x => c ≤ x) (Multiset.Ico a b) = Multiset.Ico (max a c) b

full_name: Multiset.Ico_sub_Ico_left
code: @[simp]
theorem Ico_sub_Ico_left (a b c : α) : Ico a b - Ico a c = Ico (max a c) b 
goal: Multiset.Ico a b - Multiset.Ico a c = Multiset.Ico (max a c) b

full_name: Multiset.Ico_sub_Ico_right
code: @[simp]
theorem Ico_sub_Ico_right (a b c : α) : Ico a b - Ico c b = Ico a (min b c) 
goal: Multiset.Ico a b - Multiset.Ico c b = Multiset.Ico a (min b c)