(vl-make-dirxcache-aux files extensions cache) → cache
Function:
(defun vl-make-dirxcache-aux (files extensions cache) (declare (xargs :guard (and (string-listp files) (string-listp extensions) (vl-dirxcache-p cache)))) (let ((__function__ 'vl-make-dirxcache-aux)) (declare (ignorable __function__)) (b* ((cache (vl-dirxcache-fix cache)) (extensions (string-list-fix extensions)) ((when (atom files)) (vl-dirxcache-fix cache)) ((mv basename extension) (vl-split-filename (car files))) ((unless (and extension (member-equal extension extensions))) (vl-make-dirxcache-aux (cdr files) extensions cache)) (basename (hons-copy basename)) (prev-exts (cdr (hons-get basename cache))) (cache (hons-acons basename (cons extension prev-exts) cache))) (vl-make-dirxcache-aux (cdr files) extensions cache))))
Theorem:
(defthm vl-dirxcache-p-of-vl-make-dirxcache-aux (b* ((cache (vl-make-dirxcache-aux files extensions cache))) (vl-dirxcache-p cache)) :rule-classes :rewrite)
Theorem:
(defthm vl-make-dirxcache-aux-of-string-list-fix-files (equal (vl-make-dirxcache-aux (string-list-fix files) extensions cache) (vl-make-dirxcache-aux files extensions cache)))
Theorem:
(defthm vl-make-dirxcache-aux-string-list-equiv-congruence-on-files (implies (str::string-list-equiv files files-equiv) (equal (vl-make-dirxcache-aux files extensions cache) (vl-make-dirxcache-aux files-equiv extensions cache))) :rule-classes :congruence)
Theorem:
(defthm vl-make-dirxcache-aux-of-string-list-fix-extensions (equal (vl-make-dirxcache-aux files (string-list-fix extensions) cache) (vl-make-dirxcache-aux files extensions cache)))
Theorem:
(defthm vl-make-dirxcache-aux-string-list-equiv-congruence-on-extensions (implies (str::string-list-equiv extensions extensions-equiv) (equal (vl-make-dirxcache-aux files extensions cache) (vl-make-dirxcache-aux files extensions-equiv cache))) :rule-classes :congruence)
Theorem:
(defthm vl-make-dirxcache-aux-of-vl-dirxcache-fix-cache (equal (vl-make-dirxcache-aux files extensions (vl-dirxcache-fix cache)) (vl-make-dirxcache-aux files extensions cache)))
Theorem:
(defthm vl-make-dirxcache-aux-vl-dirxcache-equiv-congruence-on-cache (implies (vl-dirxcache-equiv cache cache-equiv) (equal (vl-make-dirxcache-aux files extensions cache) (vl-make-dirxcache-aux files extensions cache-equiv))) :rule-classes :congruence)