• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
      • X86isa
        • Program-execution
        • Sdm-instruction-set-summary
        • Tlb
        • Running-linux
        • Introduction
        • Asmtest
        • X86isa-build-instructions
        • Publications
        • Contributors
        • Machine
        • Implemented-opcodes
        • To-do
        • Proof-utilities
        • Peripherals
        • Model-validation
        • Modelcalls
        • Concrete-simulation-examples
        • Utils
          • Structures
          • Utilities
            • Constants-conversions-and-bounds
              • Np-def-n
              • N08p
              • N64p
              • I64p
              • N512-to-i512
              • I48p
              • N80-to-i80
              • N65-to-i65
              • N64-to-i64
              • N60-to-i60
              • N59-to-i59
              • N55-to-i55
              • N512
              • N32p
              • N32
              • N256-to-i256
              • N16
              • N128-to-i128
              • N120-to-i120
              • N12
              • N112-to-i112
              • I64
              • I512-to-n512
              • I256-to-n256
              • I128-to-n128
              • I120-to-n120
              • I112-to-n112
              • N80
              • N65
              • N64
              • N60
              • N59
              • N55
              • N52-to-i52
              • N52
              • N51-to-i51
              • N51
              • N49-to-i49
              • N49
              • N48-to-i48
              • N48
              • N47-to-i47
              • N47
              • N45-to-i45
              • N45
              • N44-to-i44
              • N44
              • N43-to-i43
              • N43
              • N35-to-i35
              • N35
              • N33p
              • N33-to-i33
              • N33
              • N32-to-i32
              • N30-to-i30
              • N30
              • N28-to-i28
              • N28
              • N27-to-i27
              • N27
              • N26-to-i26
              • N26
              • N256
              • N25-to-i25
              • N25
              • N24-to-i24
              • N24
              • N22-to-i22
              • N22
              • N21-to-i21
              • N21
              • N20-to-i20
              • N20
              • N18-to-i18
              • N18
              • N17-to-i17
              • N17
              • N16p
              • N16-to-i16
              • N128
              • N120
              • N12-to-i12
              • N112
              • N11-to-i11
              • N11
              • N09-to-i09
              • N09
              • N08-to-i08
              • N08
              • N06-to-i06
              • N06
              • N05-to-i05
              • N05
              • N04-to-i04
              • N04
              • N03-to-i03
              • N03
              • N02-to-i02
              • N02
              • N01-to-i01
              • N01
              • I80-to-n80
              • I80
              • I65-to-n65
              • I65
              • I64-to-n64
              • I60-to-n60
              • I60
              • I59-to-n59
              • I59
              • I55-to-n55
              • I55
              • I52-to-n52
              • I52
              • I512
              • I51-to-n51
              • I51
              • I49-to-n49
              • I49
              • I48-to-n48
              • I48
              • I47-to-n47
              • I47
              • I45-to-n45
              • I45
              • I44-to-n44
              • I44
              • I43-to-n43
              • I43
              • I35-to-n35
              • I35
              • I33-to-n33
              • I33
              • I32-to-n32
              • I32
              • I30-to-n30
              • I30
              • I28-to-n28
              • I28
              • I27-to-n27
              • I27
              • I26-to-n26
              • I26
              • I256
              • I25-to-n25
              • I25
              • I24-to-n24
              • I24
              • I22-to-n22
              • I22
              • I21-to-n21
              • I21
              • I20-to-n20
              • I20
              • I18-to-n18
              • I18
              • I17-to-n17
              • I17
              • I16p
              • I16-to-n16
              • I16
              • I128
              • I120
              • I12-to-n12
              • I12
              • I112
              • I11-to-n11
              • I11
              • I09-to-n09
              • I09
              • I08-to-n08
              • I08
              • I06-to-n06
              • I06
              • I05-to-n05
              • I05
              • I04-to-n04
              • I04
              • I03-to-n03
              • I03
              • I02-to-n02
              • I02
              • I01-to-n01
              • I01
              • Np-defs
              • N80p
              • N65p
              • N60p
              • N59p
              • N55p
              • N52p
              • N51p
              • N512p
              • N49p
              • N48p
              • N47p
              • N45p
              • N44p
              • N43p
              • N35p
              • N30p
              • N28p
              • N27p
              • N26p
              • N25p
              • N256p
              • N24p
              • N22p
              • N21p
              • N20p
              • N18p
              • N17p
              • N12p
              • N128p
              • N120p
              • N11p
              • N112p
              • N09p
              • N06p
              • N05p
              • N04p
              • N03p
              • N02p
              • N01p
              • I80p
              • I65p
              • I60p
              • I59p
              • I55p
              • I52p
              • I51p
              • I512p
              • I49p
              • I47p
              • I45p
              • I44p
              • I43p
              • I35p
              • I33p
              • I32p
              • I30p
              • I28p
              • I27p
              • I26p
              • I25p
              • I256p
              • I24p
              • I22p
              • I21p
              • I20p
              • I18p
              • I17p
              • I12p
              • I128p
              • I120p
              • I11p
              • I112p
              • I09p
              • I08p
              • I06p
              • I05p
              • I04p
              • I03p
              • I02p
              • I01p
            • Globally-disabled-events
            • Mk-name
        • Debugging-code-proofs
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • Utilities

Constants-conversions-and-bounds

Definitions of commonly used constants and some functions to convert between natp and integerp, etc.

Definitions of constants (of the form 2^W) and functions/macros grouped in rulesets of the following form are defined (where W is at least a two-digit natural number; 8 is represented as 08):

  • nWp belongs to nwp-defs ruleset.
    (define nWp (x)
      (unsigned-byte-p W x))
  • nW belongs to nw-defs ruleset.
    (define nW ((x integerp))
      (mbe :logic (loghead W x)
           :exec (logand 2^W-1 x)))
  • iWp belongs to iwp-defs ruleset.
    (define iWp (x)
      (signed-byte-p W x))
  • iW belongs to iw-defs ruleset.
    (define iW ((x integerp))
      (logext W x))
  • nW-to-iW belongs to nw-to-iw-defs ruleset.
    (define nW-to-iW ((x nWp :type (unsigned-byte W)))
        (mbe :logic (logext W x)
             :exec (if (< x 2^(W-1)) x (- x 2^W))))
  • iW-to-nW belongs to iw-to-nw-defs ruleset.
    (define iW-to-Nw ((x iWp :type (signed-byte W)))
        (mbe :logic (loghead W x)
             :exec (if (>= x 0) x (+ x 2^W))))

The function np-def-n is used to automatically create these constants and functions; it also proves some associated lemmas.

Subtopics

Np-def-n
N08p
N64p
I64p
N512-to-i512
I48p
N80-to-i80
N65-to-i65
N64-to-i64
N60-to-i60
N59-to-i59
N55-to-i55
N512
N32p
N32
N256-to-i256
N16
N128-to-i128
N120-to-i120
N12
N112-to-i112
I64
I512-to-n512
I256-to-n256
I128-to-n128
I120-to-n120
I112-to-n112
N80
N65
N64
N60
N59
N55
N52-to-i52
N52
N51-to-i51
N51
N49-to-i49
N49
N48-to-i48
N48
N47-to-i47
N47
N45-to-i45
N45
N44-to-i44
N44
N43-to-i43
N43
N35-to-i35
N35
N33p
N33-to-i33
N33
N32-to-i32
N30-to-i30
N30
N28-to-i28
N28
N27-to-i27
N27
N26-to-i26
N26
N256
N25-to-i25
N25
N24-to-i24
N24
N22-to-i22
N22
N21-to-i21
N21
N20-to-i20
N20
N18-to-i18
N18
N17-to-i17
N17
N16p
N16-to-i16
N128
N120
N12-to-i12
N112
N11-to-i11
N11
N09-to-i09
N09
N08-to-i08
N08
N06-to-i06
N06
N05-to-i05
N05
N04-to-i04
N04
N03-to-i03
N03
N02-to-i02
N02
N01-to-i01
N01
I80-to-n80
I80
I65-to-n65
I65
I64-to-n64
I60-to-n60
I60
I59-to-n59
I59
I55-to-n55
I55
I52-to-n52
I52
I512
I51-to-n51
I51
I49-to-n49
I49
I48-to-n48
I48
I47-to-n47
I47
I45-to-n45
I45
I44-to-n44
I44
I43-to-n43
I43
I35-to-n35
I35
I33-to-n33
I33
I32-to-n32
I32
I30-to-n30
I30
I28-to-n28
I28
I27-to-n27
I27
I26-to-n26
I26
I256
I25-to-n25
I25
I24-to-n24
I24
I22-to-n22
I22
I21-to-n21
I21
I20-to-n20
I20
I18-to-n18
I18
I17-to-n17
I17
I16p
I16-to-n16
I16
I128
I120
I12-to-n12
I12
I112
I11-to-n11
I11
I09-to-n09
I09
I08-to-n08
I08
I06-to-n06
I06
I05-to-n05
I05
I04-to-n04
I04
I03-to-n03
I03
I02-to-n02
I02
I01-to-n01
I01
Np-defs
N80p
N65p
N60p
N59p
N55p
N52p
N51p
N512p
N49p
N48p
N47p
N45p
N44p
N43p
N35p
N30p
N28p
N27p
N26p
N25p
N256p
N24p
N22p
N21p
N20p
N18p
N17p
N12p
N128p
N120p
N11p
N112p
N09p
N06p
N05p
N04p
N03p
N02p
N01p
I80p
I65p
I60p
I59p
I55p
I52p
I51p
I512p
I49p
I47p
I45p
I44p
I43p
I35p
I33p
I32p
I30p
I28p
I27p
I26p
I25p
I256p
I24p
I22p
I21p
I20p
I18p
I17p
I12p
I128p
I120p
I11p
I112p
I09p
I08p
I06p
I05p
I04p
I03p
I02p
I01p