• 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-qconstants
                    • Make-atj-qconstants
                    • Change-atj-qconstants
                    • Honsed-atj-qconstants
                      • Make-honsed-atj-qconstants
                      • Atj-qconstants->symbols
                      • Atj-qconstants->strings
                      • Atj-qconstants->rationals
                      • Atj-qconstants->pairs
                      • Atj-qconstants->numbers
                      • Atj-qconstants->next-index
                      • Atj-qconstants->integers
                      • Atj-qconstants->chars
                    • 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-qconstants-p

    Honsed-atj-qconstants

    Raw constructor for honsed atj-qconstants-p structures.

    Syntax:

    (honsed-atj-qconstants integers rationals numbers 
                           chars strings symbols pairs next-index)

    This is identical to atj-qconstants, except that we hons the structure we are creating.

    Definition

    This is an ordinary honsing constructor introduced by std::defaggregate.

    Function: honsed-atj-qconstants

    (defun honsed-atj-qconstants
           (integers rationals numbers
                     chars strings symbols pairs next-index)
     (declare (xargs :guard (and (and (integer-listp integers)
                                      (no-duplicatesp integers))
                                 (and (rational-listp rationals)
                                      (no-duplicatesp rationals))
                                 (and (acl2-number-listp numbers)
                                      (no-duplicatesp numbers))
                                 (and (character-listp chars)
                                      (no-duplicatesp chars))
                                 (and (string-listp strings)
                                      (no-duplicatesp-equal strings))
                                 (and (symbol-listp symbols)
                                      (no-duplicatesp-eq symbols))
                                 (cons-pos-alistp pairs)
                                 (posp next-index))))
     (mbe
      :logic (atj-qconstants integers rationals numbers
                             chars strings symbols pairs next-index)
      :exec
      (hons
       (hons 'integers integers)
       (hons
        (hons 'rationals rationals)
        (hons
             (hons 'numbers numbers)
             (hons (hons 'chars chars)
                   (hons (hons 'strings strings)
                         (hons (hons 'symbols symbols)
                               (hons (hons 'pairs pairs)
                                     (hons (hons 'next-index next-index)
                                           nil))))))))))