Function:
(defun aliases-boundedp-aux (n aliases bound) (declare (xargs :stobjs (aliases))) (declare (xargs :guard (and (natp n) (natp bound)))) (declare (xargs :guard (<= (lnfix n) (aliass-length aliases)))) (let ((__function__ 'aliases-boundedp-aux)) (declare (ignorable __function__)) (b* (((when (mbe :logic (zp (- (aliass-length aliases) (nfix n))) :exec (eql (aliass-length aliases) n))) t)) (and (svarlist-boundedp (lhs-vars (get-alias n aliases)) bound) (aliases-boundedp-aux (1+ (lnfix n)) aliases bound)))))
Theorem:
(defthm aliases-boundedp-aux-of-update-less (implies (< (nfix m) (nfix n)) (equal (aliases-boundedp-aux n (update-nth m val aliases) bound) (aliases-boundedp-aux n aliases bound))))
Theorem:
(defthm aliases-boundedp-aux-when-normordered (implies (and (aliases-normorderedp aliases) (<= (len aliases) (nfix bound))) (aliases-boundedp-aux n aliases bound)))
Theorem:
(defthm aliases-boundedp-aux-of-nfix-n (equal (aliases-boundedp-aux (nfix n) aliases bound) (aliases-boundedp-aux n aliases bound)))
Theorem:
(defthm aliases-boundedp-aux-nat-equiv-congruence-on-n (implies (nat-equiv n n-equiv) (equal (aliases-boundedp-aux n aliases bound) (aliases-boundedp-aux n-equiv aliases bound))) :rule-classes :congruence)
Theorem:
(defthm aliases-boundedp-aux-of-lhslist-fix-aliases (equal (aliases-boundedp-aux n (lhslist-fix aliases) bound) (aliases-boundedp-aux n aliases bound)))
Theorem:
(defthm aliases-boundedp-aux-lhslist-equiv-congruence-on-aliases (implies (lhslist-equiv aliases aliases-equiv) (equal (aliases-boundedp-aux n aliases bound) (aliases-boundedp-aux n aliases-equiv bound))) :rule-classes :congruence)
Theorem:
(defthm aliases-boundedp-aux-of-nfix-bound (equal (aliases-boundedp-aux n aliases (nfix bound)) (aliases-boundedp-aux n aliases bound)))
Theorem:
(defthm aliases-boundedp-aux-nat-equiv-congruence-on-bound (implies (nat-equiv bound bound-equiv) (equal (aliases-boundedp-aux n aliases bound) (aliases-boundedp-aux n aliases bound-equiv))) :rule-classes :congruence)