Get the kind (tag) of a fsuffix structure.
(fsuffix-kind f) → kind
Function:
(defun fsuffix-kind$inline (f) (declare (xargs :guard (fsuffixp f))) (mbe :logic (cond ((or (atom f) (eq (car f) :locase-f)) :locase-f) ((eq (car f) :upcase-f) :upcase-f) ((eq (car f) :locase-l) :locase-l) ((eq (car f) :upcase-l) :upcase-l) ((eq (car f) :locase-f16) :locase-f16) ((eq (car f) :locase-f32) :locase-f32) ((eq (car f) :locase-f64) :locase-f64) ((eq (car f) :locase-f128) :locase-f128) ((eq (car f) :upcase-f16) :upcase-f16) ((eq (car f) :upcase-f32) :upcase-f32) ((eq (car f) :upcase-f64) :upcase-f64) (t :upcase-f128)) :exec (car f)))
Theorem:
(defthm fsuffix-kind-possibilities (or (equal (fsuffix-kind f) :locase-f) (equal (fsuffix-kind f) :upcase-f) (equal (fsuffix-kind f) :locase-l) (equal (fsuffix-kind f) :upcase-l) (equal (fsuffix-kind f) :locase-f16) (equal (fsuffix-kind f) :locase-f32) (equal (fsuffix-kind f) :locase-f64) (equal (fsuffix-kind f) :locase-f128) (equal (fsuffix-kind f) :upcase-f16) (equal (fsuffix-kind f) :upcase-f32) (equal (fsuffix-kind f) :upcase-f64) (equal (fsuffix-kind f) :upcase-f128)) :rule-classes ((:forward-chaining :trigger-terms ((fsuffix-kind f)))))