Recognizer for vl-design structures.
(vl-design-p x) → *
Function:
(defun vl-design-p (x) (declare (xargs :guard t)) (let ((__function__ 'vl-design-p)) (declare (ignorable __function__)) (and (consp x) (eq (car x) :vl-design) (std::prod-consp (cdr x)) (std::prod-consp (std::prod-car (cdr x))) (std::prod-consp (std::prod-car (std::prod-car (cdr x)))) (std::prod-consp (std::prod-car (std::prod-car (std::prod-car (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-car (std::prod-car (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-car (cdr x)))))) (std::prod-consp (std::prod-cdr (std::prod-car (cdr x)))) (std::prod-consp (std::prod-car (std::prod-cdr (std::prod-car (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-car (std::prod-cdr (std::prod-car (cdr x)))))) (std::prod-consp (std::prod-cdr (std::prod-cdr (std::prod-car (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-car (cdr x)))))) (std::prod-consp (std::prod-cdr (cdr x))) (std::prod-consp (std::prod-car (std::prod-cdr (cdr x)))) (std::prod-consp (std::prod-car (std::prod-car (std::prod-cdr (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-car (std::prod-car (std::prod-cdr (cdr x)))))) (std::prod-consp (std::prod-cdr (std::prod-car (std::prod-cdr (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-cdr (cdr x)))))) (std::prod-consp (std::prod-cdr (std::prod-cdr (cdr x)))) (std::prod-consp (std::prod-car (std::prod-cdr (std::prod-cdr (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-car (std::prod-cdr (std::prod-cdr (cdr x)))))) (std::prod-consp (std::prod-cdr (std::prod-cdr (std::prod-cdr (cdr x))))) (std::prod-consp (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-cdr (cdr x)))))) (b* ((version (std::prod-car (std::prod-car (std::prod-car (std::prod-car (cdr x)))))) (mods (std::prod-cdr (std::prod-car (std::prod-car (std::prod-car (cdr x)))))) (udps (std::prod-car (std::prod-cdr (std::prod-car (std::prod-car (cdr x)))))) (interfaces (std::prod-car (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-car (cdr x))))))) (programs (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-car (cdr x))))))) (classes (std::prod-car (std::prod-car (std::prod-cdr (std::prod-car (cdr x)))))) (packages (std::prod-car (std::prod-cdr (std::prod-car (std::prod-cdr (std::prod-car (cdr x))))))) (configs (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-cdr (std::prod-car (cdr x))))))) (vardecls (std::prod-car (std::prod-cdr (std::prod-cdr (std::prod-car (cdr x)))))) (taskdecls (std::prod-car (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-car (cdr x))))))) (fundecls (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-car (cdr x))))))) (paramdecls (std::prod-car (std::prod-car (std::prod-car (std::prod-cdr (cdr x)))))) (imports (std::prod-car (std::prod-cdr (std::prod-car (std::prod-car (std::prod-cdr (cdr x))))))) (dpiimports (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-car (std::prod-cdr (cdr x))))))) (dpiexports (std::prod-car (std::prod-cdr (std::prod-car (std::prod-cdr (cdr x)))))) (fwdtypes (std::prod-car (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-cdr (cdr x))))))) (typedefs (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-cdr (cdr x))))))) (binds (std::prod-car (std::prod-car (std::prod-cdr (std::prod-cdr (cdr x)))))) (properties (std::prod-car (std::prod-cdr (std::prod-car (std::prod-cdr (std::prod-cdr (cdr x))))))) (sequences (std::prod-cdr (std::prod-cdr (std::prod-car (std::prod-cdr (std::prod-cdr (cdr x))))))) (warnings (std::prod-car (std::prod-cdr (std::prod-cdr (std::prod-cdr (cdr x)))))) (comments (std::prod-car (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-cdr (cdr x))))))) (plusargs (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-cdr (cdr x)))))))) (and (vl-syntaxversion-p version) (vl-modulelist-p mods) (vl-udplist-p udps) (vl-interfacelist-p interfaces) (vl-programlist-p programs) (vl-classlist-p classes) (vl-packagelist-p packages) (vl-configlist-p configs) (vl-vardecllist-p vardecls) (vl-taskdecllist-p taskdecls) (vl-fundecllist-p fundecls) (vl-paramdecllist-p paramdecls) (vl-importlist-p imports) (vl-dpiimportlist-p dpiimports) (vl-dpiexportlist-p dpiexports) (vl-fwdtypedeflist-p fwdtypes) (vl-typedeflist-p typedefs) (vl-bindlist-p binds) (vl-propertylist-p properties) (vl-sequencelist-p sequences) (vl-warninglist-p warnings) (vl-commentmap-p comments) (string-listp plusargs))))))
Theorem:
(defthm consp-when-vl-design-p (implies (vl-design-p x) (consp x)) :rule-classes :compound-recognizer)