Get the kind (tag) of a expr-value structure.
(expr-value-kind x) → kind
Function:
(defun expr-value-kind$inline (x) (declare (xargs :guard (expr-valuep x))) (let ((__function__ 'expr-value-kind)) (declare (ignorable __function__)) (mbe :logic (cond ((or (atom x) (eq (car x) :location)) :location) (t :value)) :exec (car x))))
Theorem:
(defthm expr-value-kind-possibilities (or (equal (expr-value-kind x) :location) (equal (expr-value-kind x) :value)) :rule-classes ((:forward-chaining :trigger-terms ((expr-value-kind x)))))