Extend stv-expand-output-entry across a line.
(stv-expand-output-entries name width pnum entries usersyms) → (mv new-entries usersyms)
Function:
(defun stv-expand-output-entries (name width pnum entries usersyms) (declare (xargs :guard (and (and (true-listp name) (consp name)) (natp pnum) (true-listp entries) (equal width (len name))))) (let ((__function__ 'stv-expand-output-entries)) (declare (ignorable __function__)) (b* (((when (atom entries)) (mv nil usersyms)) ((mv new-car usersyms) (stv-expand-output-entry name width pnum (car entries) usersyms)) ((mv new-cdr usersyms) (stv-expand-output-entries name width (+ 1 pnum) (cdr entries) usersyms))) (mv (cons new-car new-cdr) usersyms))))
Theorem:
(defthm true-listp-of-stv-expand-output-entries.new-entries (b* (((mv ?new-entries ?usersyms) (stv-expand-output-entries name width pnum entries usersyms))) (true-listp new-entries)) :rule-classes :type-prescription)