Lift base58-val=>char to lists.
(base58-vals=>chars vals) → chars
Function:
(defun base58-vals=>chars (vals) (declare (xargs :guard (base58-value-listp vals))) (let ((__function__ 'base58-vals=>chars)) (declare (ignorable __function__)) (cond ((endp vals) nil) (t (cons (base58-val=>char (car vals)) (base58-vals=>chars (cdr vals)))))))
Theorem:
(defthm base58-character-listp-of-base58-vals=>chars (b* ((chars (base58-vals=>chars vals))) (base58-character-listp chars)) :rule-classes :rewrite)
Theorem:
(defthm len-of-base58-vals=>chars (equal (len (base58-vals=>chars vals)) (len vals)))
Theorem:
(defthm base58-vals=>chars-of-append (equal (base58-vals=>chars (append vals1 vals2)) (append (base58-vals=>chars vals1) (base58-vals=>chars vals2))))
Theorem:
(defthm base58-vals=>chars-of-repeat (equal (base58-vals=>chars (repeat n val)) (repeat n (base58-val=>char val))))
Theorem:
(defthm base58-vals=>chars-of-base58-value-list-fix-vals (equal (base58-vals=>chars (base58-value-list-fix vals)) (base58-vals=>chars vals)))
Theorem:
(defthm base58-vals=>chars-base58-value-list-equiv-congruence-on-vals (implies (base58-value-list-equiv vals vals-equiv) (equal (base58-vals=>chars vals) (base58-vals=>chars vals-equiv))) :rule-classes :congruence)