Remove the underscores from a list of binary digits and underscores.
(bindig/uscores-to-digits dus) → ds
Any underscores in a
Function:
(defun bindig/uscores-to-digits (dus) (declare (xargs :guard (bindig/uscore-listp dus))) (let ((__function__ 'bindig/uscores-to-digits)) (declare (ignorable __function__)) (b* (((when (endp dus)) nil) (du (car dus))) (bindig/uscore-case du :digit (cons du.get (bindig/uscores-to-digits (cdr dus))) :underscore (bindig/uscores-to-digits (cdr dus))))))
Theorem:
(defthm bin-digit-listp-of-bindig/uscores-to-digits (b* ((ds (bindig/uscores-to-digits dus))) (bin-digit-listp ds)) :rule-classes :rewrite)
Theorem:
(defthm bindig/uscores-to-digits-of-bindig/uscore-list-fix-dus (equal (bindig/uscores-to-digits (bindig/uscore-list-fix dus)) (bindig/uscores-to-digits dus)))
Theorem:
(defthm bindig/uscores-to-digits-bindig/uscore-list-equiv-congruence-on-dus (implies (bindig/uscore-list-equiv dus dus-equiv) (equal (bindig/uscores-to-digits dus) (bindig/uscores-to-digits dus-equiv))) :rule-classes :congruence)