(syntactically-zero-p x) → result
Function:
(defun syntactically-zero-p (x) (declare (xargs :guard (true-listp x))) (let ((__function__ 'syntactically-zero-p)) (declare (ignorable __function__)) (b* (((mv head tail end) (first/rest/end x))) (and (eq head nil) (or end (syntactically-zero-p tail))))))
Theorem:
(defthm booleanp-of-syntactically-zero-p (b* ((result (syntactically-zero-p x))) (booleanp result)) :rule-classes :rewrite)
Theorem:
(defthm syntactically-zero-p-implies (b* nil (implies (syntactically-zero-p x) (equal (bfr-list->s x env) 0))))