Generate variables for bounding results of
(expdata-gen-result-vars old$ m) → vars
When
Function:
(defun expdata-gen-result-vars-aux (old$ j m) (declare (xargs :guard (and (symbolp old$) (posp j) (posp m)))) (let ((__function__ 'expdata-gen-result-vars-aux)) (declare (ignorable __function__)) (b* (((unless (mbt (posp j))) nil) ((unless (mbt (posp m))) nil) ((when (> j m)) nil) (name (str::cat "RESULT" (str::nat-to-dec-string j))) (var (intern-in-package-of-symbol name old$)) (vars (expdata-gen-result-vars-aux old$ (1+ j) m))) (cons var vars))))
Theorem:
(defthm symbol-listp-of-expdata-gen-result-vars-aux (b* ((vars (expdata-gen-result-vars-aux old$ j m))) (symbol-listp vars)) :rule-classes :rewrite)
Function:
(defun expdata-gen-result-vars (old$ m) (declare (xargs :guard (and (symbolp old$) (posp m)))) (declare (xargs :guard (> m 1))) (let ((__function__ 'expdata-gen-result-vars)) (declare (ignorable __function__)) (expdata-gen-result-vars-aux old$ 1 m)))
Theorem:
(defthm symbol-listp-of-expdata-gen-result-vars (b* ((vars (expdata-gen-result-vars old$ m))) (symbol-listp vars)) :rule-classes :rewrite)