Recognizer for constraint-tuple structures.
(constraint-tuple-p x) → *
Function:
(defun constraint-tuple-p (x) (declare (xargs :guard t)) (let ((__function__ 'constraint-tuple-p)) (declare (ignorable __function__)) (and (consp x) (consp (car x)) (consp (cdr (car x))) (consp (cdr x)) (consp (cdr (cdr x))) (b* ((rule (car (car x))) (existing-lits (car (cdr (car x)))) (matching-lit (cdr (cdr (car x)))) (common-vars (car (cdr x))) (existing-vars (car (cdr (cdr x)))) (sig-table (cdr (cdr (cdr x))))) (and (constraint-rule-p rule) (pseudo-var-set-p existing-lits) (pseudo-var-p matching-lit) (pseudo-var-set-p common-vars) (pseudo-var-set-p existing-vars) (sig-table-p sig-table))))))
Theorem:
(defthm consp-when-constraint-tuple-p (implies (constraint-tuple-p x) (consp x)) :rule-classes :compound-recognizer)