Transform a list of external declarations.
(specialize-extdecl-list extdecls target-fn target-param const) → new-extdecls
Function:
(defun specialize-extdecl-list (extdecls target-fn target-param const) (declare (xargs :guard (and (extdecl-listp extdecls) (identp target-fn) (identp target-param) (exprp const)))) (let ((__function__ 'specialize-extdecl-list)) (declare (ignorable __function__)) (b* (((when (endp extdecls)) nil) ((mv found extdecl) (specialize-extdecl (first extdecls) target-fn target-param const))) (cons extdecl (if found (extdecl-list-fix (rest extdecls)) (specialize-extdecl-list (rest extdecls) target-fn target-param const))))))
Theorem:
(defthm extdecl-listp-of-specialize-extdecl-list (b* ((new-extdecls (specialize-extdecl-list extdecls target-fn target-param const))) (extdecl-listp new-extdecls)) :rule-classes :rewrite)