mathlib documentation

data.​multiset.​intervals

data.​multiset.​intervals

Intervals in ℕ as multisets

For now this only covers Ico n m, the "closed-open" interval containing [n, ..., m-1].

Ico

def multiset.​Ico  :

Ico n m is the multiset lifted from the list Ico n m, e.g. the set {n, n+1, ..., m-1}.

Equations
theorem multiset.​Ico.​map_sub (n m k : ℕ) :
k ≤ n → multiset.map (λ (x : ℕ), x - k) (multiset.Ico n m) = multiset.Ico (n - k) (m - k)

@[simp]
theorem multiset.​Ico.​card (n m : ℕ) :
(multiset.Ico n m).card = m - n

@[simp]
theorem multiset.​Ico.​mem {n m l : ℕ} :
l ∈ multiset.Ico n m ↔ n ≤ l ∧ l < m

theorem multiset.​Ico.​eq_zero_of_le {n m : ℕ} :
m ≤ n → multiset.Ico n m = 0

@[simp]

@[simp]
theorem multiset.​Ico.​eq_zero_iff {n m : ℕ} :
multiset.Ico n m = 0 ↔ m ≤ n

theorem multiset.​Ico.​add_consecutive {n m l : ℕ} :
n ≤ m → m ≤ l → multiset.Ico n m + multiset.Ico m l = multiset.Ico n l

@[simp]
theorem multiset.​Ico.​succ_singleton {n : ℕ} :
multiset.Ico n (n + 1) = {n}

theorem multiset.​Ico.​succ_top {n m : ℕ} :
n ≤ m → multiset.Ico n (m + 1) = m :: multiset.Ico n m

theorem multiset.​Ico.​eq_cons {n m : ℕ} :
n < m → multiset.Ico n m = n :: multiset.Ico (n + 1) m

@[simp]
theorem multiset.​Ico.​pred_singleton {m : ℕ} :
0 < m → multiset.Ico (m - 1) m = {m - 1}

@[simp]

theorem multiset.​Ico.​filter_lt_of_top_le {n m l : ℕ} :
m ≤ l → multiset.filter (λ (x : ℕ), x < l) (multiset.Ico n m) = multiset.Ico n m

theorem multiset.​Ico.​filter_lt_of_le_bot {n m l : ℕ} :
l ≤ n → multiset.filter (λ (x : ℕ), x < l) (multiset.Ico n m) = ∅

theorem multiset.​Ico.​filter_le_of_bot {n m : ℕ} :
n < m → multiset.filter (λ (x : ℕ), x ≤ n) (multiset.Ico n m) = {n}

theorem multiset.​Ico.​filter_lt_of_ge {n m l : ℕ} :
l ≤ m → multiset.filter (λ (x : ℕ), x < l) (multiset.Ico n m) = multiset.Ico n l

@[simp]
theorem multiset.​Ico.​filter_lt (n m l : ℕ) :
multiset.filter (λ (x : ℕ), x < l) (multiset.Ico n m) = multiset.Ico n (min m l)

theorem multiset.​Ico.​filter_le_of_le_bot {n m l : ℕ} :
l ≤ n → multiset.filter (λ (x : ℕ), l ≤ x) (multiset.Ico n m) = multiset.Ico n m

theorem multiset.​Ico.​filter_le_of_top_le {n m l : ℕ} :
m ≤ l → multiset.filter (λ (x : ℕ), l ≤ x) (multiset.Ico n m) = ∅

theorem multiset.​Ico.​filter_le_of_le {n m l : ℕ} :
n ≤ l → multiset.filter (λ (x : ℕ), l ≤ x) (multiset.Ico n m) = multiset.Ico l m

@[simp]
theorem multiset.​Ico.​filter_le (n m l : ℕ) :
multiset.filter (λ (x : ℕ), l ≤ x) (multiset.Ico n m) = multiset.Ico (max n l) m