Recognizer for gatesimp bit structures.
(gatesimp-p x) → *
Function:
(defun gatesimp-p (x) (declare (xargs :guard t)) (let ((__function__ 'gatesimp-p)) (declare (ignorable __function__)) (and (mbe :logic (unsigned-byte-p 6 x) :exec (and (natp x) (< x 64))) (gatesimp-level-p (part-select x :low 1 :width 3)) (gatesimp-xor-mode-p (part-select x :low 4 :width 2)))))
Theorem:
(defthm unsigned-byte-p-when-gatesimp-p (implies (gatesimp-p x) (unsigned-byte-p 6 x)))
Theorem:
(defthm gatesimp-p-compound-recognizer (implies (gatesimp-p x) (natp x)) :rule-classes :compound-recognizer)