• 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
          • Omaps
          • Directed-untranslate
          • Include-book-paths
          • Ubi
          • Numbered-names
          • Digits-any-base
            • Defdigits
              • Defdigits-implementation
                • Defdigits-fn
                • Defdigits-infop
                  • Defdigits-info
                  • Make-defdigits-info
                  • Honsed-defdigits-info
                  • Change-defdigits-info
                    • Make-honsed-defdigits-info
                    • Defdigits-info->digits-pred-correct
                    • Defdigits-info->digits-fix-correct
                    • Defdigits-info->digits-description
                    • Defdigits-info->digit-pred-correct
                    • Defdigits-info->nat-to-lendian
                    • Defdigits-info->nat-to-bendian
                    • Defdigits-info->lendian-to-nat
                    • Defdigits-info->digits-pred
                    • Defdigits-info->digits-fix
                    • Defdigits-info->digit-pred
                    • Defdigits-info->digit-fix-correct
                    • Defdigits-info->digit-fix
                    • Defdigits-info->bendian-to-nat
                    • Defdigits-info->base
                  • Defdigits-macro-definition
                  • Defdigits-table
                  • *defdigits-table-name*
              • Nat=>lendian*
              • Group-lendian
              • Defdigit-grouping
              • Ungroup-lendian
              • Lendian=>nat
              • Defthm-dab-return-types
              • Bendian=>nat
              • Nat=>bendian*
              • Trim-bendian*
              • Trim-lendian*
              • Nat=>lendian
              • Dab-digit-list-fix
              • Nat=>bendian
              • Ungroup-bendian
              • Group-bendian
              • Digits=>nat-injectivity-theorems
              • Dab-digit-listp
              • Nat=>lendian+
              • Dab-basep
              • Nat=>bendian+
              • Digits=>nat=>digits-inverses-theorems
              • Trim-lendian+
              • Trim-bendian+
              • Nat=>digits=>nat-inverses-theorems
              • Dab-digitp
              • Group/ungroup-inverses-theorems
              • Dab-digit-fix
              • Nat=>digits-injectivity-theorems
              • Dab-base
              • Digits-any-base-pow2
              • Dab-base-fix
            • Context-message-pair
            • With-auto-termination
            • Make-termination-theorem
            • Theorems-about-true-list-lists
            • Checkpoint-list
            • Sublis-expr+
            • Integers-from-to
            • Prove$
            • Defthm<w
            • System-utilities-non-built-in
            • Integer-range-fix
            • Minimize-ruler-extenders
            • Add-const-to-untranslate-preprocess
            • Unsigned-byte-fix
            • Signed-byte-fix
            • Defthmr
            • Paired-names
            • Unsigned-byte-list-fix
            • Signed-byte-list-fix
            • Show-books
            • Skip-in-book
            • Typed-tuplep
            • List-utilities
            • Checkpoint-list-pretty
            • Defunt
            • Keyword-value-list-to-alist
            • Magic-macroexpand
            • Top-command-number-fn
            • Bits-as-digits-in-base-2
            • Show-checkpoint-list
            • Ubyte11s-as-digits-in-base-2048
            • Named-formulas
            • Bytes-as-digits-in-base-256
            • String-utilities
            • Make-keyword-value-list-from-keys-and-value
            • Defmacroq
            • Integer-range-listp
            • Apply-fn-if-known
            • Trans-eval-error-triple
            • Checkpoint-info-list
            • Previous-subsumer-hints
            • Fms!-lst
            • Zp-listp
            • Trans-eval-state
            • Injections
            • Doublets-to-alist
            • Theorems-about-osets
            • Typed-list-utilities
            • Book-runes-alist
            • User-interface
            • Bits/ubyte11s-digit-grouping
            • Bits/bytes-digit-grouping
            • Message-utilities
            • Subsetp-eq-linear
            • Oset-utilities
            • Strict-merge-sort-<
            • Miscellaneous-enumerations
            • Maybe-unquote
            • Thm<w
            • Defthmd<w
            • Io-utilities
          • Set
          • Soft
          • C
          • Bv
          • Imp-language
          • Event-macros
          • Java
          • 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
    • Defdigits-infop

    Change-defdigits-info

    A copying macro that lets you create new defdigits-infop structures, based on existing structures.

    Syntax:

    (change-defdigits-info x 
                           [:base <base>] 
                           [:digit-pred <digit-pred>] 
                           [:digit-fix <digit-fix>] 
                           [:digits-pred <digits-pred>] 
                           [:digits-fix <digits-fix>] 
                           [:bendian-to-nat <bendian-to-nat>] 
                           [:lendian-to-nat <lendian-to-nat>] 
                           [:nat-to-bendian <nat-to-bendian>] 
                           [:nat-to-lendian <nat-to-lendian>] 
                           [:digits-description <digits-description>] 
                           [:digit-pred-correct <digit-pred-correct>] 
                           [:digit-fix-correct <digit-fix-correct>] 
                           [:digits-pred-correct <digits-pred-correct>] 
                           [:digits-fix-correct <digits-fix-correct>]) 
    

    This is a sometimes useful alternative to make-defdigits-info. It constructs a new defdigits-infop structure that is a copy of x, except that you can explicitly change some particular fields. Any fields you don't mention just keep their values from x.

    Definition

    This is an ordinary change- macro introduced by std::defaggregate.

    Macro: change-defdigits-info

    (defmacro change-defdigits-info (x &rest args)
     (std::change-aggregate
          'defdigits-info
          x args
          '((:base . defdigits-info->base)
            (:digit-pred . defdigits-info->digit-pred)
            (:digit-fix . defdigits-info->digit-fix)
            (:digits-pred . defdigits-info->digits-pred)
            (:digits-fix . defdigits-info->digits-fix)
            (:bendian-to-nat . defdigits-info->bendian-to-nat)
            (:lendian-to-nat . defdigits-info->lendian-to-nat)
            (:nat-to-bendian . defdigits-info->nat-to-bendian)
            (:nat-to-lendian . defdigits-info->nat-to-lendian)
            (:digits-description . defdigits-info->digits-description)
            (:digit-pred-correct . defdigits-info->digit-pred-correct)
            (:digit-fix-correct . defdigits-info->digit-fix-correct)
            (:digits-pred-correct . defdigits-info->digits-pred-correct)
            (:digits-fix-correct . defdigits-info->digits-fix-correct))
          'change-defdigits-info
          'nil))