(stv-gensyms-aux prefix n acc) → syms
Function:
(defun stv-gensyms-aux (prefix n acc) (declare (xargs :guard (and (stringp prefix) (natp n)))) (let ((__function__ 'stv-gensyms-aux)) (declare (ignorable __function__)) (b* (((when (zp n)) acc) (n (- n 1)) (sym1 (intern$ (str::cat prefix "[" (str::natstr n) "]") "ACL2"))) (stv-gensyms-aux prefix n (cons sym1 acc)))))
Theorem:
(defthm symbol-listp-of-stv-gensyms-aux (implies (symbol-listp acc) (b* ((syms (stv-gensyms-aux prefix n acc))) (symbol-listp syms))) :rule-classes :rewrite)
Theorem:
(defthm len-of-stv-gensyms-aux (equal (len (stv-gensyms-aux prefix n acc)) (+ (len acc) (nfix n))))