Recognizer for calist.
(calistp x) → *
Function:
(defun calistp (x) (declare (xargs :guard t)) (let ((__function__ 'calistp)) (declare (ignorable __function__)) (if (atom x) (eq x nil) (and (consp (car x)) (not (hons-assoc-equal (caar x) (cdr x))) (bitp (cdar x)) (calistp (cdr x))))))
Theorem:
(defthm calistp-of-cdr (implies (calistp x) (calistp (cdr x))))
Theorem:
(defthm bitp-of-cdar-when-calistp (implies (and (calistp x) (consp x)) (bitp (cdar x))))
Theorem:
(defthm calistp-of-cons (equal (calistp (cons a x)) (and (and (consp a) (bitp (cdr a)) (not (hons-assoc-equal (car a) x))) (calistp x))))