Map expr-ident over a list of identifiers.
(ident-list-map-expr-ident idents) → exprs
Function:
(defun ident-list-map-expr-ident (idents) (declare (xargs :guard (ident-listp idents))) (if (endp idents) nil (cons (make-expr-ident :ident (first idents)) (ident-list-map-expr-ident (rest idents)))))
Theorem:
(defthm expr-listp-of-ident-list-map-expr-ident (b* ((exprs (ident-list-map-expr-ident idents))) (expr-listp exprs)) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-ident-list-map-expr-ident (b* ((exprs (ident-list-map-expr-ident idents))) (true-listp exprs)) :rule-classes :type-prescription)
Theorem:
(defthm ident-list-map-expr-ident-of-ident-list-fix-idents (equal (ident-list-map-expr-ident (ident-list-fix idents)) (ident-list-map-expr-ident idents)))
Theorem:
(defthm ident-list-map-expr-ident-ident-list-equiv-congruence-on-idents (implies (ident-list-equiv idents idents-equiv) (equal (ident-list-map-expr-ident idents) (ident-list-map-expr-ident idents-equiv))) :rule-classes :congruence)