Get the sign? field from a bexpo.
(bexpo->sign? x) → sign?
This is an ordinary field accessor created by fty::defprod.
Function:
(defun bexpo->sign?$inline (x) (declare (xargs :guard (bexpop x))) (declare (xargs :guard t)) (mbe :logic (b* ((x (and t x))) (sign-option-fix (car (cdr x)))) :exec (car (cdr x))))
Theorem:
(defthm sign-optionp-of-bexpo->sign? (b* ((sign? (bexpo->sign?$inline x))) (sign-optionp sign?)) :rule-classes :rewrite)
Theorem:
(defthm bexpo->sign?$inline-of-bexpo-fix-x (equal (bexpo->sign?$inline (bexpo-fix x)) (bexpo->sign?$inline x)))
Theorem:
(defthm bexpo->sign?$inline-bexpo-equiv-congruence-on-x (implies (bexpo-equiv x x-equiv) (equal (bexpo->sign?$inline x) (bexpo->sign?$inline x-equiv))) :rule-classes :congruence)