• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • 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
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Pfcs
      • Wp-gen
      • Dimacs-reader
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Riscv
      • Bitcoin
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Aleo
      • Bigmems
      • Builtins
      • Execloader
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Community
    • Proof-automation
    • ACL2
    • Macro-libraries
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • 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.