Turn an address into a variable name.
Function:
(defun address->svar (x) (declare (xargs :guard (address-p x))) (let ((__function__ 'address->svar)) (declare (ignorable __function__)) (make-svar :name (address-fix x))))
Theorem:
(defthm svar-p-of-address->svar (b* ((xvar (address->svar x))) (svar-p xvar)) :rule-classes :rewrite)
Theorem:
(defthm address->svar-of-address-fix-x (equal (address->svar (address-fix x)) (address->svar x)))
Theorem:
(defthm address->svar-address-equiv-congruence-on-x (implies (address-equiv x x-equiv) (equal (address->svar x) (address->svar x-equiv))) :rule-classes :congruence)