Recognizer for ubyte64.
(ubyte64p x) → yes/no
Function:
(defun ubyte64p (x) (declare (xargs :guard t)) (mbe :logic (unsigned-byte-p 64 x) :exec (and (integerp x) (<= 0 x) (< x 18446744073709551616))))
Theorem:
(defthm booleanp-of-ubyte64p (b* ((yes/no (ubyte64p x))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm ubyte64p-forward-unsigned-byte-p (implies (ubyte64p x) (unsigned-byte-p 64 x)) :rule-classes :forward-chaining)
Theorem:
(defthm unsigned-byte-p-rewrite-ubyte64p (equal (unsigned-byte-p 64 x) (ubyte64p x)))
Theorem:
(defthm natp-when-ubyte64p (implies (ubyte64p x) (natp x)) :rule-classes :compound-recognizer)