• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
          • Isodata
            • Isodata-implementation
              • Isodata-event-generation
              • Isodata-fn
              • Isodata-input-processing
                • Isodata-symbol-isomap-alistp
                • Isodata-isomapp
                  • Isodata-isomap
                  • Make-isodata-isomap
                  • Honsed-isodata-isomap
                    • Change-isodata-isomap
                    • Make-honsed-isodata-isomap
                    • Isodata-isomap->stobjp
                    • Isodata-isomap->oldp-guard
                    • Isodata-isomap->oldp
                    • Isodata-isomap->newp-guard
                    • Isodata-isomap->newp
                    • Isodata-isomap->localp
                    • Isodata-isomap->isoname
                    • Isodata-isomap->hints
                    • Isodata-isomap->forth-of-back
                    • Isodata-isomap->forth-injective
                    • Isodata-isomap->forth-image
                    • Isodata-isomap->forth-guard
                    • Isodata-isomap->forth
                    • Isodata-isomap->back-of-forth
                    • Isodata-isomap->back-injective
                    • Isodata-isomap->back-image
                    • Isodata-isomap->back-guard
                    • Isodata-isomap->back
                  • Isodata-pos-isomap-alistp
                  • Isodata-process-iso
                  • Isodata-process-inputs
                  • Isodata-process-arg/res-list-iso
                  • Isodata-process-isomaps
                  • Isodata-fresh-defiso-thm-names
                  • Isodata-process-arg/res-list
                  • Isodata-process-arg/res-list-iso-list
                  • Isodata-process-res
                  • Isodata-process-old
                  • Isodata-fresh-defiso-name-with-*s-suffix
                  • Isodata-process-newp-of-new-name
                  • Isodata-process-undefined
                  • Isodata-symbol-isomap-alist-stobjp
                  • Isodata-pos-isomap-alist-stobjp
                  • Isodata-isomap-listp
                • Isodata-macro-definition
            • Simplify-defun
            • 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
            • 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
          • Riscv
          • 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
    • Isodata-isomapp

    Honsed-isodata-isomap

    Raw constructor for honsed isodata-isomapp structures.

    Syntax:

    (honsed-isodata-isomap isoname 
                           localp oldp newp forth back stobjp 
                           forth-image back-image back-of-forth 
                           forth-of-back forth-injective 
                           back-injective oldp-guard 
                           newp-guard forth-guard back-guard hints)

    This is identical to isodata-isomap, except that we hons the structure we are creating.

    Definition

    This is an ordinary honsing constructor introduced by std::defaggregate.

    Function: honsed-isodata-isomap

    (defun honsed-isodata-isomap
           (isoname localp oldp newp forth back stobjp
                    forth-image back-image back-of-forth
                    forth-of-back forth-injective
                    back-injective oldp-guard
                    newp-guard forth-guard back-guard hints)
     (declare (xargs :guard (and (symbolp isoname)
                                 (booleanp localp)
                                 (pseudo-termfnp oldp)
                                 (pseudo-termfnp newp)
                                 (pseudo-termfnp forth)
                                 (pseudo-termfnp back)
                                 (booleanp stobjp)
                                 (symbolp forth-image)
                                 (symbolp back-image)
                                 (symbolp back-of-forth)
                                 (symbolp forth-of-back)
                                 (symbolp forth-injective)
                                 (symbolp back-injective)
                                 (symbolp oldp-guard)
                                 (symbolp newp-guard)
                                 (symbolp forth-guard)
                                 (symbolp back-guard)
                                 (keyword-value-listp hints))))
     (mbe
      :logic (isodata-isomap isoname
                             localp oldp newp forth back stobjp
                             forth-image back-image back-of-forth
                             forth-of-back forth-injective
                             back-injective oldp-guard
                             newp-guard forth-guard back-guard hints)
      :exec
      (hons
       (hons 'isoname isoname)
       (hons
        (hons 'localp localp)
        (hons
         (hons 'oldp oldp)
         (hons
          (hons 'newp newp)
          (hons
           (hons 'forth forth)
           (hons
            (hons 'back back)
            (hons
             (hons 'stobjp stobjp)
             (hons
              (hons 'forth-image forth-image)
              (hons
               (hons 'back-image back-image)
               (hons
                (hons 'back-of-forth back-of-forth)
                (hons
                 (hons 'forth-of-back forth-of-back)
                 (hons
                  (hons 'forth-injective forth-injective)
                  (hons
                   (hons 'back-injective back-injective)
                   (hons (hons 'oldp-guard oldp-guard)
                         (hons (hons 'newp-guard newp-guard)
                               (hons (hons 'forth-guard forth-guard)
                                     (hons (hons 'back-guard back-guard)
                                           (hons (hons 'hints hints)
                                                 nil))))))))))))))))))))