For use with sfaig, translates sexpr environments into equivalent faig environments.
(sfaig-make-faigenv sexpr env) → faig-env
Function:
(defun sfaig-make-faigenv (sexpr env) (declare (xargs :guard t)) (let ((__function__ 'sfaig-make-faigenv)) (declare (ignorable __function__)) (b* ((vars (4v-sexpr-vars-1pass sexpr)) (onoff (num-varmap vars 0)) (env (4v-sexpr-alist-extract vars env))) (sig-al-to-svar-al (4v-alist->faig-const-alist env) onoff))))
Theorem:
(defthm faig-eval-of-sfaig-make-faigenv (b* ((faig (sfaig sexpr)) (faig-env (sfaig-make-faigenv sexpr env))) (equal (faig-eval faig faig-env) (4v->faig-const (4v-sexpr-eval sexpr env)))))