Theorem:
(defthm paging-equiv-memory-and-rvm08 (implies (and (xr :app-view nil (double-rewrite x86-1)) (paging-equiv-memory (double-rewrite x86-1) x86-2)) (and (equal (mv-nth 0 (rvm08 lin-addr x86-1)) (mv-nth 0 (rvm08 lin-addr x86-2))) (equal (mv-nth 1 (rvm08 lin-addr x86-1)) (mv-nth 1 (rvm08 lin-addr x86-2))))))
Theorem:
(defthm paging-equiv-memory-and-mv-nth-0-rml08-cong (implies (paging-equiv-memory x86-1 x86-2) (equal (mv-nth 0 (rml08 lin-addr r-w-x x86-1)) (mv-nth 0 (rml08 lin-addr r-w-x x86-2)))) :rule-classes :congruence)
Theorem:
(defthm xlate-equiv-memory-and-xr-mem-from-rest-of-memory (implies (and (bind-free (find-an-xlate-equiv-x86 'xlate-equiv-memory-and-xr-mem-from-rest-of-memory x86-1 'x86-2 mfc state) (x86-2)) (xlate-equiv-memory (double-rewrite x86-1) x86-2) (syntaxp (not (equal x86-1 x86-2))) (disjoint-p (list j) (open-qword-paddr-list (gather-all-paging-structure-qword-addresses (double-rewrite x86-1)))) (natp j) (< j *mem-size-in-bytes*)) (equal (xr :mem j x86-1) (xr :mem j x86-2))))
Theorem:
(defthm paging-equiv-memory-and-xr-mem-from-rest-of-memory (implies (and (bind-free (find-an-paging-equiv-x86 'paging-equiv-memory-and-xr-mem-from-rest-of-memory x86-1 'x86-2 mfc state) (x86-2)) (paging-equiv-memory (double-rewrite x86-1) x86-2) (syntaxp (not (equal x86-1 x86-2))) (disjoint-p (list j) (open-qword-paddr-list (gather-all-paging-structure-qword-addresses (double-rewrite x86-1)))) (natp j) (< j *mem-size-in-bytes*)) (equal (xr :mem j x86-1) (xr :mem j x86-2))))
Theorem:
(defthm paging-equiv-memory-and-mv-nth-1-rml08 (implies (and (bind-free (find-an-paging-equiv-x86 'paging-equiv-memory-and-mv-nth-1-rml08 x86-1 'x86-2 mfc state) (x86-2)) (syntaxp (not (equal x86-1 x86-2))) (paging-equiv-memory (double-rewrite x86-1) x86-2) (disjoint-p (list (mv-nth 1 (ia32e-la-to-pa lin-addr r-w-x (double-rewrite x86-1)))) (open-qword-paddr-list (gather-all-paging-structure-qword-addresses (double-rewrite x86-1))))) (equal (mv-nth 1 (rml08 lin-addr r-w-x x86-1)) (mv-nth 1 (rml08 lin-addr r-w-x x86-2)))))
Theorem:
(defthm xlate-equiv-memory-and-two-mv-nth-2-rml08-cong (implies (xlate-equiv-memory x86-1 x86-2) (xlate-equiv-memory (mv-nth 2 (rml08 lin-addr r-w-x x86-1)) (mv-nth 2 (rml08 lin-addr r-w-x x86-2)))))
Theorem:
(defthm paging-equiv-memory-and-two-mv-nth-2-rml08-cong (implies (paging-equiv-memory x86-1 x86-2) (paging-equiv-memory (mv-nth 2 (rml08 lin-addr r-w-x x86-1)) (mv-nth 2 (rml08 lin-addr r-w-x x86-2)))) :rule-classes :congruence)
Theorem:
(defthm paging-equiv-memory-mv-nth-2-rml08 (implies (64-bit-modep (double-rewrite x86)) (paging-equiv-memory x86 (mv-nth 2 (rml08 lin-addr r-w-x x86)))))
Theorem:
(defthm xlate-equiv-memory-and-mv-nth-2-rml08 (implies (64-bit-modep (double-rewrite x86)) (xlate-equiv-memory (mv-nth 2 (rml08 lin-addr r-w-x x86)) x86)))