Get the kind (tag) of a primitive-value structure.
(primitive-value-kind acl2::x) → kind
Function:
(defun primitive-value-kind$inline (acl2::x) (declare (xargs :guard (primitive-valuep acl2::x))) (let ((__function__ 'primitive-value-kind)) (declare (ignorable __function__)) (cond ((boolean-valuep acl2::x) :boolean) ((char-valuep acl2::x) :char) ((byte-valuep acl2::x) :byte) ((short-valuep acl2::x) :short) ((int-valuep acl2::x) :int) ((long-valuep acl2::x) :long) ((float-valuep acl2::x) :float) (t :double))))
Theorem:
(defthm primitive-value-kind-possibilities (or (equal (primitive-value-kind acl2::x) :boolean) (equal (primitive-value-kind acl2::x) :char) (equal (primitive-value-kind acl2::x) :byte) (equal (primitive-value-kind acl2::x) :short) (equal (primitive-value-kind acl2::x) :int) (equal (primitive-value-kind acl2::x) :long) (equal (primitive-value-kind acl2::x) :float) (equal (primitive-value-kind acl2::x) :double)) :rule-classes ((:forward-chaining :trigger-terms ((primitive-value-kind acl2::x)))))