This is an ordinary defenum.
Function:
(defun vl-scopetype-p (x) (declare (xargs :guard t)) (or (eq x ':vl-module) (eq x ':vl-interface) (eq x ':vl-class) (eq x ':vl-fundecl) (eq x ':vl-taskdecl) (eq x ':vl-blockstmt) (eq x ':vl-forstmt) (eq x ':vl-foreachstmt) (eq x ':vl-design) (eq x ':vl-package) (eq x ':vl-genblock) (eq x ':vl-genarrayblock) (eq x ':vl-genarray) (eq x ':vl-anonymous-scope)))
Theorem: type-when-vl-scopetype-p
(defthm type-when-vl-scopetype-p (implies (vl-scopetype-p x) (if (symbolp x) (if (not (equal x 't)) (not (equal x 'nil)) 'nil) 'nil)) :rule-classes :compound-recognizer)