Get the address field from a address+pos.
(address+pos->address x) → address
This is an ordinary field accessor created by fty::defprod.
Function:
(defun address+pos->address$inline (x) (declare (xargs :guard (address+pos-p x))) (declare (xargs :guard t)) (let ((__function__ 'address+pos->address)) (declare (ignorable __function__)) (mbe :logic (b* ((x (and t x))) (address-fix (cdr (std::da-nth 0 x)))) :exec (cdr (std::da-nth 0 x)))))
Theorem:
(defthm addressp-of-address+pos->address (b* ((address (address+pos->address$inline x))) (addressp address)) :rule-classes :rewrite)
Theorem:
(defthm address+pos->address$inline-of-address+pos-fix-x (equal (address+pos->address$inline (address+pos-fix x)) (address+pos->address$inline x)))
Theorem:
(defthm address+pos->address$inline-address+pos-equiv-congruence-on-x (implies (address+pos-equiv x x-equiv) (equal (address+pos->address$inline x) (address+pos->address$inline x-equiv))) :rule-classes :congruence)