• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Debugging
    • Projects
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Abnf
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Pfcs
        • Soft
        • Bv
        • Imp-language
        • Event-macros
        • Java
        • Bitcoin
        • Ethereum
        • Yul
        • Zcash
        • ACL2-programming-language
        • Prime-fields
        • C
        • Syntheto
        • File-io-light
        • Number-theory
        • Cryptography
        • Lists-light
        • Json
        • Axe
        • Builtins
        • Solidity
        • Std-extensions
          • Std/util-extensions
          • Std/basic-extensions
          • Std/strings-extensions
            • Strtok!
            • Character-kinds
              • Letter/digit/uscore/dollar-char-p
                • Letter/digit/uscore/dollar-charlist-p
                • Letter/digit/uscore/dollar-chars
              • Letter/digit/uscore/dash-char-p
              • Letter-char-p
              • Letter/uscore/dollar-char-p
              • Letter/digit/uscore-char-p
              • Letter/digit/dash-char-p
              • Letter/digit-char-p
              • Lcletter/digit-char-p
              • Ucletter/digit-char-p
              • Printable-char-p
              • Nondigit-char-p
              • Ucletter-char-p
              • Lcletter-char-p
            • Explode-implode-equalities
          • Std/system-extensions
        • Helpers
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • Character-kinds

Letter/digit/uscore/dollar-char-p

Recognize ASCII letters, decimal digits, underscores, and dollar signs.

Definitions and Theorems

Function: letter/digit/uscore/dollar-char-p

(defun letter/digit/uscore/dollar-char-p (x)
  (declare (xargs :guard t))
  (and (characterp x)
       (b* ((code (char-code x)))
         (or (and (<= (char-code #\A) code)
                  (<= code (char-code #\Z)))
             (and (<= (char-code #\a) code)
                  (<= code (char-code #\z)))
             (and (<= (char-code #\0) code)
                  (<= code (char-code #\9)))
             (eql x #\_)
             (eql x #\$)))))

Theorem: booleanp-of-letter/digit/uscore/dollar-char-p

(defthm booleanp-of-letter/digit/uscore/dollar-char-p
  (booleanp (letter/digit/uscore/dollar-char-p x))
  :rule-classes :type-prescription)

Theorem: characterp-when-letter/digit/uscore/dollar-char-p

(defthm characterp-when-letter/digit/uscore/dollar-char-p
  (implies (letter/digit/uscore/dollar-char-p x)
           (characterp x))
  :rule-classes :compound-recognizer)

Subtopics

Letter/digit/uscore/dollar-charlist-p
(letter/digit/uscore/dollar-charlist-p x) recognizes lists where every element satisfies letter/digit/uscore/dollar-char-p.
Letter/digit/uscore/dollar-chars
A character set for letter/digit/uscore/dollar-char-p.