• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • C
        • Soft
        • Bv
        • Imp-language
        • Ethereum
        • 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-gen-test-cunit
                • Atj-gen-test-class
                • Atj-gen-main-file
                • Atj-post-translation
                • Atj-deep-code-generation
                  • Atj-gen-deep-term-fns
                  • Atj-gen-deep-test-code
                  • Atj-gen-deep-fndef-method
                  • Atj-gen-deep-fnapp
                  • Atj-gen-deep-env-class
                  • Atj-gen-deep-env-cunit
                  • Atj-gen-deep-lambda
                  • Atj-gen-deep-qconst
                  • Atj-gen-deep-main-class
                  • Atj-gen-deep-term
                  • Atj-gen-deep-terms
                  • Atj-gen-deep-build-method
                  • Atj-gen-deep-call-method
                  • Atj-gen-deep-main-cunit
                  • Atj-gen-deep-fndef-method-name
                    • Atj-gen-deep-fndef-methods
                    • Atj-gen-deep-fndefs
                    • Atj-gen-deep-formals
                    • Atj-gen-deep-var
                  • 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
          • Riscv
          • Bitcoin
          • Zcash
          • Yul
          • ACL2-programming-language
          • Prime-fields
          • Json
          • Syntheto
          • File-io-light
          • Cryptography
          • Number-theory
          • Axe
          • Lists-light
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • Atj-deep-code-generation

    Atj-gen-deep-fndef-method-name

    Name of the Java method that builds a deeply embedded ACL2 function definition.

    Signature
    (atj-gen-deep-fndef-method-name fn) → method-name
    Arguments
    fn — Guard (symbolp fn).
    Returns
    method-name — Type (stringp method-name).

    We generate a private static method for each deeply embedded ACL2 function definition to build. This function generates the name of this method, which is distinct from all the other methods generated for the same class.

    Definitions and Theorems

    Function: atj-gen-deep-fndef-method-name

    (defun atj-gen-deep-fndef-method-name (fn)
     (declare (xargs :guard (symbolp fn)))
     (let ((__function__ 'atj-gen-deep-fndef-method-name))
      (declare (ignorable __function__))
      (str::cat
         "addFunctionDef_"
         (implode
              (atj-chars-to-jchars-id (explode (symbol-package-name fn))
                                      nil
                                      :dash nil))
         "$$$"
         (implode (atj-chars-to-jchars-id (explode (symbol-name fn))
                                          nil
                                          :dash t)))))

    Theorem: stringp-of-atj-gen-deep-fndef-method-name

    (defthm stringp-of-atj-gen-deep-fndef-method-name
      (b* ((method-name (atj-gen-deep-fndef-method-name fn)))
        (stringp method-name))
      :rule-classes :rewrite)