• 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-qconstants-p
                  • Atj-gen-shallow-symbol
                  • Atj-gen-shallow-cons-field-name
                  • Atj-gen-shallow-symbol-field-name
                  • Atj-add-qconstant
                  • Atj-add-qconstants-in-term
                  • Atj-gen-shallow-symbol-field
                    • Atj-gen-shallow-rational-id-part
                    • Atj-gen-shallow-number-id-part
                    • Atj-gen-shallow-number-field
                    • Atj-gen-shallow-value
                    • Atj-gen-shallow-cons-fields
                    • Atj-gen-shallow-cons-field
                    • Atj-gen-shallow-string
                    • Atj-gen-shallow-integer-id-part
                    • Atj-gen-shallow-string-field
                    • Atj-gen-shallow-number-field-name
                    • Atj-gen-shallow-char-field
                    • Atj-gen-shallow-char
                    • Atj-gen-shallow-string-field-name
                    • Atj-gen-shallow-cons
                    • Atj-gen-shallow-char-field-name
                    • Atj-gen-shallow-symbol-fields
                    • Atj-gen-shallow-string-fields
                    • Atj-gen-shallow-number-fields
                    • Atj-gen-shallow-number
                    • Atj-gen-shallow-char-fields
                  • 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-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-shallow-quoted-constant-generation

    Atj-gen-shallow-symbol-field

    Generate a Java field for an ACL2 quoted symbol.

    Signature
    (atj-gen-shallow-symbol-field symbol) → field
    Arguments
    symbol — Guard (symbolp symbol).
    Returns
    field — Type (jfieldp field).

    This is a package-private static final field with an initializer, which constructs the string value. Unlike the fields for other types of quoted constants, this one is declared in the class for the package of the symbol (or for a pacakge that imports the symbol). This field cannot be private, otherwise the classes for other packages could not access it.

    Definitions and Theorems

    Function: atj-gen-shallow-symbol-field

    (defun atj-gen-shallow-symbol-field (symbol)
      (declare (xargs :guard (symbolp symbol)))
      (let ((__function__ 'atj-gen-shallow-symbol-field))
        (declare (ignorable __function__))
        (b* ((name (atj-gen-shallow-symbol-field-name symbol))
             (init (atj-gen-symbol symbol t nil))
             (type *aij-type-symbol*))
          (make-jfield :access (jaccess-default)
                       :static? t
                       :final? t
                       :transient? nil
                       :volatile? nil
                       :type type
                       :name name
                       :init? init))))

    Theorem: jfieldp-of-atj-gen-shallow-symbol-field

    (defthm jfieldp-of-atj-gen-shallow-symbol-field
      (b* ((field (atj-gen-shallow-symbol-field symbol)))
        (jfieldp field))
      :rule-classes :rewrite)