Fast creation of extended characters that bypasses constructing vl-location objects.
(make-vl-echar-fast &key char filename line col) → *
Function:
(defun make-vl-echar-fast$inline (char filename line col) (declare (xargs :guard (and (characterp char) (stringp filename) (posp line) (natp col)))) (let ((__function__ 'make-vl-echar-fast)) (declare (ignorable __function__)) (mbe :logic (vl-echar char (make-vl-location :filename filename :line line :col col)) :exec (vl-echar-raw filename (vl-echarpack (the (unsigned-byte 8) (char-code char)) line col)))))
Theorem:
(defthm make-vl-echar-fast$inline-of-char-fix-char (equal (make-vl-echar-fast$inline (char-fix char) filename line col) (make-vl-echar-fast$inline char filename line col)))
Theorem:
(defthm make-vl-echar-fast$inline-chareqv-congruence-on-char (implies (chareqv char char-equiv) (equal (make-vl-echar-fast$inline char filename line col) (make-vl-echar-fast$inline char-equiv filename line col))) :rule-classes :congruence)
Theorem:
(defthm make-vl-echar-fast$inline-of-str-fix-filename (equal (make-vl-echar-fast$inline char (str-fix filename) line col) (make-vl-echar-fast$inline char filename line col)))
Theorem:
(defthm make-vl-echar-fast$inline-streqv-congruence-on-filename (implies (streqv filename filename-equiv) (equal (make-vl-echar-fast$inline char filename line col) (make-vl-echar-fast$inline char filename-equiv line col))) :rule-classes :congruence)
Theorem:
(defthm make-vl-echar-fast$inline-of-pos-fix-line (equal (make-vl-echar-fast$inline char filename (pos-fix line) col) (make-vl-echar-fast$inline char filename line col)))
Theorem:
(defthm make-vl-echar-fast$inline-pos-equiv-congruence-on-line (implies (acl2::pos-equiv line line-equiv) (equal (make-vl-echar-fast$inline char filename line col) (make-vl-echar-fast$inline char filename line-equiv col))) :rule-classes :congruence)
Theorem:
(defthm make-vl-echar-fast$inline-of-nfix-col (equal (make-vl-echar-fast$inline char filename line (nfix col)) (make-vl-echar-fast$inline char filename line col)))
Theorem:
(defthm make-vl-echar-fast$inline-nat-equiv-congruence-on-col (implies (acl2::nat-equiv col col-equiv) (equal (make-vl-echar-fast$inline char filename line col) (make-vl-echar-fast$inline char filename line col-equiv))) :rule-classes :congruence)