Recognize well-formed
(pseudo-tests-and-callp x) → yes/no
A
(defrec tests-and-call (tests call) nil)
(see the ACL2 source code).
In a well-formed
This recognizer is analogous to pseudo-tests-and-callsp.
Function:
(defun pseudo-tests-and-callp (x) (declare (xargs :guard t)) (let ((__function__ 'pseudo-tests-and-callp)) (declare (ignorable __function__)) (case-match x (('tests-and-call tests call) (and (pseudo-term-listp tests) (pseudo-termp call))) (& nil))))
Theorem:
(defthm booleanp-of-pseudo-tests-and-callp (b* ((yes/no (pseudo-tests-and-callp x))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm weak-tests-and-call-p-when-pseudo-tests-and-callp (implies (pseudo-tests-and-callp x) (weak-tests-and-call-p x)))