Recognizer for constraint-rule structures.
(constraint-rule-p x) → *
Function:
(defun constraint-rule-p (x) (declare (xargs :guard t)) (let ((__function__ 'constraint-rule-p)) (declare (ignorable __function__)) (and (consp x) (consp (cdr x)) (b* ((thmname (car x)) (lit-alist (car (cdr x))) (syntaxp (cdr (cdr x)))) (and (symbolp thmname) (pseudo-term-subst-p lit-alist) (pseudo-termp syntaxp))))))
Theorem:
(defthm consp-when-constraint-rule-p (implies (constraint-rule-p x) (consp x)) :rule-classes :compound-recognizer)