(fresh-string-wrt base number-prefix number-suffix blacklist) → string
Function:
(defun fresh-string-wrt (base number-prefix number-suffix blacklist) (declare (xargs :guard (and (stringp base) (stringp number-prefix) (stringp number-suffix) (acl2::string-setp blacklist)))) (let ((__function__ 'fresh-string-wrt)) (declare (ignorable __function__)) (if (in base blacklist) (fresh-numbered-string-wrt base number-prefix 0 number-suffix blacklist) (mbe :logic (if (stringp base) base "") :exec base))))
Theorem:
(defthm stringp-of-fresh-string-wrt (b* ((string (fresh-string-wrt base number-prefix number-suffix blacklist))) (stringp string)) :rule-classes :rewrite)