(op-pfx-p x) → *
Function:
(defun op-pfx-p (x) (declare (xargs :guard t)) (let ((__function__ 'op-pfx-p)) (declare (ignorable __function__)) (or (not x) (member-equal x '(:no-prefix :|66| :f3 :f2 :v :v66 :vf3 :vf2 :ev :ev66 :evf3 :evf2)))))
Function:
(defun op-pfx-fix (x) (declare (xargs :guard (op-pfx-p x))) (let ((__function__ 'op-pfx-fix)) (declare (ignorable __function__)) (mbe :logic (if (op-pfx-p x) x 'nil) :exec x)))
Function:
(defun op-pfx-equiv$inline (x y) (declare (xargs :guard (and (op-pfx-p x) (op-pfx-p y)))) (equal (op-pfx-fix x) (op-pfx-fix y)))
Theorem:
(defthm op-pfx-equiv-is-an-equivalence (and (booleanp (op-pfx-equiv x y)) (op-pfx-equiv x x) (implies (op-pfx-equiv x y) (op-pfx-equiv y x)) (implies (and (op-pfx-equiv x y) (op-pfx-equiv y z)) (op-pfx-equiv x z))) :rule-classes (:equivalence))
Theorem:
(defthm op-pfx-equiv-implies-equal-op-pfx-fix-1 (implies (op-pfx-equiv x x-equiv) (equal (op-pfx-fix x) (op-pfx-fix x-equiv))) :rule-classes (:congruence))
Theorem:
(defthm op-pfx-fix-under-op-pfx-equiv (op-pfx-equiv (op-pfx-fix x) x) :rule-classes (:rewrite :rewrite-quoted-constant))