• 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
          • 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
            • Input-processors
            • Transformation-table
              • Remove-irrelevant-inputs-from-transformation-call
              • Record-transformation-call-event
              • Previous-transformation-expansion
              • 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
          • 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
    • Transformation-table

    Previous-transformation-expansion

    Retrieve the encapsulate previously generated by this transformation call, if any.

    Signature
    (previous-transformation-expansion call wrld) → encapsulate?
    Arguments
    call — Guard (pseudo-event-formp call).
    wrld — Guard (plist-worldp wrld).
    Returns
    encapsulate? — A pseudo-event-formp or nil.

    The :print and :show-only inputs, if present, are removed from the call prior to looking it up in the transformation table. See the discussion here for motivation.

    The encapsulate associated to the call is returned, if found; otherwise, nil is returned. Thus, a non-nil result means that the call is redundant.

    Definitions and Theorems

    Function: previous-transformation-expansion

    (defun previous-transformation-expansion (call wrld)
     (declare (xargs :guard (and (pseudo-event-formp call)
                                 (plist-worldp wrld))))
     (let ((__function__ 'previous-transformation-expansion))
      (declare (ignorable __function__))
      (b*
       ((table (table-alist 'transformation-table
                            wrld)
    )
        (call
          (remove-irrelevant-inputs-from-transformation-call call wrld))
        (pair (assoc-equal call table)))
       (if pair (cdr pair) nil))))