(aliases-put-pairs pairs aliases) → aliases1
Function:
(defun aliases-put-pairs (pairs aliases) (declare (xargs :stobjs (aliases))) (declare (xargs :guard (and (lhspairs-p pairs) (aliases-normorderedp aliases)))) (declare (xargs :guard (svarlist-boundedp (lhspairs-vars pairs) (aliass-length aliases)))) (let ((__function__ 'aliases-put-pairs)) (declare (ignorable __function__)) (b* ((pairs (lhspairs-fix pairs)) ((when (atom pairs)) (aliases-bound-fix aliases)) ((unless (mbt (consp (car pairs)))) (aliases-put-pairs (cdr pairs) aliases)) ((cons x y) (car pairs)) (aliases (aliases-add-pair x y aliases))) (aliases-put-pairs (cdr pairs) aliases))))
Theorem:
(defthm aliases-normorderedp-of-aliases-put-pairs (b* ((aliases1 (aliases-put-pairs pairs aliases))) (aliases-normorderedp aliases1)) :rule-classes :rewrite)
Theorem:
(defthm aliases-put-pairs-of-lhspairs-fix-pairs (equal (aliases-put-pairs (lhspairs-fix pairs) aliases) (aliases-put-pairs pairs aliases)))
Theorem:
(defthm aliases-put-pairs-lhspairs-equiv-congruence-on-pairs (implies (lhspairs-equiv pairs pairs-equiv) (equal (aliases-put-pairs pairs aliases) (aliases-put-pairs pairs-equiv aliases))) :rule-classes :congruence)
Theorem:
(defthm aliases-put-pairs-of-aliases-bound-fix-aliases (equal (aliases-put-pairs pairs (aliases-bound-fix aliases)) (aliases-put-pairs pairs aliases)))
Theorem:
(defthm aliases-put-pairs-aliases-equiv-congruence-on-aliases (implies (aliases-equiv aliases aliases-equiv) (equal (aliases-put-pairs pairs aliases) (aliases-put-pairs pairs aliases-equiv))) :rule-classes :congruence)
Theorem:
(defthm len-of-aliases-put-pairs (implies (svarlist-boundedp (lhspairs-vars pairs) (len aliases)) (equal (len (aliases-put-pairs pairs aliases)) (len aliases))))