• 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
          • Aij
          • Language
            • Syntax
            • Semantics
              • Primitive-function-macros
              • Primitive-values
              • Floating-point-placeholders
                • Floating-point-value-placeholders
                • Floating-point-operation-placeholders
                • Floating-point-conversion-placeholders
                • Floating-point-macro-placeholders
                  • Def-primitive-unary/binary-abs-predicate
                  • Def-primitive-unary/binary-abs-term
                  • Def-primitive-unary-abs
                  • Def-primitive-binary-abs
              • Pointers
              • Floating-point-value-set-parameters
              • Values
              • Primitive-operations
              • Primitive-conversions
              • Reference-values
        • 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
  • Floating-point-placeholders

Floating-point-macro-placeholders

Macros to introduce more concisely the abstract placeholders for the Java floating-point operations and conversions.

All our abstract operations and conversions are weakly constraned ACL2 functions that unconditionally return results of the appropriate types. The macros capture this boilerplate structure.

For now we only introduce abstract functions that involve the float and double value sets, not the extended-exponent value sets.

The abstract functions operate not on the tagged Java primitive values, but on their underlying (i.e. untagged) values.

Subtopics

Def-primitive-unary/binary-abs-predicate
Predicate for the result of a function introduced via def-primitive-unary-abs or def-primitive-binary-abs.
Def-primitive-unary/binary-abs-term
Term for the result of a function introduced via def-primitive-unary-abs or def-primitive-binary-abs.
Def-primitive-unary-abs
Macro to introduce an abstract placeholder for a unary operation or a conversion involving floating-point values.
Def-primitive-binary-abs
Macro to introduce an abstract placeholder for a binary operation or a conversion involving floating-point values.