• 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
          • Isodata
          • Simplify-defun
          • Tailrec
          • Schemalg
          • Restrict
          • Expdata
          • Casesplit
          • Simplify-term
          • Simplify-defun-sk
          • Parteval
          • Solve
          • Wrap-output
          • Propagate-iso
          • Simplify
          • Finite-difference
          • Drop-irrelevant-params
          • Copy-function
          • Lift-iso
          • Rename-params
          • Utilities
            • Defaults-table
            • Xdoc::apt-constructors
              • Xdoc::desc-apt-input-thm-name
              • Xdoc::desc-apt-input-thm-enable
                • Xdoc::desc-apt-input-verify-guards
                • Xdoc::apt-design-notes-ref
                • Xdoc::desc-apt-input-wrapper-to-old-name
                • Xdoc::desc-apt-input-old-to-wrapper-name
                • Xdoc::desc-apt-input-wrapper-to-old-enable
                • Xdoc::desc-apt-input-wrapper-name
                • Xdoc::desc-apt-input-old-to-wrapper-enable
                • Xdoc::desc-apt-input-old-to-new-name
                • Xdoc::desc-apt-input-old-if-new-name
                • Xdoc::desc-apt-input-new-to-old-name
                • Xdoc::desc-apt-input-wrapper-enable
                • Xdoc::desc-apt-input-old-to-new-enable
                • Xdoc::desc-apt-input-old-if-new-enable
                • Xdoc::desc-apt-input-new-to-old-enable
                • Xdoc::desc-apt-input-new-name
                • Xdoc::desc-apt-input-untranslate
                • Xdoc::desc-apt-input-old
                • Xdoc::desc-apt-input-new-enable
                • Xdoc::desc-apt-input-wrapper
              • Input-processors
              • Transformation-table
              • Find-base-cases
              • Untranslate-specifier-utilities
              • Print-specifier-utilities
              • Hints-specifier-utilities
            • Simplify-term-programmatic
            • Simplify-defun-sk-programmatic
            • Simplify-defun-programmatic
            • Simplify-defun+
            • Common-options
            • Common-concepts
          • Error-checking
          • Fty-extensions
          • 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
    • Xdoc::apt-constructors

    Xdoc::desc-apt-input-thm-enable

    Build a description of the :thm-enable input for the user documentation of an APT transformation.

    The wrapper? parameter of this macro has the value :never when the transformation never generates a wrapper; it has the value :optional when the transformation includes a :wrapper input that determines whether the wrapper is generated or not (i.e. the wrapper is optional); it has the value :always when the transformation always generates the wrapper.

    This transformation input refers to the theorem that relates the old function to either the new function or the wrapper function, depending on the wrapper? parameter.

    Macro: desc-apt-input-thm-enable

    (defmacro xdoc::desc-apt-input-thm-enable
              (wrapper? &rest additional)
     (declare
        (xargs :guard (member-eq wrapper? '(:never :optional :always))))
     (b*
      ((thm-name-ref
        (case wrapper?
         (:never "@('old-to-new')")
         (:optional
          "@('old-to-new')
                            (if the @(':wrapper') input is @('nil')) or
                            @('old-to-wrapper')
                            (if the @(':wrapper') input is @('t'))")
         (:always "@('old-to-wrapper')"))))
      (cons
       'xdoc::desc
       (cons
           '"@(':thm-enable') — default @('t')"
           (cons (cons 'xdoc::p
                       (cons '"Determines whether "
                             (cons thm-name-ref '(" is enabled:"))))
                 (cons '(xdoc::ul (xdoc::li "@('t'), to enable it.")
                                  (xdoc::li "@('nil'), to disable it."))
                       additional))))))