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