(modname->submodnames x modalist) → modnames
Function:
(defun modname->submodnames (x modalist) (declare (xargs :guard (modalist-p modalist))) (let ((__function__ 'modname->submodnames)) (declare (ignorable __function__)) (b* ((mod (modalist-lookup x modalist)) ((unless mod) nil)) (modinstlist->modnames (module->insts mod)))))
Theorem:
(defthm modnamelist-p-of-modname->submodnames (b* ((modnames (modname->submodnames x modalist))) (modnamelist-p modnames)) :rule-classes :rewrite)
Theorem:
(defthm modname->submodnames-implies-lookup (implies (modname->submodnames x modalist) (modalist-lookup x modalist)))
Theorem:
(defthm modname->submodnames-of-modalist-fix-modalist (equal (modname->submodnames x (modalist-fix modalist)) (modname->submodnames x modalist)))
Theorem:
(defthm modname->submodnames-modalist-equiv-congruence-on-modalist (implies (modalist-equiv modalist modalist-equiv) (equal (modname->submodnames x modalist) (modname->submodnames x modalist-equiv))) :rule-classes :congruence)