Get the kind (tag) of a numeric-value structure.
(numeric-value-kind acl2::x) → kind
Function:
(defun numeric-value-kind$inline (acl2::x) (declare (xargs :guard (numeric-valuep acl2::x))) (let ((__function__ 'numeric-value-kind)) (declare (ignorable __function__)) (cond ((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 numeric-value-kind-possibilities (or (equal (numeric-value-kind acl2::x) :char) (equal (numeric-value-kind acl2::x) :byte) (equal (numeric-value-kind acl2::x) :short) (equal (numeric-value-kind acl2::x) :int) (equal (numeric-value-kind acl2::x) :long) (equal (numeric-value-kind acl2::x) :float) (equal (numeric-value-kind acl2::x) :double)) :rule-classes ((:forward-chaining :trigger-terms ((numeric-value-kind acl2::x)))))