Valid types for tokens.
This is an ordinary defenum.
Function:
(defun tokentype-p (x) (declare (xargs :guard t)) (or (eq x ':keyword) (eq x ':whitespace) (eq x ':id) (eq x ':punctuation) (eq x ':comment)))
Theorem: type-when-tokentype-p
(defthm type-when-tokentype-p (implies (tokentype-p x) (if (symbolp x) (if (not (equal x 't)) (not (equal x 'nil)) 'nil) 'nil)) :rule-classes :compound-recognizer)