(all-xlation-governing-entries-paddrs n lin-addr x86) → *
Function:
(defun all-xlation-governing-entries-paddrs (n lin-addr x86) (declare (xargs :stobjs (x86))) (declare (xargs :guard (and (natp n) (canonical-address-p lin-addr)))) (declare (xargs :guard (and (not (app-view x86)) (canonical-address-p (+ n lin-addr))))) (let ((__function__ 'all-xlation-governing-entries-paddrs)) (declare (ignorable __function__)) (if (zp n) nil (append (xlation-governing-entries-paddrs lin-addr x86) (all-xlation-governing-entries-paddrs (1- n) (1+ lin-addr) x86)))))
Theorem:
(defthm all-xlation-governing-entries-paddrs-and-zero-bytes (equal (all-xlation-governing-entries-paddrs 0 lin-addr x86) nil))
Theorem:
(defthm xlation-governing-entries-paddrs-subset-p-all-xlation-governing-entries-paddrs (implies (and (<= addr a) (< a (+ n addr)) (posp n) (integerp a) (integerp addr)) (equal (subset-p (xlation-governing-entries-paddrs a x86) (all-xlation-governing-entries-paddrs n addr x86)) t)))
Theorem:
(defthm all-xlation-governing-entries-paddrs-subset-p-all-xlation-governing-entries-paddrs (implies (and (<= addr-2 addr-1) (<= (+ n-1 addr-1) (+ n-2 addr-2)) (posp n-2) (integerp addr-1) (integerp addr-2)) (equal (subset-p (all-xlation-governing-entries-paddrs n-1 addr-1 x86) (all-xlation-governing-entries-paddrs n-2 addr-2 x86)) t)))
Theorem:
(defthm all-xlation-governing-entries-paddrs-and-xw-not-mem (implies (and (not (equal fld :mem)) (not (equal fld :ctr)) (not (equal fld :app-view))) (equal (all-xlation-governing-entries-paddrs n addr (xw fld index value x86)) (all-xlation-governing-entries-paddrs n addr (double-rewrite x86)))))
Theorem:
(defthm all-xlation-governing-entries-paddrs-and-xw-mem-not-member (implies (not (member-p index (all-xlation-governing-entries-paddrs n addr (double-rewrite x86)))) (equal (all-xlation-governing-entries-paddrs n addr (xw :mem index value x86)) (all-xlation-governing-entries-paddrs n addr (double-rewrite x86)))))