URL encode a list of characters onto an accumulator in reverse order.
(vl-url-encode-chars-aux chars acc) → encoded
Function:
(defun vl-url-encode-chars-aux (chars acc) (declare (xargs :guard (character-listp chars))) (let ((__function__ 'vl-url-encode-chars-aux)) (declare (ignorable __function__)) (if (atom chars) acc (vl-url-encode-chars-aux (cdr chars) (revappend (vl-fast-url-encode-char (car chars)) acc)))))
Theorem:
(defthm character-listp-of-vl-url-encode-chars-aux (implies (character-listp acc) (b* ((encoded (vl-url-encode-chars-aux chars acc))) (character-listp encoded))) :rule-classes :rewrite)
Theorem:
(defthm true-listp-of-vl-url-encode-chars-aux (equal (true-listp (vl-url-encode-chars-aux x acc)) (true-listp acc)))
Theorem:
(defthm vl-url-encode-chars-aux-of-make-character-list-chars (equal (vl-url-encode-chars-aux (make-character-list chars) acc) (vl-url-encode-chars-aux chars acc)))
Theorem:
(defthm vl-url-encode-chars-aux-charlisteqv-congruence-on-chars (implies (str::charlisteqv chars chars-equiv) (equal (vl-url-encode-chars-aux chars acc) (vl-url-encode-chars-aux chars-equiv acc))) :rule-classes :congruence)