Recognizer for npn4 bit structures.
(npn4-p x) → *
Function:
(defun npn4-p (x) (declare (xargs :guard t)) (let ((__function__ 'npn4-p)) (declare (ignorable __function__)) (and (mbe :logic (unsigned-byte-p 27 x) :exec (and (natp x) (< x 134217728))) (perm4p (part-select x :low 21 :width 6)))))
Theorem:
(defthm unsigned-byte-p-when-npn4-p (implies (npn4-p x) (unsigned-byte-p 27 x)))
Theorem:
(defthm npn4-p-compound-recognizer (implies (npn4-p x) (natp x)) :rule-classes :compound-recognizer)