Check if all the external declarations in a list have formal dynamic semantics.
(ext-declon-list-formalp edecls) → yes/no
Function:
(defun ext-declon-list-formalp (edecls) (declare (xargs :guard (ext-declon-listp edecls))) (declare (xargs :guard (ext-declon-list-unambp edecls))) (let ((__function__ 'ext-declon-list-formalp)) (declare (ignorable __function__)) (or (endp edecls) (and (ext-declon-formalp (car edecls)) (ext-declon-list-formalp (cdr edecls))))))
Theorem:
(defthm booleanp-of-ext-declon-list-formalp (b* ((yes/no (ext-declon-list-formalp edecls))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm ext-declon-list-formalp-of-ext-declon-list-fix-edecls (equal (ext-declon-list-formalp (ext-declon-list-fix edecls)) (ext-declon-list-formalp edecls)))
Theorem:
(defthm ext-declon-list-formalp-ext-declon-list-equiv-congruence-on-edecls (implies (ext-declon-list-equiv edecls edecls-equiv) (equal (ext-declon-list-formalp edecls) (ext-declon-list-formalp edecls-equiv))) :rule-classes :congruence)