(vl-lucid-z-expr-p x) → *
Function:
(defun vl-lucid-z-expr-p (x) (declare (xargs :guard (vl-expr-p x))) (let ((__function__ 'vl-lucid-z-expr-p)) (declare (ignorable __function__)) (if (vl-atom-p x) (vl-zatom-p x) (b* (((vl-nonatom x) x)) (and (eq x.op :vl-qmark) (or (and (vl-atom-p (cadr x.args)) (vl-zatom-p (cadr x.args))) (and (vl-atom-p (caddr x.args)) (vl-zatom-p (caddr x.args)))))))))
Theorem:
(defthm vl-lucid-z-expr-p-of-vl-expr-fix-x (equal (vl-lucid-z-expr-p (vl-expr-fix x)) (vl-lucid-z-expr-p x)))
Theorem:
(defthm vl-lucid-z-expr-p-vl-expr-equiv-congruence-on-x (implies (vl-expr-equiv x x-equiv) (equal (vl-lucid-z-expr-p x) (vl-lucid-z-expr-p x-equiv))) :rule-classes :congruence)