Convert a sexpr alist into an faig alist.
Function:
(defun 4v-sexpr-to-faig-alist-fn1 (x onoff optimizep) "Assumes ONOFF is fast." (declare (xargs :guard t)) (cond ((atom x) nil) ((atom (car x)) (4v-sexpr-to-faig-alist-fn1 (cdr x) onoff optimizep)) (t (cons (cons (caar x) (4v-sexpr-to-faig-fn1 (cdar x) onoff optimizep)) (4v-sexpr-to-faig-alist-fn1 (cdr x) onoff optimizep)))))
Function:
(defun 4v-sexpr-to-faig-alist-fn (x onoff optimizep) "Assumes ONOFF is fast." (declare (xargs :guard t)) (mbe :logic (cond ((atom x) nil) ((atom (car x)) (4v-sexpr-to-faig-alist-fn (cdr x) onoff optimizep)) (t (cons (cons (caar x) (4v-sexpr-to-faig-fn (cdar x) onoff optimizep)) (4v-sexpr-to-faig-alist-fn (cdr x) onoff optimizep)))) :exec (with-fast-alist onoff (4v-sexpr-to-faig-alist-fn1 x onoff optimizep))))
Theorem:
(defthm 4v-sexpr-to-faig-alist-fn1-removal (equal (4v-sexpr-to-faig-alist-fn1 x onoff optimizep) (4v-sexpr-to-faig-alist-fn x onoff optimizep)))