Walk down a list of instance names (or a path) and retrieve the ESIM module it points to.
(follow-esim-path instnames mod) returns an ESIM module on success, or
We are given
Note that
Function:
(defun follow-esim-path (instnames mod) "Returns SUBMOD or NIL." (declare (xargs :guard t)) (b* (((when (atom instnames)) mod) (name1 (car instnames)) (occ (cdr (hons-get name1 (make-fast-alist (occmap mod)))))) (and occ (follow-esim-path (cdr instnames) (gpl :op occ)))))
Theorem:
(defthm good-esim-modulep-of-follow-esim-path (implies (good-esim-modulep mod) (good-esim-modulep (follow-esim-path instnames mod))))