Recognizer for rewrite structures.
(rewrite-p x) → *
Function:
(defun rewrite-p (x) (declare (xargs :guard t)) (let ((__function__ 'rewrite-p)) (declare (ignorable __function__)) (and (true-listp x) (eql (len x) 4) (b* ((hyps (std::da-nth 0 x)) (equiv (std::da-nth 1 x)) (lhs (std::da-nth 2 x)) (rhs (std::da-nth 3 x))) (and (pseudo-term-listp hyps) (pseudo-fnsym-p equiv) (pseudo-termp lhs) (pseudo-termp rhs))))))
Theorem:
(defthm consp-when-rewrite-p (implies (rewrite-p x) (consp x)) :rule-classes :compound-recognizer)