• 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
          • Syntax-for-tools
          • Atc
          • Transformation-tools
          • Language
            • Abstract-syntax
            • Integer-ranges
            • Implementation-environments
              • Integer-format-templates
              • Ienv
              • Integer-formats
                • Integer-format-llong-wfp
                • Integer-format-short-wfp
                • Integer-format-long-wfp
                • Integer-format-int-wfp
                • Char+short+int+long+llong+bool-format
                • Char+short+int+long+llong+bool-format-wfp
                • Llong-format-64tcnt
                • Short-format-16tcnt
                • Long-format-32tcnt
                • Int-format-16tcnt
                • Integer-format-short/int/long/llong-wfp-of-inc-sign-tcnpnt
                • Char8+short16+int16+long32+llong64+bool0-tcnt
              • Ienv-ushort-rangep
              • Ienv-ulong-rangep
              • Ienv-ullong-rangep
              • Ienv-uint-rangep
              • Ienv-uchar-rangep
              • Ienv-sshort-rangep
              • Ienv-slong-rangep
              • Ienv-sllong-rangep
              • Ienv-sint-rangep
              • Ienv-schar-rangep
              • Ienv-char-rangep
              • Ienv->schar-min
              • Ienv->schar-max
              • Ienv->char-size
              • Ienv->char-min
              • Ienv->char-max
              • Ienv->uchar-max
              • Ienv->short-bit-size
              • Ienv->long-bit-size
              • Ienv->llong-bit-size
              • Ienv->int-bit-size
              • Ienv->short-byte-size
              • Ienv->long-byte-size
              • Ienv->llong-byte-size
              • Ienv->int-byte-size
              • Versions
              • Ienv->ushort-max
              • Ienv->ullong-max
              • Ienv->sshort-min
              • Ienv->sllong-min
              • Ienv->sllong-max
              • Ienv->bool-byte-size
              • Ienv->bool-bit-size
              • Ienv->ulong-max
              • Ienv->uint-max
              • Ienv->sshort-max
              • Ienv->slong-min
              • Ienv->slong-max
              • Ienv->sint-min
              • Ienv->sint-max
              • Schar-formats
              • Char-formats
              • Uchar-formats
              • Signed-formats
              • Bool-formats
            • Dynamic-semantics
            • Static-semantics
            • Grammar
            • Types
            • Integer-formats-definitions
            • Computation-states
            • Portable-ascii-identifiers
            • Values
            • Integer-operations
            • Object-designators
            • Operations
            • Errors
            • Tag-environments
            • Function-environments
            • Character-sets
            • Flexible-array-member-removal
            • Arithmetic-operations
            • Pointer-operations
            • Real-operations
            • Array-operations
            • Scalar-operations
            • Structure-operations
          • Representation
          • Insertion-sort
          • Pack
        • Soft
        • Bv
        • Imp-language
        • Ethereum
        • Event-macros
        • Java
        • 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
  • Implementation-environments

Integer-formats

Formats of integer objects.

We use the templates formalized in integer-format-templates to formalize the possible formats of the integer types other than unsigned, signed, and plain char types, namely short, int, and larger types. We also put these together with our formalization of the possible formats of the unsigned, signed, and plain char types, to form data structures for the possible formats of most integer types (we plan to add the remaining ones at some point).

Subtopics

Integer-format-llong-wfp
Check if an integer format is well-formed when used for (signed and unsigned) long long.
Integer-format-short-wfp
Check if an integer format is well-formed when used for (signed and unsigned) short.
Integer-format-long-wfp
Check if an integer format is well-formed when used for (signed and unsigned) long.
Integer-format-int-wfp
Check if an integer format is well-formed when used for (signed and unsigned) int.
Char+short+int+long+llong+bool-format
Fixtype of formats of (unsigned, signed, and plain) char objects, (unsigned and signed) short objects, (unsigned and signed) int objects, (unsigned and signed) long objects, (unsigned and signed) long long objects, and _Bool objects.
Char+short+int+long+llong+bool-format-wfp
Check if the formats of char, short, int, long, long long, and _Bool objects are well-formed.
Llong-format-64tcnt
The (unsigned and signed) long long format defined by 64 bits with increasing values, two's complement, and no trap representations.
Short-format-16tcnt
The (unsigned and signed) short format defined by 16 bits with increasing values, two's complement, and no trap representations.
Long-format-32tcnt
The (unsigned and signed) long format defined by 32 bits with increasing values, two's complement, and no trap representations.
Int-format-16tcnt
The (unsigned and signed) int format defined by 16 bits with increasing values, two's complement, and no trap representations.
Integer-format-short/int/long/llong-wfp-of-inc-sign-tcnpnt
Theorems about the well-formedness of shorts, ints, longs, and long longs specified via integer-format-inc-sign-tcnpnt.
Char8+short16+int16+long32+llong64+bool0-tcnt
The char, short, int, long, long long, and _Bool integer formats defined by the minimal number of bits with increasing values, two's complement, no trap representations, unsigned plain chars, and one-byte _Bool objects with value in the least significant bit.