• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
          • Simplify-defun
          • Isodata
          • Tailrec
          • Schemalg
          • Restrict
          • Expdata
          • Casesplit
            • Casesplit-implementation
              • Casesplit-event-generation
                • Casesplit-gen-everything
                • Casesplit-gen-new-fn
                • Casesplit-gen-old-to-new-thm
                • Casesplit-gen-appconds-new-guard
                • Casesplit-gen-appconds
                • Casesplit-gen-appconds-thm-hyp
                • Casesplit-gen-appcond-new-guard
                • Casesplit-gen-appcond-name-from-parts
                • Casesplit-gen-appconds-cond-guard
                • Casesplit-gen-appcond-thm-hyp
                • Casesplit-gen-appcond-cond-guard
                • Casesplit-gen-appconds-new-guard-aux
                • Casesplit-gen-appcond-cond-guard-name
                • Casesplit-gen-appcond-thm-hyp-name
                • Casesplit-gen-appcond-new-guard-name
              • Casesplit-fn
              • Casesplit-input-processing
              • Casesplit-macro-definition
              • Casesplit-library-extensions
          • Simplify-term
          • Simplify-defun-sk
          • Parteval
          • Solve
          • Wrap-output
          • Propagate-iso
          • Simplify
          • Finite-difference
          • Drop-irrelevant-params
          • Copy-function
          • Lift-iso
          • Rename-params
          • 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
        • 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
  • Casesplit-implementation

Casesplit-event-generation

Event generation performed by casesplit.

Some events are generated in two slightly different variants: one that is local to the generated encapsulate, and one that is exported from the encapsulate. Proof hints are in the former but not in the latter, thus keeping the ACL2 history ``clean''; some proof hints may refer to events that are generated only locally to the encapsulate.

Some events are generated only locally to the generated encapsulate. These are auxiliary events needed to introduce the non-local (i.e. exported) events, but whose presence in the ACL2 history is no longer needed once the exported events have been introduced. These only-local events have generated fresh names. In contrast, exported events have names that are user-controlled, directly or indirectly.

Subtopics

Casesplit-gen-everything
Generate the top-level event.
Casesplit-gen-new-fn
Generate the new function definition.
Casesplit-gen-old-to-new-thm
Generate the theorem that relates the old and new functions.
Casesplit-gen-appconds-new-guard
Generate the applicability conditions new1-guard, ..., newp-guard, new0-guard, in that order.
Casesplit-gen-appconds
Generate the applicability conditions that are present for the current call of the transformation, in the order given in the reference documentation.
Casesplit-gen-appconds-thm-hyp
Generate the applicability conditions thm1-hyp, ..., thmp-hyp, thm0-hyp, in that order.
Casesplit-gen-appcond-new-guard
Generate the applicability condition newk-guard.
Casesplit-gen-appcond-name-from-parts
Create the name (keyword) of an applicability condition from its parts.
Casesplit-gen-appconds-cond-guard
Generate the applicability conditions cond1-guard, ..., condp-guard, in that order.
Casesplit-gen-appcond-thm-hyp
Generate the applicability condition thmk-hyp.
Casesplit-gen-appcond-cond-guard
Generate the applicability condition condk-guard.
Casesplit-gen-appconds-new-guard-aux
Casesplit-gen-appcond-cond-guard-name
Name of the applicability condition :condk-guard.
Casesplit-gen-appcond-thm-hyp-name
Name of the applicability condition :thmk-hyp.
Casesplit-gen-appcond-new-guard-name
Name of the applicability condition :newk-guard.