• 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
        • Soft
        • Bv
        • Imp-language
        • Ethereum
        • Event-macros
          • Evmac-input-hints-p
          • Evmac-input-print-p
          • Event-macro-input-processing
          • Function-definedness
          • Event-macro-screen-printing
          • Make-event-terse
          • Event-macro-applicability-conditions
          • Event-macro-results
          • Template-generators
          • Event-macro-event-generators
            • Evmac-generate-defun
            • Evmac-generate-soft-defun-sk2
            • Evmac-generate-soft-defun2
            • Evmac-generate-defthm
            • Evmac-generate-soft-defunvar
          • Event-macro-proof-preparation
          • Try-event
          • Restore-output?
          • Restore-output
          • Fail-event
          • Cw-event
          • Event-macro-xdoc-constructors
          • Event-macro-intro-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
  • Event-macros

Event-macro-event-generators

Utilities to generate events in event macros.

These utilities return two results: a local event form, and a non-local one. The assumption is that the event macro generates an encapsulate inside which the events generated by these utilities: thus, the local event is local to the encapsulate, while the non-local one is exported from the encapsulate. The local event includes proof hints, while the exported one doesn't: this way, the ACL2 history after the encapsulate is ``clean'', without hints that may refer to local theorems, in particular.

A caller of these utilities may use these utilities also to generate a local-only event, simply by ignoring the second result. In cases in which the local and exported events are the same (except for the (local ...) wrapper, a caller of these utilities can ignore the first result.

Subtopics

Evmac-generate-defun
Generate a defun or defund function definition with the specified attributes.
Evmac-generate-soft-defun-sk2
Generate a SOFT defun-sk2 or defund-sk2 function definition with the specified attributes.
Evmac-generate-soft-defun2
Generate a SOFT defun2 or defund2 function definition with the specified attributes.
Evmac-generate-defthm
Generate a defthm or defthmd theorem with the specified attributes.
Evmac-generate-soft-defunvar
Generate a SOFT function variable with specified name and arity.