• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • 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
        • Soft
        • C
        • Bv
        • Imp-language
        • Event-macros
        • Java
          • Atj
          • Aij
          • Language
            • Syntax
            • Semantics
              • Primitive-function-macros
              • Primitive-values
                • Floating-pointx-value
                • Doublex-value-fns
                • Primitivex-value
                • Floatx-value-fns
                • Primitive-value
                • Numericx-value
                • Numeric-value
                • Integral-value
                • Int-value
                • Char-value
                • Byte-value
                • Short-value
                • Long-value
                • Float-value
                • Double-value
                • Boolean-value
                • Floating-point-value
                • Disjoint-primitive-values
                • Short-value-list
                • Long-value-list
                • Int-value-list
                • Float-value-list
                • Double-value-list
                • Char-value-list
                • Byte-value-list
                • Boolean-value-list
              • Floating-point-placeholders
              • Pointers
              • Floating-point-value-set-parameters
              • Values
              • Primitive-operations
              • Primitive-conversions
              • Reference-values
        • 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
  • Semantics

Primitive-values

Java primitive values [JLS14:4.2].

We formalize the Java boolean and integral values. We also provide abstract notions of the Java floating-point values, as a placeholder for a more precise formalization of them.

Our formalization tags the Java primitive values with an indication of their types (and, for floating-point values, of their value sets), making values of different types (and of floating-point value sets) disjoint. This will allow us to define a defensive semantics of Java and to prove that the static checks at compile time guarantee type safety at run time, as often done in programming language formalizations.

Subtopics

Floating-pointx-value
Fixtype of Java floating-point values [JLS14:4.2.3], including extended-exponent values [JLS14:4.2.3].
Doublex-value-fns
Recognizer, fixer, constructor, and destructor of Java double values in the double-extended-exponent value set [JLS.4.2.3].
Primitivex-value
Fixtype of Java primitive values [JLS14:4.2], including extended-exponent values [JLS14:4.2.3].
Floatx-value-fns
Recognizer, fixer, constructor, and destructor of Java float values in the float-extended-exponent value set [JLS.4.2.3].
Primitive-value
Fixtype of Java primitive values [JLS14:4.2], excluding extended-exponent values [JLS14:4.2.3].
Numericx-value
Fixtype of Java numeric values [JLS14:4.2], including extended-exponent values [JLS14:4.2.3].
Numeric-value
Fixtype of Java numeric values [JLS14:4.2], excluding extended-exponent values [JLS14:4.2.3].
Integral-value
Fixtype of Java integral values [JLS14:4.2.1].
Int-value
Fixtype of Java int values [JLS14:4.2.1].
Char-value
Fixtype of Java char values [JLS14:4.2.1].
Byte-value
Fixtype of Java byte values [JLS14:4.2.1].
Short-value
Fixtype of Java short values [JLS14:4.2.1].
Long-value
Fixtype of Java long values [JLS14:4.2.1].
Float-value
Fixtype of Java float values in the float value set [JLS14:4.2.3].
Double-value
Fixtype of Java double values in the double value set [JLS14:4.2.3].
Boolean-value
Fixtype of Java boolean values [JLS14:4.2.5].
Floating-point-value
Fixtype of Java floating-point values [JLS14:4.2.3], excluding extended-exponent values [JLS14:4.2.3].
Disjoint-primitive-values
The tagging keywords make all the primitive values disjoint.
Short-value-list
Fixtype of lists of Java short values.
Long-value-list
Fixtype of lists of Java long values.
Int-value-list
Fixtype of lists of Java int values.
Float-value-list
Fixtype of lists of Java float values.
Double-value-list
Fixtype of lists of Java double values.
Char-value-list
Fixtype of lists of Java char values.
Byte-value-list
Fixtype of lists of Java byte values.
Boolean-value-list
Fixtype of lists of Java boolean values.