(data-for-patternp pat data) determines whether
Function:
(defun data-for-patternp (pat data) (declare (xargs :guard t)) (if pat (or (atom pat) (and (consp data) (data-for-patternp (car pat) (car data)) (data-for-patternp (cdr pat) (cdr data)))) t))