• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
      • Recursion-and-induction
      • Hons-and-memoization
      • Events
      • Parallelism
      • History
      • Programming
      • Operational-semantics
      • Real
      • Start-here
      • Debugging
      • Miscellaneous
      • Output-controls
      • Macros
        • Make-event
        • Defmacro
        • Untranslate-patterns
        • Tc
        • Trans*
        • Macro-aliases-table
        • Macro-args
        • Defabbrev
        • User-defined-functions-table
        • Trans
        • Untranslate-for-execution
        • Add-macro-fn
        • Check-vars-not-free
        • Safe-mode
        • Macro-libraries
          • B*
          • Defunc
          • Fty
          • 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
          • Std/util
          • Defdata
          • Defrstobj
          • Seq
          • Match-tree
          • Defrstobj
          • With-supporters
          • Def-partial-measure
          • Template-subst
          • Soft
          • Defthm-domain
          • Event-macros
          • Def-universal-equiv
          • Def-saved-obligs
          • With-supporters-after
          • Definec
          • Sig
          • Outer-local
          • Data-structures
        • Trans1
        • Defmacro-untouchable
        • Set-duplicate-keys-action
        • Add-macro-alias
        • Magic-macroexpand
        • Defmacroq
        • Trans!
        • Remove-macro-fn
        • Remove-macro-alias
        • Add-binop
        • Untrans-table
        • Trans*-
        • Remove-binop
        • Tcp
        • Tca
      • Mailing-lists
      • Interfacing-tools
    • Macro-libraries
      • B*
      • Defunc
      • Fty
      • 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
      • Std/util
      • Defdata
      • Defrstobj
      • Seq
      • Match-tree
      • Defrstobj
      • With-supporters
      • Def-partial-measure
      • Template-subst
      • Soft
      • Defthm-domain
      • Event-macros
      • Def-universal-equiv
      • Def-saved-obligs
      • With-supporters-after
      • Definec
      • Sig
      • Outer-local
      • Data-structures
    • 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.