Package word-bits-def: Definition of word to bit-list conversions
Information
name | word-bits-def |
version | 1.76 |
description | Definition of word to bit-list conversions |
author | Joe Leslie-Hurd <joe@gilith.com> |
license | MIT |
provenance | HOL Light theory extracted on 2014-06-12 |
requires | bool list natural natural-bits word-def |
show | Data.Bool Data.List Data.Word Data.Word.Bits Number.Natural |
Files
- Package tarball word-bits-def-1.76.tgz
- Theory source file word-bits-def.thy (included in the package tarball)
Defined Constants
- Data
- Word
- and
- bit
- not
- or
- shiftLeft
- shiftRight
- Bits
- compare
- fromWord
- normal
- toWord
- Word
Theorems
⊦ ∀q. compare q [] [] ⇔ q
⊦ ∀l. toWord l = fromNatural (Bits.toNatural l)
⊦ ∀l. normal l ⇔ length l = width
⊦ ∀w. not w = toWord (map (¬) (fromWord w))
⊦ ∀w. fromWord w = map (bit w) (interval 0 width)
⊦ ∀w n. bit w n ⇔ odd (toNatural (shiftRight w n))
⊦ ∀w1 w2. and w1 w2 = toWord (zipWith (∧) (fromWord w1) (fromWord w2))
⊦ ∀w1 w2. or w1 w2 = toWord (zipWith (∨) (fromWord w1) (fromWord w2))
⊦ ∀w n. shiftLeft w n = fromNatural (2 ↑ n * toNatural w)
⊦ ∀w n. shiftRight w n = fromNatural (toNatural w div 2 ↑ n)
⊦ ∀q h1 h2 t1 t2.
compare q (h1 :: t1) (h2 :: t2) ⇔
compare (¬h1 ∧ h2 ∨ ¬(h1 ∧ ¬h2) ∧ q) t1 t2
External Type Operators
- →
- bool
- Data
- List
- list
- Word
- word
- List
- Number
- Natural
- natural
- Natural
External Constants
- =
- select
- Data
- Bool
- ∀
- ∧
- ⇒
- ∃
- ∨
- ¬
- ⊤
- List
- ::
- []
- head
- interval
- length
- map
- tail
- zipWith
- Word
- fromNatural
- toNatural
- width
- Bool
- Number
- Natural
- *
- ↑
- bit0
- bit1
- div
- odd
- zero
- Bits
- Bits.toNatural
- Natural
Assumptions
⊦ ⊤
⊦ (∃) = λp. p ((select) p)
⊦ ∀t. (∀x. t) ⇔ t
⊦ (∀) = λp. p = λx. ⊤
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ ∀h t. head (h :: t) = h
⊦ ∀h t. tail (h :: t) = t
⊦ (∧) = λp q. (λf. f p q) = λf. f ⊤ ⊤
⊦ (∃) = λp. ∀q. (∀x. p x ⇒ q) ⇒ q
⊦ ∀r. (∀x. ∃y. r x y) ⇔ ∃f. ∀x. r x (f x)
⊦ ∀b f. ∃fn. fn [] = b ∧ ∀h t. fn (h :: t) = f h t (fn t)