Function:
(defun aliases-to-var-decl-map-aux (n aliases scope moddb indnamememo) (declare (xargs :stobjs (aliases moddb indnamememo))) (declare (xargs :guard (and (natp n) (modscope-p scope) (moddb-ok moddb)))) (declare (xargs :guard (and (<= (lnfix n) (aliass-length aliases)) (modscope-okp scope moddb) (aliases-boundedp-aux n aliases (modscope-local-bound scope moddb))))) (let ((__function__ 'aliases-to-var-decl-map-aux)) (declare (ignorable __function__)) (b* (((when (mbe :logic (zp (- (aliass-length aliases) (nfix n))) :exec (eql (aliass-length aliases) n))) indnamememo) (lhs (get-alias n aliases)) (indnamememo (lhs-register-indnamememo lhs scope moddb indnamememo))) (aliases-to-var-decl-map-aux (1+ (lnfix n)) aliases scope moddb indnamememo))))
Theorem:
(defthm return-type-of-aliases-to-var-decl-map-aux (b* ((indnamememo1 (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo))) (equal (len indnamememo1) (len indnamememo))) :rule-classes :rewrite)
Theorem:
(defthm aliases-to-var-decl-map-aux-of-nfix-n (equal (aliases-to-var-decl-map-aux (nfix n) aliases scope moddb indnamememo) (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo)))
Theorem:
(defthm aliases-to-var-decl-map-aux-nat-equiv-congruence-on-n (implies (nat-equiv n n-equiv) (equal (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo) (aliases-to-var-decl-map-aux n-equiv aliases scope moddb indnamememo))) :rule-classes :congruence)
Theorem:
(defthm aliases-to-var-decl-map-aux-of-lhslist-fix-aliases (equal (aliases-to-var-decl-map-aux n (lhslist-fix aliases) scope moddb indnamememo) (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo)))
Theorem:
(defthm aliases-to-var-decl-map-aux-lhslist-equiv-congruence-on-aliases (implies (lhslist-equiv aliases aliases-equiv) (equal (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo) (aliases-to-var-decl-map-aux n aliases-equiv scope moddb indnamememo))) :rule-classes :congruence)
Theorem:
(defthm aliases-to-var-decl-map-aux-of-modscope-fix-scope (equal (aliases-to-var-decl-map-aux n aliases (modscope-fix scope) moddb indnamememo) (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo)))
Theorem:
(defthm aliases-to-var-decl-map-aux-modscope-equiv-congruence-on-scope (implies (modscope-equiv scope scope-equiv) (equal (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo) (aliases-to-var-decl-map-aux n aliases scope-equiv moddb indnamememo))) :rule-classes :congruence)
Theorem:
(defthm aliases-to-var-decl-map-aux-of-moddb-fix-moddb (equal (aliases-to-var-decl-map-aux n aliases scope (moddb-fix moddb) indnamememo) (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo)))
Theorem:
(defthm aliases-to-var-decl-map-aux-moddb-equiv-congruence-on-moddb (implies (moddb-equiv moddb moddb-equiv) (equal (aliases-to-var-decl-map-aux n aliases scope moddb indnamememo) (aliases-to-var-decl-map-aux n aliases scope moddb-equiv indnamememo))) :rule-classes :congruence)