Push a new scope block to the top of the environment.
This mirrors entering a new scope block in the corresponding C program. Newly declared variables (see declare-var-env) shall be declared within the top scope block.
Function:
(defun push-scope-env (env) (declare (xargs :guard (envp env))) (let ((__function__ 'push-scope-env)) (declare (ignorable __function__)) (cons nil (env-fix env))))
Theorem:
(defthm envp-of-push-scope-env (b* ((new-env (push-scope-env env))) (envp new-env)) :rule-classes :rewrite)