(setalias n x aliases) → aliases1
Function:
(defun setalias$inline (n x aliases) (declare (xargs :stobjs (aliases))) (declare (xargs :guard (and (natp n) (lhs-p x) (aliases-normorderedp aliases)))) (declare (xargs :guard (and (lhs-vars-normorderedp n 0 x) (< n (aliass-length aliases))))) (let ((__function__ 'setalias)) (declare (ignorable __function__)) (mbe :logic (let ((aliases (aliases-bound-fix aliases))) (set-alias n (lhs-varbound-fix (nfix n) 0 x) aliases)) :exec (set-alias n x aliases))))
Theorem:
(defthm aliases-normorderedp-of-setalias (b* ((aliases1 (setalias$inline n x aliases))) (aliases-normorderedp aliases1)) :rule-classes :rewrite)
Theorem:
(defthm setalias$inline-of-nfix-n (equal (setalias$inline (nfix n) x aliases) (setalias$inline n x aliases)))
Theorem:
(defthm setalias$inline-nat-equiv-congruence-on-n (implies (nat-equiv n n-equiv) (equal (setalias$inline n x aliases) (setalias$inline n-equiv x aliases))) :rule-classes :congruence)
Theorem:
(defthm setalias$inline-of-lhs-fix-x (equal (setalias$inline n (lhs-fix x) aliases) (setalias$inline n x aliases)))
Theorem:
(defthm setalias$inline-lhs-equiv-congruence-on-x (implies (lhs-equiv x x-equiv) (equal (setalias$inline n x aliases) (setalias$inline n x-equiv aliases))) :rule-classes :congruence)
Theorem:
(defthm setalias$inline-of-aliases-bound-fix-aliases (equal (setalias$inline n x (aliases-bound-fix aliases)) (setalias$inline n x aliases)))
Theorem:
(defthm setalias$inline-aliases-equiv-congruence-on-aliases (implies (aliases-equiv aliases aliases-equiv) (equal (setalias$inline n x aliases) (setalias$inline n x aliases-equiv))) :rule-classes :congruence)
Theorem:
(defthm len-of-setalias-incr (<= (len aliases) (len (setalias n x aliases))) :rule-classes :linear)
Theorem:
(defthm len-of-setalias (implies (< (nfix n) (len aliases)) (equal (len (setalias n x aliases)) (len aliases))))
Theorem:
(defthm getalias-of-setalias-split (equal (getalias n (setalias m v aliases)) (if (equal (nfix n) (nfix m)) (lhs-varbound-fix (nfix n) 0 v) (getalias n aliases))))
Theorem:
(defthm getalias-of-setalias-same (equal (getalias n (setalias n v aliases)) (lhs-varbound-fix (nfix n) 0 v)))
Theorem:
(defthm getalias-of-setalias-diff (implies (not (equal (nfix n) (nfix m))) (equal (getalias n (setalias m v aliases)) (getalias n aliases))))