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