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

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