(stv-run-esim-debug mod in-alists state-alists initial-state) → (mv nsts outs ints)
Function:
(defun stv-run-esim-debug (mod in-alists state-alists initial-state) (declare (xargs :guard (and (good-esim-modulep mod) (new-good-esim-probe-modulep mod)))) (declare (xargs :guard (eql (len in-alists) (len state-alists)))) (let ((__function__ 'stv-run-esim-debug)) (declare (ignorable __function__)) (b* (((when (atom in-alists)) (mv nil nil nil)) (state-alist (append-without-guard (car state-alists) initial-state)) ((mv nst1 out1 int1) (esim-sexpr-simp-new-probe mod (car in-alists) state-alist)) ((mv nst-rest out-rest int-rest) (stv-run-esim-debug mod (cdr in-alists) (cdr state-alists) nst1))) (mv (cons nst1 nst-rest) (cons out1 out-rest) (cons int1 int-rest)))))
Theorem:
(defthm len-of-stv-run-esim-debug-0 (equal (len (mv-nth 0 (stv-run-esim-debug mod ins st-overrides initial-st))) (len ins)))
Theorem:
(defthm len-of-stv-run-esim-debug-1 (equal (len (mv-nth 1 (stv-run-esim-debug mod ins st-overrides initial-st))) (len ins)))
Theorem:
(defthm len-of-stv-run-esim-debug-2 (equal (len (mv-nth 2 (stv-run-esim-debug mod ins st-overrides initial-st))) (len ins)))