(vl-finish-unparameterized-interfaces x elabindex &key (config 'config)) → (mv new-x new-elabindex)
Function:
(defun vl-finish-unparameterized-interfaces-fn (x elabindex config) (declare (xargs :stobjs (elabindex))) (declare (xargs :guard (and (vl-interfacelist-p x) (vl-simpconfig-p config)))) (let ((__function__ 'vl-finish-unparameterized-interfaces)) (declare (ignorable __function__)) (if (atom x) (mv nil elabindex) (b* (((mv x1 elabindex) (vl-finish-unparameterized-interface (car x) elabindex)) ((mv rest elabindex) (vl-finish-unparameterized-interfaces (cdr x) elabindex))) (mv (cons x1 rest) elabindex)))))
Theorem:
(defthm vl-interfacelist-p-of-vl-finish-unparameterized-interfaces.new-x (b* (((mv ?new-x ?new-elabindex) (vl-finish-unparameterized-interfaces-fn x elabindex config))) (vl-interfacelist-p new-x)) :rule-classes :rewrite)
Theorem:
(defthm vl-finish-unparameterized-interfaces-fn-of-vl-interfacelist-fix-x (equal (vl-finish-unparameterized-interfaces-fn (vl-interfacelist-fix x) elabindex config) (vl-finish-unparameterized-interfaces-fn x elabindex config)))
Theorem:
(defthm vl-finish-unparameterized-interfaces-fn-vl-interfacelist-equiv-congruence-on-x (implies (vl-interfacelist-equiv x x-equiv) (equal (vl-finish-unparameterized-interfaces-fn x elabindex config) (vl-finish-unparameterized-interfaces-fn x-equiv elabindex config))) :rule-classes :congruence)
Theorem:
(defthm vl-finish-unparameterized-interfaces-fn-of-vl-simpconfig-fix-config (equal (vl-finish-unparameterized-interfaces-fn x elabindex (vl-simpconfig-fix config)) (vl-finish-unparameterized-interfaces-fn x elabindex config)))
Theorem:
(defthm vl-finish-unparameterized-interfaces-fn-vl-simpconfig-equiv-congruence-on-config (implies (vl-simpconfig-equiv config config-equiv) (equal (vl-finish-unparameterized-interfaces-fn x elabindex config) (vl-finish-unparameterized-interfaces-fn x elabindex config-equiv))) :rule-classes :congruence)