(aliases-to-var-decl-map aliases scope moddb) → varmap
Function:
(defun aliases-to-var-decl-map (aliases scope moddb) (declare (xargs :stobjs (aliases moddb))) (declare (xargs :guard (and (modscope-p scope) (moddb-ok moddb)))) (declare (xargs :guard (and (modscope-okp scope moddb) (<= (aliass-length aliases) (modscope-local-bound scope moddb)) (aliases-normorderedp aliases)))) (let ((__function__ 'aliases-to-var-decl-map)) (declare (ignorable __function__)) (b* (((acl2::local-stobjs indnamememo) (mv varmap indnamememo)) (indnamememo (resize-indnames (aliass-length aliases) indnamememo)) (indnamememo (aliases-to-var-decl-map-aux 0 aliases scope moddb indnamememo)) (varmap (indnamememo-to-var-decl-map 0 indnamememo nil))) (mv varmap indnamememo))))
Theorem:
(defthm var-decl-map-p-of-aliases-to-var-decl-map (b* ((varmap (aliases-to-var-decl-map aliases scope moddb))) (var-decl-map-p varmap)) :rule-classes :rewrite)
Theorem:
(defthm aliases-to-var-decl-map-of-lhslist-fix-aliases (equal (aliases-to-var-decl-map (lhslist-fix aliases) scope moddb) (aliases-to-var-decl-map aliases scope moddb)))
Theorem:
(defthm aliases-to-var-decl-map-lhslist-equiv-congruence-on-aliases (implies (lhslist-equiv aliases aliases-equiv) (equal (aliases-to-var-decl-map aliases scope moddb) (aliases-to-var-decl-map aliases-equiv scope moddb))) :rule-classes :congruence)
Theorem:
(defthm aliases-to-var-decl-map-of-modscope-fix-scope (equal (aliases-to-var-decl-map aliases (modscope-fix scope) moddb) (aliases-to-var-decl-map aliases scope moddb)))
Theorem:
(defthm aliases-to-var-decl-map-modscope-equiv-congruence-on-scope (implies (modscope-equiv scope scope-equiv) (equal (aliases-to-var-decl-map aliases scope moddb) (aliases-to-var-decl-map aliases scope-equiv moddb))) :rule-classes :congruence)
Theorem:
(defthm aliases-to-var-decl-map-of-moddb-fix-moddb (equal (aliases-to-var-decl-map aliases scope (moddb-fix moddb)) (aliases-to-var-decl-map aliases scope moddb)))
Theorem:
(defthm aliases-to-var-decl-map-moddb-equiv-congruence-on-moddb (implies (moddb-equiv moddb moddb-equiv) (equal (aliases-to-var-decl-map aliases scope moddb) (aliases-to-var-decl-map aliases scope moddb-equiv))) :rule-classes :congruence)