Check if a Java Unicode character is ignorable in identifiers.
This puts together ascii-identifier-ignore-p and nonascii-identifier-ignore-p.
Function:
(defun identifier-ignore-p (char) (declare (xargs :guard (unicodep char))) (let ((__function__ 'identifier-ignore-p)) (declare (ignorable __function__)) (b* ((char (mbe :logic (unicode-fix char) :exec char))) (cond ((asciip char) (ascii-identifier-ignore-p char)) (t (nonascii-identifier-ignore-p char))))))
Theorem:
(defthm booleanp-of-identifier-ignore-p (b* ((yes/no (identifier-ignore-p char))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm identifier-ignore-p-of-unicode-fix-char (equal (identifier-ignore-p (unicode-fix char)) (identifier-ignore-p char)))
Theorem:
(defthm identifier-ignore-p-unicode-equiv-congruence-on-char (implies (unicode-equiv char char-equiv) (equal (identifier-ignore-p char) (identifier-ignore-p char-equiv))) :rule-classes :congruence)