Alternative version of x86-fetch-decode-execute that sets the
(x86-fetch-decode-execute-halt halt-address x86) → x86
Function:
(defun x86-fetch-decode-execute-halt$inline (halt-address x86) (declare (xargs :stobjs (x86))) (declare (type (signed-byte 48) halt-address)) (if (equal (the (signed-byte 48) (rip x86)) halt-address) (b* ((ctx 'x86-fetch-decode-execute-halt)) (!!ms-fresh)) (x86-fetch-decode-execute x86)))
Theorem:
(defthm x86p-of-x86-fetch-decode-execute-halt (implies (x86p x86) (b* ((x86 (x86-fetch-decode-execute-halt$inline halt-address x86))) (x86p x86))) :rule-classes :rewrite)