• 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
            • Expdata-implementation
              • Expdata-event-generation
              • Expdata-fn
              • Expdata-input-processing
                • Expdata-symbol-surjmap-alistp
                • Expdata-surjmapp
                  • Expdata-surjmap
                  • Make-expdata-surjmap
                  • Change-expdata-surjmap
                  • Honsed-expdata-surjmap
                  • Make-honsed-expdata-surjmap
                  • Expdata-surjmap->surjname
                  • Expdata-surjmap->oldp-guard
                  • Expdata-surjmap->oldp
                  • Expdata-surjmap->newp-guard
                  • Expdata-surjmap->newp
                  • Expdata-surjmap->localp
                  • Expdata-surjmap->hints
                  • Expdata-surjmap->forth-injective
                  • Expdata-surjmap->forth-image
                  • Expdata-surjmap->forth-guard
                  • Expdata-surjmap->forth
                  • Expdata-surjmap->back-of-forth
                  • Expdata-surjmap->back-image
                  • Expdata-surjmap->back-guard
                  • Expdata-surjmap->back
                • Expdata-pos-surjmap-alistp
                • Expdata-process-surj
                • Expdata-process-arg/res-list-surj
                • Expdata-process-inputs
                • Expdata-process-surjmaps
                • Expdata-fresh-defsurj-thm-names
                • Expdata-process-arg/res-list
                • Expdata-process-arg/res-list-surj-list
                • Expdata-process-res
                • Expdata-process-newp-of-new-name
                • Expdata-fresh-defsurj-name-with-*s-suffix
                • Expdata-process-surjmaps-ress
                • Expdata-process-surjmaps-args
                • Expdata-process-arg/res-list-surj-add-args
                • Expdata-process-arg/res-list-surj-add-ress
                • Expdata-process-old
                • Expdata-process-arg/res-list-aux
                • Expdata-surjmap-listp
                • Expdata-fresh-defsurj-name-with-*s-suffix-aux
              • Expdata-macro-definition
          • 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
          • 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
  • Expdata-input-processing

Expdata-surjmapp

Information about a surjective mapping according to which (some of) the target function's arguments and results are transformed.

(expdata-surjmapp x) is a std::defaggregate of the following fields.

  • surjname — Name of the defsurj.
        Invariant (symbolp surjname).
  • localp — Flag saying whether the defsurj is locally generated or not.
        Invariant (booleanp localp).
  • oldp — Recognizer of the old representation, i.e. the domb domain of the defsurj.
        Invariant (pseudo-termfnp oldp).
  • newp — Recognizer of the new representation, i.e. the doma domain of the defsurj.
        Invariant (pseudo-termfnp newp).
  • forth — Conversion from old to new representation, i.e. the beta conversion of the defsurj.
        Invariant (pseudo-termfnp forth).
  • back — Conversion from new to old representation, i.e. the alpha conversion of the defsurj.
        Invariant (pseudo-termfnp back).
  • forth-image — Name of the :beta-image theorem of the defsurj.
        Invariant (symbolp forth-image).
  • back-image — Name of the :alpha-image theorem of the defsurj.
        Invariant (symbolp back-image).
  • back-of-forth — Name of the :alpha-of-beta theorem of the defsurj.
        Invariant (symbolp back-of-forth).
  • forth-injective — Name of the :beta-injective theorem of the defsurj.
        Invariant (symbolp forth-injective).
  • oldp-guard — Name of the :domb-guard theorem of the defsurj, if present (otherwise nil).
        Invariant (symbolp oldp-guard).
  • newp-guard — Name of the :doma-guard theorem of the defsurj, if present (otherwise nil).
        Invariant (symbolp newp-guard).
  • forth-guard — Name of the :beta-guard theorem of the defsurj, if present (otherwise nil).
        Invariant (symbolp forth-guard).
  • back-guard — Name of the :alpha-guard theorem of the defsurj, if present (otherwise nil).
        Invariant (symbolp back-guard).
  • hints — Optional hints for the defsurj, if locally generated (otherwise nil).
        Invariant (keyword-value-listp hints).

Source link: expdata-surjmapp

This aggregate is somewhat similar to defmapping-infop, and in fact it corresponds either to an existing defsurj that is referenced in an surjk input of expdata, or to a locally generated defsurj that is determined in the surjk input of expdata. However, this aggregate is not stored in any table; it has some fields in common (except for their names) with defmapping-infop, but it has a few extra fields and omits a few fields. This aggregate is only for expdata's internal use. Note that there are no forth-of-back and back-injective theorems, because the corresponding theorems are not in the defsurj.

Subtopics

Expdata-surjmap
Raw constructor for expdata-surjmapp structures.
Make-expdata-surjmap
Constructor macro for expdata-surjmapp structures.
Change-expdata-surjmap
A copying macro that lets you create new expdata-surjmapp structures, based on existing structures.
Honsed-expdata-surjmap
Raw constructor for honsed expdata-surjmapp structures.
Make-honsed-expdata-surjmap
Constructor macro for honsed expdata-surjmapp structures.
Expdata-surjmap->surjname
Access the surjname field of a expdata-surjmapp structure.
Expdata-surjmap->oldp-guard
Access the oldp-guard field of a expdata-surjmapp structure.
Expdata-surjmap->oldp
Access the oldp field of a expdata-surjmapp structure.
Expdata-surjmap->newp-guard
Access the newp-guard field of a expdata-surjmapp structure.
Expdata-surjmap->newp
Access the newp field of a expdata-surjmapp structure.
Expdata-surjmap->localp
Access the localp field of a expdata-surjmapp structure.
Expdata-surjmap->hints
Access the hints field of a expdata-surjmapp structure.
Expdata-surjmap->forth-injective
Access the forth-injective field of a expdata-surjmapp structure.
Expdata-surjmap->forth-image
Access the forth-image field of a expdata-surjmapp structure.
Expdata-surjmap->forth-guard
Access the forth-guard field of a expdata-surjmapp structure.
Expdata-surjmap->forth
Access the forth field of a expdata-surjmapp structure.
Expdata-surjmap->back-of-forth
Access the back-of-forth field of a expdata-surjmapp structure.
Expdata-surjmap->back-image
Access the back-image field of a expdata-surjmapp structure.
Expdata-surjmap->back-guard
Access the back-guard field of a expdata-surjmapp structure.
Expdata-surjmap->back
Access the back field of a expdata-surjmapp structure.