Function:
(defun lhatom-bound-fix (bound offset x) (declare (xargs :guard (and (integerp bound) (natp offset) (lhatom-p x)))) (declare (xargs :guard (lhatom-normorderedp bound offset x))) (let ((__function__ 'lhatom-bound-fix)) (declare (ignorable __function__)) (mbe :logic (if (lhatom-normorderedp bound offset x) (lhatom-fix x) (lhatom-z)) :exec x)))
Theorem:
(defthm return-type-of-lhatom-bound-fix (b* ((xx (lhatom-bound-fix bound offset x))) (and (lhatom-p xx) (lhatom-normorderedp bound offset xx))) :rule-classes :rewrite)
Theorem:
(defthm lhatom-bound-fix-of-ifix-bound (equal (lhatom-bound-fix (ifix bound) offset x) (lhatom-bound-fix bound offset x)))
Theorem:
(defthm lhatom-bound-fix-int-equiv-congruence-on-bound (implies (int-equiv bound bound-equiv) (equal (lhatom-bound-fix bound offset x) (lhatom-bound-fix bound-equiv offset x))) :rule-classes :congruence)
Theorem:
(defthm lhatom-bound-fix-of-nfix-offset (equal (lhatom-bound-fix bound (nfix offset) x) (lhatom-bound-fix bound offset x)))
Theorem:
(defthm lhatom-bound-fix-nat-equiv-congruence-on-offset (implies (nat-equiv offset offset-equiv) (equal (lhatom-bound-fix bound offset x) (lhatom-bound-fix bound offset-equiv x))) :rule-classes :congruence)
Theorem:
(defthm lhatom-bound-fix-of-lhatom-fix-x (equal (lhatom-bound-fix bound offset (lhatom-fix x)) (lhatom-bound-fix bound offset x)))
Theorem:
(defthm lhatom-bound-fix-lhatom-equiv-congruence-on-x (implies (lhatom-equiv x x-equiv) (equal (lhatom-bound-fix bound offset x) (lhatom-bound-fix bound offset x-equiv))) :rule-classes :congruence)
Theorem:
(defthm lhatom-bound-fix-when-lhatom-normorderedp (implies (lhatom-normorderedp bound offset x) (equal (lhatom-bound-fix bound offset x) (lhatom-fix x))))
Theorem:
(defthm lhatom-bound-fix-forward-to-normorderedp (lhatom-normorderedp bound idx (lhatom-bound-fix bound idx x)) :rule-classes ((:forward-chaining :trigger-terms ((lhatom-bound-fix bound idx x)))))
Theorem:
(defthm lhatom-vars-of-lhatom-bound-fix (implies (not (member v (lhatom-vars x))) (not (member v (lhatom-vars (lhatom-bound-fix b o x))))))