Look for a file in a list of search directories (without using the cache).
(vl-slow-find-file-aux filename searchcache state) → (mv foundpath state)
Function:
(defun vl-slow-find-file-aux (filename searchcache state) (declare (xargs :stobjs (state))) (declare (xargs :guard (and (stringp filename) (vl-dirlist-cache-p searchcache)))) (let ((__function__ 'vl-slow-find-file-aux)) (declare (ignorable __function__)) (b* ((searchcache (vl-dirlist-cache-fix searchcache)) ((when (atom searchcache)) (mv nil state)) ((cons dir ?cache) (car searchcache)) (attempt (vl-extend-pathname dir filename)) ((mv exists-p state) (time$ (vl-file-exists-p attempt state) :mintime 1/10 :msg ";; vl-slow-find-file-aux file-exists-p: ~st sec, ~sa bytes for ~f0~%" :args (list attempt))) ((when exists-p) (mv attempt state))) (vl-slow-find-file-aux filename (cdr searchcache) state))))
Theorem:
(defthm maybe-stringp-of-vl-slow-find-file-aux.foundpath (b* (((mv ?foundpath acl2::?state) (vl-slow-find-file-aux filename searchcache state))) (maybe-stringp foundpath)) :rule-classes :type-prescription)
Theorem:
(defthm state-p1-of-vl-slow-find-file-aux.state (implies (force (state-p1 state)) (b* (((mv ?foundpath acl2::?state) (vl-slow-find-file-aux filename searchcache state))) (state-p1 state))) :rule-classes :rewrite)
Theorem:
(defthm vl-slow-find-file-aux-of-str-fix-filename (equal (vl-slow-find-file-aux (str-fix filename) searchcache state) (vl-slow-find-file-aux filename searchcache state)))
Theorem:
(defthm vl-slow-find-file-aux-streqv-congruence-on-filename (implies (streqv filename filename-equiv) (equal (vl-slow-find-file-aux filename searchcache state) (vl-slow-find-file-aux filename-equiv searchcache state))) :rule-classes :congruence)
Theorem:
(defthm vl-slow-find-file-aux-of-vl-dirlist-cache-fix-searchcache (equal (vl-slow-find-file-aux filename (vl-dirlist-cache-fix searchcache) state) (vl-slow-find-file-aux filename searchcache state)))
Theorem:
(defthm vl-slow-find-file-aux-vl-dirlist-cache-equiv-congruence-on-searchcache (implies (vl-dirlist-cache-equiv searchcache searchcache-equiv) (equal (vl-slow-find-file-aux filename searchcache state) (vl-slow-find-file-aux filename searchcache-equiv state))) :rule-classes :congruence)