Get the kind (tag) of a svexl-node structure.
(svexl-node-kind x) → kind
Function:
(defun svexl-node-kind$inline (x) (declare (xargs :guard (svexl-node-p x))) (let ((acl2::__function__ 'svexl-node-kind)) (declare (ignorable acl2::__function__)) (cond ((if (consp x) (integerp (car x)) (or (integerp x) (not x))) :quote) ((or (atom x) (eq (car x) :var)) :var) ((and (consp (cdr x)) (eq (car x) ':node) (not (cddr x))) :node) (t :call))))
Theorem:
(defthm svexl-node-kind-possibilities (or (equal (svexl-node-kind x) :quote) (equal (svexl-node-kind x) :var) (equal (svexl-node-kind x) :node) (equal (svexl-node-kind x) :call)) :rule-classes ((:forward-chaining :trigger-terms ((svexl-node-kind x)))))