Default way to generate temporary file names.
Function:
(defun default-tempfile (basename state) (declare (xargs :stobjs (state))) (declare (xargs :guard (stringp basename))) (let ((__function__ 'default-tempfile)) (declare (ignorable __function__)) (b* (((mv dir state) (default-tempdir state))) (default-tempfile-aux dir basename state))))
Theorem:
(defthm return-type-of-default-tempfile.tempfile (b* (((mv ?tempfile ?new-state) (default-tempfile basename state))) (or (stringp tempfile) (not tempfile))) :rule-classes :type-prescription)
Theorem:
(defthm state-p1-of-default-tempfile.new-state (implies (force (state-p1 state)) (b* (((mv ?tempfile ?new-state) (default-tempfile basename state))) (state-p1 new-state))) :rule-classes :rewrite)
Theorem:
(defthm w-state-of-default-tempfile (b* (((mv ?tempfile ?new-state) (default-tempfile basename state))) (equal (w new-state) (w state))))