Recognizer for sd-problem structures.
(sd-problem-p x) → *
Function:
(defun sd-problem-p (x) (declare (xargs :guard t)) (let ((__function__ 'sd-problem-p)) (declare (ignorable __function__)) (and (consp x) (eq (car x) :sd-problem) (consp (cdr x)) (consp (car (cdr x))) (consp (cdr (cdr x))) (consp (cdr (cdr (cdr x)))) (b* ((type (car (car (cdr x)))) (priority (cdr (car (cdr x)))) (groupsize (car (cdr (cdr x)))) (key (car (cdr (cdr (cdr x))))) (ctx (cdr (cdr (cdr (cdr x)))))) (and (symbolp type) (natp priority) (natp groupsize) (sd-key-p key) (vl-context1-p ctx))))))
Theorem:
(defthm consp-when-sd-problem-p (implies (sd-problem-p x) (consp x)) :rule-classes :compound-recognizer)