Get the kind (tag) of a decl-spec structure.
(decl-spec-kind x) → kind
Function:
(defun decl-spec-kind$inline (x) (declare (xargs :guard (decl-specp x))) (let ((__function__ 'decl-spec-kind)) (declare (ignorable __function__)) (mbe :logic (cond ((or (atom x) (eq (car x) :stoclass)) :stoclass) ((eq (car x) :typespec) :typespec) ((eq (car x) :typequal) :typequal) ((eq (car x) :function) :function) ((eq (car x) :align) :align) ((eq (car x) :attrib) :attrib) ((eq (car x) :stdcall) :stdcall) (t :declspec)) :exec (car x))))
Theorem:
(defthm decl-spec-kind-possibilities (or (equal (decl-spec-kind x) :stoclass) (equal (decl-spec-kind x) :typespec) (equal (decl-spec-kind x) :typequal) (equal (decl-spec-kind x) :function) (equal (decl-spec-kind x) :align) (equal (decl-spec-kind x) :attrib) (equal (decl-spec-kind x) :stdcall) (equal (decl-spec-kind x) :declspec)) :rule-classes ((:forward-chaining :trigger-terms ((decl-spec-kind x)))))