Get the kind (tag) of a tyspecseq structure.
(tyspecseq-kind x) → kind
Function:
(defun tyspecseq-kind$inline (x) (declare (xargs :guard (tyspecseqp x))) (let ((__function__ 'tyspecseq-kind)) (declare (ignorable __function__)) (mbe :logic (cond ((or (atom x) (eq (car x) :void)) :void) ((eq (car x) :char) :char) ((eq (car x) :schar) :schar) ((eq (car x) :uchar) :uchar) ((eq (car x) :sshort) :sshort) ((eq (car x) :ushort) :ushort) ((eq (car x) :sint) :sint) ((eq (car x) :uint) :uint) ((eq (car x) :slong) :slong) ((eq (car x) :ulong) :ulong) ((eq (car x) :sllong) :sllong) ((eq (car x) :ullong) :ullong) ((eq (car x) :bool) :bool) ((eq (car x) :float) :float) ((eq (car x) :double) :double) ((eq (car x) :ldouble) :ldouble) ((eq (car x) :struct) :struct) ((eq (car x) :union) :union) ((eq (car x) :enum) :enum) (t :typedef)) :exec (car x))))
Theorem:
(defthm tyspecseq-kind-possibilities (or (equal (tyspecseq-kind x) :void) (equal (tyspecseq-kind x) :char) (equal (tyspecseq-kind x) :schar) (equal (tyspecseq-kind x) :uchar) (equal (tyspecseq-kind x) :sshort) (equal (tyspecseq-kind x) :ushort) (equal (tyspecseq-kind x) :sint) (equal (tyspecseq-kind x) :uint) (equal (tyspecseq-kind x) :slong) (equal (tyspecseq-kind x) :ulong) (equal (tyspecseq-kind x) :sllong) (equal (tyspecseq-kind x) :ullong) (equal (tyspecseq-kind x) :bool) (equal (tyspecseq-kind x) :float) (equal (tyspecseq-kind x) :double) (equal (tyspecseq-kind x) :ldouble) (equal (tyspecseq-kind x) :struct) (equal (tyspecseq-kind x) :union) (equal (tyspecseq-kind x) :enum) (equal (tyspecseq-kind x) :typedef)) :rule-classes ((:forward-chaining :trigger-terms ((tyspecseq-kind x)))))