Get the kind (tag) of a dirdeclor structure.
(dirdeclor-kind x) → kind
Function:
(defun dirdeclor-kind$inline (x) (declare (xargs :guard (dirdeclorp x))) (let ((__function__ 'dirdeclor-kind)) (declare (ignorable __function__)) (mbe :logic (cond ((or (atom x) (eq (car x) :ident)) :ident) ((eq (car x) :paren) :paren) ((eq (car x) :array) :array) ((eq (car x) :array-static1) :array-static1) ((eq (car x) :array-static2) :array-static2) ((eq (car x) :array-star) :array-star) ((eq (car x) :function-params) :function-params) (t :function-names)) :exec (car x))))
Theorem:
(defthm dirdeclor-kind-possibilities (or (equal (dirdeclor-kind x) :ident) (equal (dirdeclor-kind x) :paren) (equal (dirdeclor-kind x) :array) (equal (dirdeclor-kind x) :array-static1) (equal (dirdeclor-kind x) :array-static2) (equal (dirdeclor-kind x) :array-star) (equal (dirdeclor-kind x) :function-params) (equal (dirdeclor-kind x) :function-names)) :rule-classes ((:forward-chaining :trigger-terms ((dirdeclor-kind x)))))