(gather-pml4-table-qword-addresses x86) → list-of-addresses
Function:
(defun gather-pml4-table-qword-addresses (x86) (declare (xargs :stobjs (x86))) (declare (xargs :guard t)) (let ((__function__ 'gather-pml4-table-qword-addresses)) (declare (ignorable __function__)) (b* ((cr3 (ctri *cr3* x86)) (pml4-table-base-addr (ash (cr3bits->pdb cr3) 12))) (create-qword-address-list 512 pml4-table-base-addr))))
Theorem:
(defthm qword-paddr-listp-of-gather-pml4-table-qword-addresses (b* ((list-of-addresses (gather-pml4-table-qword-addresses x86))) (qword-paddr-listp list-of-addresses)) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-gather-pml4-table-qword-addresses (b* ((list-of-addresses (gather-pml4-table-qword-addresses x86))) (true-listp list-of-addresses)) :rule-classes :rewrite)
Theorem:
(defthm consp-gather-pml4-table-qword-addresses (consp (gather-pml4-table-qword-addresses x86)) :rule-classes (:type-prescription :rewrite))
Theorem:
(defthm mult-8-qword-paddr-listp-gather-pml4-table-qword-addresses (mult-8-qword-paddr-listp (gather-pml4-table-qword-addresses x86)))
Theorem:
(defthm no-duplicates-p-gather-pml4-table-qword-addresses (no-duplicates-p (gather-pml4-table-qword-addresses x86)))
Theorem:
(defthm gather-pml4-table-qword-addresses-xw-fld!=ctr (implies (not (equal fld :ctr)) (equal (gather-pml4-table-qword-addresses (xw fld index val x86)) (gather-pml4-table-qword-addresses x86))))
Theorem:
(defthm gather-pml4-table-qword-addresses-wm-low-64 (equal (gather-pml4-table-qword-addresses (wm-low-64 index val x86)) (gather-pml4-table-qword-addresses x86)))
Theorem:
(defthm gather-pml4-table-qword-addresses-xw-fld=ctr (implies (and (equal fld :ctr) (not (equal index *cr3*))) (equal (gather-pml4-table-qword-addresses (xw fld index val x86)) (gather-pml4-table-qword-addresses x86))))