(4vs-ite*-list-dumb c as bs) produces a list of sexprs, basically
Function:
(defun 4vs-ite*-list-dumb (c as bs) (declare (xargs :guard (equal (len as) (len bs)))) (if (atom as) nil (cons (4vs-ite*-dumb c (car as) (car bs)) (4vs-ite*-list-dumb c (cdr as) (cdr bs)))))
Theorem:
(defthm 4vs-ite*-list-dumb-when-atom (implies (atom as) (equal (4vs-ite*-list-dumb c as bs) nil)))
Theorem:
(defthm 4vs-ite*-list-dumb-of-cons (equal (4vs-ite*-list-dumb c (cons a as) (cons b bs)) (cons (4vs-ite*-dumb c a b) (4vs-ite*-list-dumb c as bs))))
Theorem:
(defthm consp-of-4vs-ite*-list-dumb (equal (consp (4vs-ite*-list-dumb c as bs)) (consp as)))
Theorem:
(defthm len-of-4vs-ite*-list-dumb (equal (len (4vs-ite*-list-dumb c as bs)) (len as)))
Theorem:
(defthm car-of-4vs-ite*-list-dumb (equal (car (4vs-ite*-list-dumb c as bs)) (if (consp as) (4vs-ite*-dumb c (car as) (car bs)) nil)))
Theorem:
(defthm cdr-of-4vs-ite*-list-dumb (equal (cdr (4vs-ite*-list-dumb c as bs)) (4vs-ite*-list-dumb c (cdr as) (cdr bs))))
Theorem:
(defthm 4v-sexpr-vars-list-of-4vs-ite*-list-dumb (implies (equal (len a) (len b)) (set-equiv (4v-sexpr-vars-list (4vs-ite*-list-dumb c a b)) (if (consp a) (hons-alphorder-merge (4v-sexpr-vars c) (hons-alphorder-merge (4v-sexpr-vars-list a) (4v-sexpr-vars-list b))) nil))))