Concrete implementation of strin-imatches-p.
Function:
(defun sin$c-imatches-p (lit sin$c) (declare (xargs :stobjs (sin$c))) (declare (xargs :guard (and (stringp lit) (sin$c-okp sin$c)))) (let ((__function__ 'sin$c-imatches-p)) (declare (ignorable __function__)) (b* (((the string str) (sin$c-str sin$c)) ((the (unsigned-byte 60) pos) (sin$c-pos sin$c)) ((the (unsigned-byte 60) len) (length str)) ((the (integer 0 *) litlen) (length lit))) (str::istrprefixp-impl lit str 0 pos litlen len))))
Theorem:
(defthm sin-imatches-p{correspondence} (implies (and (sin$corr sin$c sin) (stringp lit) (strin-p sin)) (equal (sin$c-imatches-p lit sin$c) (strin-imatches-p lit sin))))