Increment a position by a number of lines.
The column is reset to 0.
Function:
(defun position-inc-line$inline (lines pos) (declare (xargs :guard (and (posp lines) (positionp pos)))) (make-position :line (+ (the (integer 1 *) (position->line pos)) (the (integer 1 *) lines)) :column 0))
Theorem:
(defthm positionp-of-position-inc-line (b* ((new-pos (position-inc-line$inline lines pos))) (positionp new-pos)) :rule-classes :rewrite)
Theorem:
(defthm position-inc-line$inline-of-position-fix-pos (equal (position-inc-line$inline lines (position-fix pos)) (position-inc-line$inline lines pos)))
Theorem:
(defthm position-inc-line$inline-position-equiv-congruence-on-pos (implies (position-equiv pos pos-equiv) (equal (position-inc-line$inline lines pos) (position-inc-line$inline lines pos-equiv))) :rule-classes :congruence)