Package word10-bits: 10-bit word to bit-list conversions
Information
name | word10-bits |
version | 1.78 |
description | 10-bit word to bit-list conversions |
author | Joe Leslie-Hurd <joe@gilith.com> |
license | MIT |
provenance | HOL Light theory extracted on 2014-11-01 |
checksum | 0f73d723b7069b1ad0e9b23652f38ebe46f87c47 |
requires | base word10-def |
show | Data.Bool Data.List Data.Word10 Data.Word10.Bits Number.Natural |
Files
- Package tarball word10-bits-1.78.tgz
- Theory source file word10-bits.thy (included in the package tarball)
Theorem
⊦ ∀w.
∃x0 x1 x2 x3 x4 x5 x6 x7 x8 x9.
w =
toWord
(x0 :: x1 :: x2 :: x3 :: x4 :: x5 :: x6 :: x7 :: x8 :: x9 :: [])
External Type Operators
- →
- bool
- Data
- List
- list
- Word10
- word10
- List
- Number
- Natural
- natural
- Natural
External Constants
- =
- Data
- Bool
- ∀
- ∧
- ⇒
- ∃
- ∨
- ¬
- ⊥
- ⊤
- List
- ::
- []
- head
- length
- tail
- Word10
- width
- Bits
- fromWord
- toWord
- Bool
- Number
- Natural
- +
- bit0
- bit1
- suc
- zero
- Natural
Assumptions
⊦ ⊤
⊦ length [] = 0
⊦ bit0 0 = 0
⊦ ∀t. t ⇒ t
⊦ ⊥ ⇔ ∀p. p
⊦ (¬) = λp. p ⇒ ⊥
⊦ ∀t. (∀x. t) ⇔ t
⊦ (∀) = λp. p = λx. ⊤
⊦ ∀t. ⊤ ∧ t ⇔ t
⊦ ∀t. ⊥ ⇒ t ⇔ ⊤
⊦ ∀w. toWord (fromWord w) = w
⊦ ∀w. length (fromWord w) = width
⊦ ∀n. ¬(suc n = 0)
⊦ ∀n. 0 + n = n
⊦ width = 10
⊦ ∀n. bit1 n = suc (bit0 n)
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ ∀h t. head (h :: t) = h
⊦ ∀h t. tail (h :: t) = t
⊦ ∀n. bit0 (suc n) = suc (suc (bit0 n))
⊦ ∀l. length l = 0 ⇔ l = []
⊦ ∀h t. length (h :: t) = suc (length t)
⊦ (∧) = λp q. (λf. f p q) = λf. f ⊤ ⊤
⊦ (∃) = λp. ∀q. (∀x. p x ⇒ q) ⇒ q
⊦ ∀m n. m + suc n = suc (m + n)
⊦ ∀m n. suc m + n = suc (m + n)
⊦ ∀m n. suc m = suc n ⇔ m = n
⊦ ∀l. l = [] ∨ ∃h t. l = h :: t
⊦ (∨) = λp q. ∀r. (p ⇒ r) ⇒ (q ⇒ r) ⇒ r
⊦ ∀p. p 0 ∧ (∀n. p n ⇒ p (suc n)) ⇒ ∀n. p n
⊦ ∀h1 h2 t1 t2. h1 :: t1 = h2 :: t2 ⇔ h1 = h2 ∧ t1 = t2