Recognizer for vl-module structures.
(vl-module-p x) → *
Function:
(defun vl-module-p (x) (declare (xargs :guard t)) (let ((__function__ 'vl-module-p)) (declare (ignorable __function__)) (and (consp x) (eq (car x) :vl-module) (consp (cdr x)) (consp (car (cdr x))) (consp (car (car (cdr x)))) (consp (car (car (car (cdr x))))) (consp (cdr (car (car (car (cdr x)))))) (consp (cdr (car (car (cdr x))))) (consp (cdr (cdr (car (car (cdr x)))))) (consp (cdr (car (cdr x)))) (consp (car (cdr (car (cdr x))))) (consp (cdr (car (cdr (car (cdr x)))))) (consp (cdr (cdr (car (cdr x))))) (consp (cdr (cdr (cdr (car (cdr x)))))) (consp (cdr (cdr x))) (consp (car (cdr (cdr x)))) (consp (car (car (cdr (cdr x))))) (consp (cdr (car (car (cdr (cdr x)))))) (consp (cdr (car (cdr (cdr x))))) (consp (cdr (cdr (car (cdr (cdr x)))))) (consp (cdr (cdr (cdr x)))) (consp (car (cdr (cdr (cdr x))))) (consp (cdr (car (cdr (cdr (cdr x)))))) (consp (cdr (cdr (cdr (cdr x))))) (consp (car (cdr (cdr (cdr (cdr x)))))) (consp (cdr (cdr (cdr (cdr (cdr x)))))) (b* ((name (car (car (car (car (cdr x)))))) (?params (car (cdr (car (car (car (cdr x))))))) (imports (cdr (cdr (car (car (car (cdr x))))))) (ports (car (cdr (car (car (cdr x)))))) (portdecls (car (cdr (cdr (car (car (cdr x))))))) (vardecls (cdr (cdr (cdr (car (car (cdr x))))))) (paramdecls (car (car (cdr (car (cdr x)))))) (fundecls (car (cdr (car (cdr (car (cdr x))))))) (taskdecls (cdr (cdr (car (cdr (car (cdr x))))))) (assigns (car (cdr (cdr (car (cdr x)))))) (aliases (car (cdr (cdr (cdr (car (cdr x))))))) (modinsts (cdr (cdr (cdr (cdr (car (cdr x))))))) (gateinsts (car (car (car (cdr (cdr x)))))) (alwayses (car (cdr (car (car (cdr (cdr x))))))) (initials (cdr (cdr (car (car (cdr (cdr x))))))) (genvars (car (cdr (car (cdr (cdr x)))))) (generates (car (cdr (cdr (car (cdr (cdr x))))))) (atts (cdr (cdr (cdr (car (cdr (cdr x))))))) (minloc (car (car (cdr (cdr (cdr x)))))) (maxloc (car (cdr (car (cdr (cdr (cdr x))))))) (origname (cdr (cdr (car (cdr (cdr (cdr x))))))) (warnings (car (car (cdr (cdr (cdr (cdr x))))))) (comments (cdr (car (cdr (cdr (cdr (cdr x))))))) (loaditems (car (cdr (cdr (cdr (cdr (cdr x))))))) (acl2::?esim (cdr (cdr (cdr (cdr (cdr (cdr x)))))))) (and (stringp name) (vl-importlist-p imports) (vl-portlist-p ports) (vl-portdecllist-p portdecls) (vl-vardecllist-p vardecls) (vl-paramdecllist-p paramdecls) (vl-fundecllist-p fundecls) (vl-taskdecllist-p taskdecls) (vl-assignlist-p assigns) (vl-aliaslist-p aliases) (vl-modinstlist-p modinsts) (vl-gateinstlist-p gateinsts) (vl-alwayslist-p alwayses) (vl-initiallist-p initials) (vl-genvarlist-p genvars) (vl-genelementlist-p generates) (vl-atts-p atts) (vl-location-p minloc) (vl-location-p maxloc) (stringp origname) (vl-warninglist-p warnings) (vl-commentmap-p comments) (vl-genelementlist-p loaditems))))))
Theorem:
(defthm consp-when-vl-module-p (implies (vl-module-p x) (consp x)) :rule-classes :compound-recognizer)