Goofy helper function to handle the number case.
(print-atom-aux x config acc) → new-acc
Function:
(defun print-atom-aux$inline (x config acc) (declare (xargs :guard (and (and (atom x) (not (symbolp x)) (not (stringp x)) (not (characterp x))) (printconfig-p config)))) (let ((acl2::__function__ 'print-atom-aux)) (declare (ignorable acl2::__function__)) (b* (((printconfig config) config) ((when (integerp x)) (if config.print-radix (radix-print-int x config.print-base acc) (basic-print-int x config.print-base acc))) ((when (rationalp x)) (if config.print-radix (radix-print-rat x config.print-base acc) (basic-print-rat x config.print-base acc))) ((when (complex-rationalp x)) (if config.print-radix (radix-print-complex x config.print-base acc) (basic-print-complex x config.print-base acc)))) (raise "Bad atom") acc)))
Theorem:
(defthm character-listp-of-print-atom-aux (implies (character-listp acc) (b* ((new-acc (print-atom-aux$inline x config acc))) (character-listp new-acc))) :rule-classes :rewrite)