Correlates the sequential-type of a node with the
Function:
(defun regp (x) (declare (xargs :guard (stypep x))) (let ((__function__ 'regp)) (declare (ignorable __function__)) (if (member (stype-fix x) '(:reg :nxst :xor)) 1 0)))
Theorem:
(defthm bitp-of-regp (b* ((regp (regp x))) (bitp regp)) :rule-classes :rewrite)
Theorem:
(defthm stype-equiv-implies-equal-regp-1 (implies (stype-equiv x x-equiv) (equal (regp x) (regp x-equiv))) :rule-classes (:congruence))
Theorem:
(defthm regp-not-zero-implies-nonempty (implies (not (equal (regp (stype (car x))) 0)) (consp x)) :rule-classes ((:forward-chaining :trigger-terms ((regp (stype (car x)))))))
Theorem:
(defthm regp-of-stype-fix-x (equal (regp (stype-fix x)) (regp x)))
Theorem:
(defthm regp-stype-equiv-congruence-on-x (implies (stype-equiv x x-equiv) (equal (regp x) (regp x-equiv))) :rule-classes :congruence)