• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
    • ACL2
    • Macro-libraries
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • Soft
        • C
        • Bv
        • Imp-language
        • Event-macros
        • Java
          • Atj
            • Atj-implementation
              • Atj-types
              • Atj-java-primitive-array-model
              • Atj-java-abstract-syntax
              • Atj-input-processing
              • Atj-java-pretty-printer
              • Atj-code-generation
                • Atj-gen-test-method
                • Atj-shallow-code-generation
                • Atj-common-code-generation
                • Atj-shallow-quoted-constant-generation
                • Atj-pre-translation
                • Atj-gen-everything
                • Atj-name-translation
                  • Atj-var-to-jvar
                  • Atj-char-to-jchars-id
                  • Atj-fn-to-method
                  • Atj-pkg-to-class
                  • Atj-fns-to-methods
                  • *atj-disallowed-class-names*
                  • Atj-pkgs-to-classes
                  • *atj-predefined-method-names*
                    • Atj-chars-to-jchars-id
                    • *atj-disallowed-jvar-names*
                    • Atj-get-pkg-class-name
                    • Atj-get-fn-method-name
                    • Atj-var-add-index
                    • *atj-disallowed-method-names*
                  • Atj-gen-test-cunit
                  • Atj-gen-test-class
                  • Atj-gen-main-file
                  • Atj-post-translation
                  • Atj-deep-code-generation
                  • Atj-gen-test-methods
                  • Atj-gen-test-file
                  • Atj-gen-env-file
                  • Atj-gen-output-subdir
                • Atj-java-primitives
                • Atj-java-primitive-arrays
                • Atj-type-macros
                • Atj-java-syntax-operations
                • Atj-fn
                • Atj-library-extensions
                • Atj-java-input-types
                • Atj-test-structures
                • Aij-notions
                • Atj-macro-definition
              • Atj-tutorial
            • Aij
            • Language
          • Bitcoin
          • Ethereum
          • Yul
          • Zcash
          • ACL2-programming-language
          • Prime-fields
          • Json
          • Syntheto
          • File-io-light
          • Cryptography
          • Number-theory
          • Lists-light
          • Axe
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • Atj-name-translation

    *atj-predefined-method-names*

    Predefined Java method names for certain ACL2 functions.

    Certain primitive ACL2 functions are generally used frequently, and thus we want to use more readable Java method names than would be produced by the default translation in atj-fn-to-method. In particular, the default translation for unary-- would be unary__, even though the second dash is not really a separator but rather stands for the `minus' sign: for this function, we want to use the more readable unary_minus method name. Other primitive functions like binary-+ would include $ escapes according to their default translation; while not as bad as the default for unary--, we want to use more readable method names like binary_plus.

    We store these predefined method names as values of this alist, whose keys are the corresponding primitive functions. This alist is used in atj-fn-to-method.

    These predefined names currently use lowercase letters separated by underscores, consistently with the character translation in atj-chars-to-jchars-id.

    Definition: *atj-predefined-method-names*

    (defconst *atj-predefined-method-names*
      '((bad-atom<= . "bad_atom_less_than_or_equal_to")
        (binary-* . "binary_star")
        (binary-+ . "binary_plus")
        (unary-- . "unary_minus")
        (unary-/ . "unary_slash")
        (< . "less_than")))