• 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
          • Defbyte
            • Defbytelist
              • Defbytelist-standard-instances
                • Ubyte8-list
                • Ubyte4-list
                • Ubyte32-list
                • Ubyte256-list
                • Ubyte128-list
                • Ubyte64-list
                • Ubyte3-list
                • Ubyte2-list
                • Ubyte16-list
                • Ubyte11-list
                • Ubyte1-list
                • Sbyte8-list
                • Sbyte64-list
                • Sbyte4-list
                • Sbyte32-list
                • Sbyte3-list
                • Sbyte256-list
                • Sbyte2-list
                • Sbyte16-list
                • Sbyte128-list
                • Sbyte1-list
                • Defubytelist
                  • Defsbytelist
                • Defbytelist-implementation
              • Defbyte-standard-instances
              • Defbyte-ihs-theorems
              • Defbyte-implementation
            • Defresult
            • Fold
            • Specific-types
            • Defsubtype
            • Defset
            • Defflatsum
            • Deflist-of-len
            • Pos-list
            • Defomap
            • Defbytelist
              • Defbytelist-standard-instances
                • Ubyte8-list
                • Ubyte4-list
                • Ubyte32-list
                • Ubyte256-list
                • Ubyte128-list
                • Ubyte64-list
                • Ubyte3-list
                • Ubyte2-list
                • Ubyte16-list
                • Ubyte11-list
                • Ubyte1-list
                • Sbyte8-list
                • Sbyte64-list
                • Sbyte4-list
                • Sbyte32-list
                • Sbyte3-list
                • Sbyte256-list
                • Sbyte2-list
                • Sbyte16-list
                • Sbyte128-list
                • Sbyte1-list
                • Defubytelist
                  • Defsbytelist
                • Defbytelist-implementation
              • Defbyte-standard-instances
              • Deffixtype-alias
              • Defbytelist-standard-instances
                • Ubyte8-list
                • Ubyte4-list
                • Ubyte32-list
                • Ubyte256-list
                • Ubyte128-list
                • Ubyte64-list
                • Ubyte3-list
                • Ubyte2-list
                • Ubyte16-list
                • Ubyte11-list
                • Ubyte1-list
                • Sbyte8-list
                • Sbyte64-list
                • Sbyte4-list
                • Sbyte32-list
                • Sbyte3-list
                • Sbyte256-list
                • Sbyte2-list
                • Sbyte16-list
                • Sbyte128-list
                • Sbyte1-list
                • Defubytelist
                  • Defsbytelist
                • Defunit
                • Byte-list
                • Database
                • Byte
                • String-option
                • Pos-option
                • Nibble
                • Nat-option
                • Ubyte32-option
                • Byte-list20
                • Byte-list32
                • Byte-list64
                • Pseudo-event-form
                • Natoption/natoptionlist
                • Nati
                • Character-list
                • Nat/natlist
                • Maybe-string
                • Nibble-list
                • Natoption/natoptionlist-result
                • Nat/natlist-result
                • Nat-option-list-result
                • Set
                • String-result
                • String-list-result
                • Nat-result
                • Nat-option-result
                • Nat-list-result
                • Maybe-string-result
                • Integer-result
                • Character-result
                • Character-list-result
                • Boolean-result
                • Map
                • Dependencies
                • Bag
                • Pos-set
                • Hex-digit-char-list
                • Dec-digit-char-list
                • Pseudo-event-form-list
                • Nat-option-list
                • Character-any-map
                • Any-nat-map
                • Symbol-set
                • String-set
                • Nat-set
                • Character-set
                • Oct-digit-char-list
                • Bin-digit-char-list
                • Bit-list
              • Isar
              • Kestrel-utilities
              • Set
              • C
              • 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
        • Defbytelist-standard-instances

        Defubytelist

        Specialized form of defbytelist for generating standard fixtypes of true lists of unsigned bytes of explicit integer sizes.

        This macro just takes a positive integer as input.

        This macro generates fixtypes called acl2::ubyte<size>-list, where <size> consists of the decimal digits of the size. The recognizer, fixer, and equivalence are called acl2::ubyte<size>-listp, acl2::ubyte<size>-list-fix, and acl2::ubyte<size>-list-equiv.

        This macro also generates some standardized XDOC parents and short, and no XDOC long.

        Macro: defubytelist

        (defmacro defubytelist (size)
         (declare (xargs :guard (posp size)))
         (cons
          'defbytelist
          (cons
           (acl2::packn (list 'acl2::ubyte size '-list))
           (cons
            ':elt-type
            (cons
             (acl2::packn (list 'acl2::ubyte size))
             (cons
              ':pred
              (cons
               (acl2::packn (list 'acl2::ubyte size '-listp))
               (cons
                ':fix
                (cons
                 (acl2::packn (list 'acl2::ubyte size '-list-fix))
                 (cons
                  ':equiv
                  (cons
                   (acl2::packn (list 'acl2::ubyte size '-list-equiv))
                   (cons
                    ':parents
                    (cons
                     '(defbytelist-standard-instances)
                     (cons
                      ':short
                      (cons
                       (concatenate
                          'string
                          "Fixtype of true lists of unsigned bytes of size "
                          (coerce (explode-nonnegative-integer size 10 nil)
                                  'string)
                          ".")
                       'nil)))))))))))))))