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