Increment a position by a number of columns.
The line number is unchanged.
Function:
(defun position-inc-column$inline (columns pos) (declare (xargs :guard (and (natp columns) (positionp pos)))) (change-position pos :column (+ (the unsigned-byte (position->column pos)) (the unsigned-byte columns))))
Theorem:
(defthm positionp-of-position-inc-column (b* ((new-pos (position-inc-column$inline columns pos))) (positionp new-pos)) :rule-classes :rewrite)
Theorem:
(defthm position-inc-column$inline-of-position-fix-pos (equal (position-inc-column$inline columns (position-fix pos)) (position-inc-column$inline columns pos)))
Theorem:
(defthm position-inc-column$inline-position-equiv-congruence-on-pos (implies (position-equiv pos pos-equiv) (equal (position-inc-column$inline columns pos) (position-inc-column$inline columns pos-equiv))) :rule-classes :congruence)