(opcode-extension-group-p x) → *
Function:
(defun opcode-extension-group-p (x) (declare (xargs :guard t)) (let ((__function__ 'opcode-extension-group-p)) (declare (ignorable __function__)) (or (not x) (and (acl2::keyword-listp x) (subsetp-equal x *group-numbers*)))))
Function:
(defun opcode-extension-group-fix (x) (declare (xargs :guard (opcode-extension-group-p x))) (let ((__function__ 'opcode-extension-group-fix)) (declare (ignorable __function__)) (mbe :logic (if (opcode-extension-group-p x) x 'nil) :exec x)))
Function:
(defun opcode-extension-group-equiv$inline (x y) (declare (xargs :guard (and (opcode-extension-group-p x) (opcode-extension-group-p y)))) (equal (opcode-extension-group-fix x) (opcode-extension-group-fix y)))
Theorem:
(defthm opcode-extension-group-equiv-is-an-equivalence (and (booleanp (opcode-extension-group-equiv x y)) (opcode-extension-group-equiv x x) (implies (opcode-extension-group-equiv x y) (opcode-extension-group-equiv y x)) (implies (and (opcode-extension-group-equiv x y) (opcode-extension-group-equiv y z)) (opcode-extension-group-equiv x z))) :rule-classes (:equivalence))
Theorem:
(defthm opcode-extension-group-equiv-implies-equal-opcode-extension-group-fix-1 (implies (opcode-extension-group-equiv x x-equiv) (equal (opcode-extension-group-fix x) (opcode-extension-group-fix x-equiv))) :rule-classes (:congruence))
Theorem:
(defthm opcode-extension-group-fix-under-opcode-extension-group-equiv (opcode-extension-group-equiv (opcode-extension-group-fix x) x) :rule-classes (:rewrite :rewrite-quoted-constant))