Recognizer for association lists with strings as keys
(String-alistp x) is true if and only if x is a list of pairs of the form (cons key val) where key is a string.
String-alistp has a guard of t.
Function: string-alistp
(defun string-alistp (x) (declare (xargs :guard t)) (cond ((atom x) (eq x nil)) (t (and (consp (car x)) (stringp (car (car x))) (string-alistp (cdr x))))))