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