Filtering...

bytep

books/std/basic/bytep

Included Books

other
(in-package "ACL2")
include-book
(include-book "xdoc/constructors" :dir :system)
include-book
(include-book "std/util/define" :dir :system)
other
(define bytep
  (x)
  :returns (yes/no booleanp)
  :parents (std/basic unsigned-byte-p signed-byte-p)
  :short "Recognize unsigned 8-bit bytes."
  :long (topstring (p "ACL2 has a flexible notion of `byte',
     which may be signed or unsigned,
     and consist of (almost) any number of bits:
     see @(tsee unsigned-byte-p) and @(tsee signed-byte-p).
     But very often the unqualified term `byte'
     refers to a sequence of exactly 8 bits,
     represented by natural numbers below 256:
     this predicate caters to this common terminology."))
  (mbe :logic (unsigned-byte-p 8 x)
    :exec (and (integerp x) (<= 0 x) (< x 256)))
  :no-function t
  ///
  (defthm bytep-compound-recognizer
    (implies (bytep x) (and (integerp x) (<= 0 x)))
    :rule-classes :compound-recognizer))