Recognizer for hypothesis-syntax.
(hypothesis-syntax-p term) → syntax-good?
Function:
(defun hypothesis-syntax-p (term) (declare (xargs :guard t)) (let ((acl2::__function__ 'hypothesis-syntax-p)) (declare (ignorable acl2::__function__)) (or (and (atom term) (equal term nil)) (and (true-listp term) (car term) (not (cdr term)) (pseudo-termp (car term))) (and (true-listp term) (car term) (cadr term) (not (cdddr term)) (pseudo-termp (car term)) (equal (cadr term) ':hints) (hints-syntax-p (caddr term))))))
Theorem:
(defthm booleanp-of-hypothesis-syntax-p (b* ((syntax-good? (hypothesis-syntax-p term))) (booleanp syntax-good?)) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-caddr (implies (and (consp term) (consp (cdr term)) (true-listp (cddr term)) (equal (+ 2 (len (cddr term))) 3) (pseudo-termp (car term)) (equal (cadr term) :hints) (hints-syntax-p (caddr term))) (true-listp (caddr term))))