Access the
Function:
(defun lit->var$inline (lit) (declare (xargs :guard (litp lit))) (let ((__function__ 'lit->var)) (declare (ignorable __function__)) (ash (the (integer 0 *) (lit-fix lit)) -1)))
Theorem:
(defthm varp-of-lit->var (b* ((var (lit->var$inline lit))) (varp var)) :rule-classes (:rewrite :type-prescription))
Theorem:
(defthm lit-fix-bound-by-lit->var (<= (lit-fix x) (+ 1 (* 2 (lit->var x)))) :rule-classes :linear)
Theorem:
(defthm lit->var$inline-of-lit-fix-lit (equal (lit->var$inline (lit-fix lit)) (lit->var$inline lit)))
Theorem:
(defthm lit->var$inline-lit-equiv-congruence-on-lit (implies (lit-equiv lit lit-equiv) (equal (lit->var$inline lit) (lit->var$inline lit-equiv))) :rule-classes :congruence)