Recognizer for ctrex-rule structures.
(ctrex-rule-p x) → *
Function:
(defun ctrex-rule-p (x) (declare (xargs :guard t)) (let ((__function__ 'ctrex-rule-p)) (declare (ignorable __function__)) (and (std::prod-consp x) (std::prod-consp (std::prod-car x)) (std::prod-consp (std::prod-car (std::prod-car x))) (std::prod-consp (std::prod-cdr (std::prod-car x))) (std::prod-consp (std::prod-cdr x)) (std::prod-consp (std::prod-car (std::prod-cdr x))) (std::prod-consp (std::prod-cdr (std::prod-cdr x))) (std::prod-consp (std::prod-cdr (std::prod-cdr (std::prod-cdr x)))) (b* ((name (std::prod-car (std::prod-car (std::prod-car x)))) (assigned-var (std::prod-cdr (std::prod-car (std::prod-car x)))) (assign (std::prod-car (std::prod-cdr (std::prod-car x)))) (match (std::prod-cdr (std::prod-cdr (std::prod-car x)))) (match-conds (std::prod-car (std::prod-car (std::prod-cdr x)))) (assign-cond (std::prod-cdr (std::prod-car (std::prod-cdr x)))) (hyp (std::prod-car (std::prod-cdr (std::prod-cdr x)))) (equiv (std::prod-car (std::prod-cdr (std::prod-cdr (std::prod-cdr x))))) (ruletype (std::prod-cdr (std::prod-cdr (std::prod-cdr (std::prod-cdr x)))))) (and (symbolp name) (pseudo-var-p assigned-var) (pseudo-termp assign) (pseudo-term-subst-p match) (pseudo-term-subst-p match-conds) (pseudo-termp assign-cond) (pseudo-termp hyp) (pseudo-fnsym-p equiv) (ctrex-ruletype-p ruletype))))))