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