Lift atj-char-to-jchars-id to lists.
(atj-chars-to-jchars-id chars startp uscore flip-case-p) → jchars
This is used on the sequence of characters
that form an ACL2 symbol name or package name.
The
Function:
(defun atj-chars-to-jchars-id (chars startp uscore flip-case-p) (declare (xargs :guard (and (character-listp chars) (booleanp startp) (member-eq uscore '(nil :dash :space)) (booleanp flip-case-p)))) (let ((__function__ 'atj-chars-to-jchars-id)) (declare (ignorable __function__)) (cond ((endp chars) nil) (t (append (atj-char-to-jchars-id (car chars) startp uscore flip-case-p) (atj-chars-to-jchars-id (cdr chars) nil uscore flip-case-p))))))
Theorem:
(defthm character-listp-of-atj-chars-to-jchars-id (implies (character-listp chars) (b* ((jchars (atj-chars-to-jchars-id chars startp uscore flip-case-p))) (character-listp jchars))) :rule-classes :rewrite)