String-equal
String equality without regard to case
For strings str1 and str2, (string-equal str1 str2)
is true if and only str1 and str2 are the same except perhaps for
the cases of their characters.
The guard on string-equal requires that its arguments are
strings.
String-equal is a Common Lisp function. See any Common Lisp
documentation for more information. Note that the value returned may depend
on the host Lisp; see soundness, specifically Example 1 in the Section,
“Examples of divergence among Lisp implementations”.
Function: string-equal
(defun string-equal (str1 str2)
(declare (xargs :guard (and (stringp str1) (stringp str2))))
(let ((len1 (length str1)))
(and (= len1 (length str2))
(string-equal1 str1 str2 0 len1))))