(vl-maybe-string-listp x) recognizes lists where every element satisfies maybe-stringp.
(vl-maybe-string-listp x) → std::bool
This is an ordinary deflist. It is
"loose" in that it does not care whether
Function:
(defun vl-maybe-string-listp (x) (declare (xargs :guard t)) (let ((__function__ 'vl-maybe-string-listp)) (declare (ignorable __function__)) (if (consp x) (and (maybe-stringp (car x)) (vl-maybe-string-listp (cdr x))) t)))
Theorem:
(defthm string-listp-when-no-nils-in-vl-maybe-string-listp (implies (and (not (member-equal nil x)) (vl-maybe-string-listp x)) (equal (string-listp x) (true-listp x))))