(vl-col-after-printing-string-aux col x n xl) → new-col
Function:
(defun vl-col-after-printing-string-aux (col x n xl) (declare (xargs :guard (and (natp col) (stringp x) (natp n) (eql xl (length x))))) (declare (type unsigned-byte col n xl) (type string x)) (declare (xargs :split-types t :guard (<= n xl))) (let ((__function__ 'vl-col-after-printing-string-aux)) (declare (ignorable __function__)) (mbe :logic (vl-col-after-printing-chars col (nthcdr n (explode x))) :exec (cond ((eql xl n) col) ((eql (char x n) #\Newline) (vl-col-after-printing-string-aux 0 x (+ 1 n) xl)) (t (vl-col-after-printing-string-aux (+ 1 col) x (+ 1 n) xl))))))
Theorem:
(defthm natp-of-vl-col-after-printing-string-aux (b* ((new-col (vl-col-after-printing-string-aux col x n xl))) (natp new-col)) :rule-classes :type-prescription)
Theorem:
(defthm vl-col-after-printing-string-aux-of-nfix-col (equal (vl-col-after-printing-string-aux (nfix col) x n xl) (vl-col-after-printing-string-aux col x n xl)))
Theorem:
(defthm vl-col-after-printing-string-aux-nat-equiv-congruence-on-col (implies (acl2::nat-equiv col col-equiv) (equal (vl-col-after-printing-string-aux col x n xl) (vl-col-after-printing-string-aux col-equiv x n xl))) :rule-classes :congruence)
Theorem:
(defthm vl-col-after-printing-string-aux-of-str-fix-x (equal (vl-col-after-printing-string-aux col (str-fix x) n xl) (vl-col-after-printing-string-aux col x n xl)))
Theorem:
(defthm vl-col-after-printing-string-aux-streqv-congruence-on-x (implies (streqv x x-equiv) (equal (vl-col-after-printing-string-aux col x n xl) (vl-col-after-printing-string-aux col x-equiv n xl))) :rule-classes :congruence)
Theorem:
(defthm vl-col-after-printing-string-aux-of-nfix-n (equal (vl-col-after-printing-string-aux col x (nfix n) xl) (vl-col-after-printing-string-aux col x n xl)))
Theorem:
(defthm vl-col-after-printing-string-aux-nat-equiv-congruence-on-n (implies (acl2::nat-equiv n n-equiv) (equal (vl-col-after-printing-string-aux col x n xl) (vl-col-after-printing-string-aux col x n-equiv xl))) :rule-classes :congruence)