(page-fault-exception addr err-no x86) → (mv flg zero x86)
Function:
(defun page-fault-exception (addr err-no x86) (declare (xargs :stobjs (x86))) (declare (xargs :guard t)) (let ((__function__ 'page-fault-exception)) (declare (ignorable __function__)) (b* ((old-faults (fault x86)) (new-faults (cons (list :page-fault err-no addr) old-faults)) (x86 (!fault new-faults x86))) (mv t 0 x86))))
Theorem:
(defthm x86p-of-page-fault-exception.x86 (implies (and (x86p x86)) (b* (((mv ?flg acl2::?zero ?x86) (page-fault-exception addr err-no x86))) (x86p x86))) :rule-classes :rewrite)
Theorem:
(defthm mv-nth-0-page-fault-exception (mv-nth 0 (page-fault-exception addr err-no x86)))
Theorem:
(defthm mv-nth-1-page-fault-exception (equal (mv-nth 1 (page-fault-exception addr err-no x86)) 0))
Theorem:
(defthm xr-page-fault-exception (implies (not (equal fld :fault)) (equal (xr fld index (mv-nth 2 (page-fault-exception addr err-no x86))) (xr fld index x86))))
Theorem:
(defthm page-fault-exception-xw-values (implies (not (equal fld :fault)) (and (equal (mv-nth 0 (page-fault-exception addr err-no (xw fld index value x86))) (mv-nth 0 (page-fault-exception addr err-no x86))) (equal (mv-nth 1 (page-fault-exception addr err-no (xw fld index value x86))) 0))))
Theorem:
(defthm page-fault-exception-xw-state (implies (not (equal fld :fault)) (equal (mv-nth 2 (page-fault-exception addr err-no (xw fld index value x86))) (xw fld index value (mv-nth 2 (page-fault-exception addr err-no x86))))))
Theorem:
(defthm 64-bit-modep-of-page-fault-exception (equal (64-bit-modep (mv-nth 2 (page-fault-exception addr err-no x86))) (64-bit-modep x86)))
Theorem:
(defthm x86-operation-mode-of-page-fault-exception (equal (x86-operation-mode (mv-nth 2 (page-fault-exception addr err-no x86))) (x86-operation-mode x86)))