Find all case-equivalent strings in a string-list.
(vl-find-case-equivalent-strings x) → equiv-sets
Function:
(defun vl-find-case-equivalent-strings (x) (declare (xargs :guard (string-listp x))) (let ((__function__ 'vl-find-case-equivalent-strings)) (declare (ignorable __function__)) (b* ((xl (str::downcase-string-list x)) (dupes (duplicated-members xl)) (sets (vl-find-case-equivalent-strings-aux dupes x))) sets)))
Theorem:
(defthm string-list-listp-of-vl-find-case-equivalent-strings (implies (and (force (string-listp x))) (b* ((equiv-sets (vl-find-case-equivalent-strings x))) (string-list-listp equiv-sets))) :rule-classes :rewrite)