Lift stringlit->prefix? to lists.
(stringlit-list->prefix?-list strlits) → prefixes
Function:
(defun stringlit-list->prefix?-list (strlits) (declare (xargs :guard (stringlit-listp strlits))) (cond ((endp strlits) nil) (t (cons (stringlit->prefix? (car strlits)) (stringlit-list->prefix?-list (cdr strlits))))))
Theorem:
(defthm eprefix-option-listp-of-stringlit-list->prefix?-list (b* ((prefixes (stringlit-list->prefix?-list strlits))) (eprefix-option-listp prefixes)) :rule-classes :rewrite)
Theorem:
(defthm stringlit-list->prefix?-list-of-stringlit-list-fix-strlits (equal (stringlit-list->prefix?-list (stringlit-list-fix strlits)) (stringlit-list->prefix?-list strlits)))
Theorem:
(defthm stringlit-list->prefix?-list-stringlit-list-equiv-congruence-on-strlits (implies (stringlit-list-equiv strlits strlits-equiv) (equal (stringlit-list->prefix?-list strlits) (stringlit-list->prefix?-list strlits-equiv))) :rule-classes :congruence)