(svarlist-indexed->named vars scope moddb) → newvars
Function:
(defun svarlist-indexed->named (vars scope moddb) (declare (xargs :stobjs (moddb))) (declare (xargs :guard (and (svarlist-p vars) (modscope-p scope) (moddb-ok moddb)))) (declare (xargs :guard (and (modscope-okp scope moddb) (svarlist-boundedp vars (modscope-local-bound scope moddb))))) (let ((__function__ 'svarlist-indexed->named)) (declare (ignorable __function__)) (if (atom vars) nil (cons (svar-indexed->named (car vars) scope moddb) (svarlist-indexed->named (cdr vars) scope moddb)))))
Theorem:
(defthm return-type-of-svarlist-indexed->named (b* ((newvars (svarlist-indexed->named vars scope moddb))) (and (svarlist-p newvars) (svarlist-addr-p newvars))) :rule-classes :rewrite)
Theorem:
(defthm len-of-svarlist-indexed->named (equal (len (svarlist-indexed->named vars scope moddb)) (len vars)))
Theorem:
(defthm svarlist-indexed->named-of-svarlist-fix-vars (equal (svarlist-indexed->named (svarlist-fix vars) scope moddb) (svarlist-indexed->named vars scope moddb)))
Theorem:
(defthm svarlist-indexed->named-svarlist-equiv-congruence-on-vars (implies (svarlist-equiv vars vars-equiv) (equal (svarlist-indexed->named vars scope moddb) (svarlist-indexed->named vars-equiv scope moddb))) :rule-classes :congruence)
Theorem:
(defthm svarlist-indexed->named-of-modscope-fix-scope (equal (svarlist-indexed->named vars (modscope-fix scope) moddb) (svarlist-indexed->named vars scope moddb)))
Theorem:
(defthm svarlist-indexed->named-modscope-equiv-congruence-on-scope (implies (modscope-equiv scope scope-equiv) (equal (svarlist-indexed->named vars scope moddb) (svarlist-indexed->named vars scope-equiv moddb))) :rule-classes :congruence)
Theorem:
(defthm svarlist-indexed->named-of-moddb-fix-moddb (equal (svarlist-indexed->named vars scope (moddb-fix moddb)) (svarlist-indexed->named vars scope moddb)))
Theorem:
(defthm svarlist-indexed->named-moddb-equiv-congruence-on-moddb (implies (moddb-equiv moddb moddb-equiv) (equal (svarlist-indexed->named vars scope moddb) (svarlist-indexed->named vars scope moddb-equiv))) :rule-classes :congruence)