Collect all the problems.
(sd-analyze-module-aux x) → probs
Function:
(defun sd-analyze-module-aux (x) (declare (xargs :guard (vl-module-p x))) (let ((__function__ 'sd-analyze-module-aux)) (declare (ignorable __function__)) (b* ((ctxexprs (cwtime (vl-module-ctxexprs x) :mintime 1/2 :name sd-harvest-ctxexprs)) (all-names (cwtime (vl-exprlist-names (alist-keys ctxexprs)) :mintime 1/2 :name sd-extract-names)) (all-keys (cwtime (mergesort (sd-keygen-list all-names nil)) :mintime 1/2 :name sd-make-global-keys)) (global-pats (cwtime (sd-patalist all-keys) :mintime 1/2 :name sd-make-global-pats)) (report (cwtime (sd-analyze-ctxexprs ctxexprs global-pats) :mintime 1/2 :name sd-analyze-ctxexprs))) (fast-alist-free global-pats) report)))
Theorem:
(defthm sd-problemlist-p-of-sd-analyze-module-aux (implies (and (force (vl-module-p x))) (b* ((probs (sd-analyze-module-aux x))) (sd-problemlist-p probs))) :rule-classes :rewrite)