Map a list of parameter declarations to a list of parameter declarations in the language definition.
(ldm-param-declon-list paramdecls) → (mv erp paramdecls1)
Function:
(defun ldm-param-declon-list (paramdecls) (declare (xargs :guard (param-declon-listp paramdecls))) (declare (xargs :guard (param-declon-list-unambp paramdecls))) (let ((__function__ 'ldm-param-declon-list)) (declare (ignorable __function__)) (b* (((reterr) nil) ((when (endp paramdecls)) (retok nil)) ((erp paramdecl1) (ldm-param-declon (car paramdecls))) ((erp paramdecls1) (ldm-param-declon-list (cdr paramdecls)))) (retok (cons paramdecl1 paramdecls1)))))
Theorem:
(defthm param-declon-listp-of-ldm-param-declon-list.paramdecls1 (b* (((mv acl2::?erp ?paramdecls1) (ldm-param-declon-list paramdecls))) (c::param-declon-listp paramdecls1)) :rule-classes :rewrite)
Theorem:
(defthm ldm-param-declon-list-ok-when-param-declon-list-formalp (implies (param-declon-list-formalp paramdecls) (b* (((mv acl2::?erp ?paramdecls1) (ldm-param-declon-list paramdecls))) (not erp))))
Theorem:
(defthm ldm-param-declon-list-of-param-declon-list-fix-paramdecls (equal (ldm-param-declon-list (param-declon-list-fix paramdecls)) (ldm-param-declon-list paramdecls)))
Theorem:
(defthm ldm-param-declon-list-param-declon-list-equiv-congruence-on-paramdecls (implies (param-declon-list-equiv paramdecls paramdecls-equiv) (equal (ldm-param-declon-list paramdecls) (ldm-param-declon-list paramdecls-equiv))) :rule-classes :congruence)