(vl-collect-dependencies names graph) → dependencies
Function:
(defun vl-collect-dependencies (names graph) (declare (xargs :guard (and (string-listp names) (and (vl-depgraph-p graph) (depgraph::alist-values-are-sets-p graph))))) (let ((__function__ 'vl-collect-dependencies)) (declare (ignorable __function__)) (if (atom names) nil (union (cdr (hons-get (car names) graph)) (vl-collect-dependencies (cdr names) graph)))))
Theorem:
(defthm return-type-of-vl-collect-dependencies (implies (and (force (string-listp names)) (force (vl-depgraph-p graph)) (force (depgraph::alist-values-are-sets-p graph))) (b* ((dependencies (vl-collect-dependencies names graph))) (and (string-listp dependencies) (setp dependencies)))) :rule-classes :rewrite)