Theory "listRange"

Parents     list

Signature

Constant Type
listRangeINC :num -> num -> num list
listRangeLHI :num -> num -> num list

Definitions

listRangeINC_def
⊢ ∀m n. [m .. n] = GENLIST (λi. m + i) (n + 1 − m)
listRangeLHI_def
⊢ ∀m n. [m ..< n] = GENLIST (λi. m + i) (n − m)


Theorems

EL_listRangeLHI
⊢ lo + i < hi ⇒ (EL i [lo ..< hi] = lo + i)
LENGTH_listRangeLHI
⊢ LENGTH [lo ..< hi] = hi − lo
MEM_listRangeINC
⊢ MEM x [m .. n] ⇔ m ≤ x ∧ x ≤ n
MEM_listRangeLHI
⊢ MEM x [m ..< n] ⇔ m ≤ x ∧ x < n
listRangeINC_CONS
⊢ m ≤ n ⇒ ([m .. n] = m::[m + 1 .. n])
listRangeINC_EMPTY
⊢ n < m ⇒ ([m .. n] = [])
listRangeINC_SING
⊢ [m .. m] = [m]
listRangeLHI_ALL_DISTINCT
⊢ ALL_DISTINCT [lo ..< hi]
listRangeLHI_CONS
⊢ lo < hi ⇒ ([lo ..< hi] = lo::[lo + 1 ..< hi])
listRangeLHI_EMPTY
⊢ hi ≤ lo ⇒ ([lo ..< hi] = [])
listRangeLHI_EQ
⊢ [m ..< m] = []