• 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
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • C
          • Syntax-for-tools
          • Atc
            • Atc-implementation
              • Atc-abstract-syntax
              • Atc-pretty-printer
              • Atc-event-and-code-generation
                • Atc-symbolic-computation-states
                • Atc-symbolic-execution-rules
                • Atc-gen-ext-declon-lists
                • Atc-function-and-loop-generation
                • Atc-statement-generation
                • Atc-gen-fileset
                • Atc-gen-everything
                • Atc-gen-obj-declon
                • Atc-gen-fileset-event
                • Atc-tag-tables
                  • Atc-tag-info
                    • Atc-tag-info-fix
                    • Atc-tag-info-equiv
                    • Make-atc-tag-info
                    • Atc-tag-info->member-write-thms
                    • Atc-tag-info->member-read-thms
                    • Atc-tag-info->defstruct
                    • Change-atc-tag-info
                    • Atc-tag-infop
                  • Atc-type-to-recognizer
                  • Atc-type-to-notflexarrmem-thms
                  • Atc-string-taginfo-alist-to-writer-return-thms
                  • Atc-string-taginfo-alist-to-reader-return-thms
                  • Atc-string-taginfo-alist-to-writers
                  • Atc-string-taginfo-alist-to-readers
                  • Atc-type-to-pointer-type-to-quoted-thms
                  • Atc-type-to-type-to-quoted-thms
                  • Atc-type-to-type-of-value-thm
                  • Atc-type-to-valuep-thm
                  • Atc-type-to-value-kind-thm
                  • Atc-string-taginfo-alist-to-pointer-type-to-quoted-thms
                  • Atc-get-tag-info
                  • Atc-string-taginfo-alist-to-type-to-quoted-thms
                  • Atc-string-taginfo-alist-to-type-of-value-thms
                  • Atc-string-taginfo-alist-to-member-write-thms
                  • Atc-string-taginfo-alist-to-member-read-thms
                  • Atc-string-taginfo-alist-to-value-kind-thms
                  • Atc-string-taginfo-alist-to-recognizers
                  • Atc-string-taginfo-alist-to-flexiblep-thms
                  • Atc-string-taginfo-alist-to-valuep-thms
                  • Atc-string-taginfo-alist-to-not-error-thms
                  • Atc-string-taginfo-alist
                  • Irr-atc-tag-info
                • Atc-expression-generation
                • Atc-generation-contexts
                • Atc-gen-wf-thm
                • Term-checkers-atc
                • Atc-variable-tables
                • Term-checkers-common
                • Atc-gen-init-fun-env-thm
                • Atc-gen-appconds
                • Read-write-variables
                • Atc-gen-thm-assert-events
                • Test*
                • Atc-gen-prog-const
                • Atc-gen-expr-bool
                • Atc-theorem-generation
                • Atc-tag-generation
                • Atc-gen-expr-pure
                • Atc-function-tables
                • Atc-object-tables
              • Fty-pseudo-term-utilities
              • Atc-term-recognizers
              • Atc-input-processing
              • Atc-shallow-embedding
              • Atc-process-inputs-and-gen-everything
              • Atc-table
              • Atc-fn
              • Atc-pretty-printing-options
              • Atc-types
              • Atc-macro-definition
            • Atc-tutorial
            • Pure-expression-execution
          • Transformation-tools
          • Language
          • Representation
          • Insertion-sort
          • Pack
        • Soft
        • Bv
        • Imp-language
        • Ethereum
        • Event-macros
        • Java
        • Riscv
        • Bitcoin
        • Zcash
        • Yul
        • ACL2-programming-language
        • Prime-fields
        • Json
        • Syntheto
        • File-io-light
        • Cryptography
        • Number-theory
        • Axe
        • Lists-light
        • Builtins
        • Solidity
        • Helpers
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • Atc-tag-tables

Atc-tag-info

Fixtype of information associated to an ACL2 defstruct symbol translated to a C structure type.

This is a product type introduced by fty::defprod.

Fields
defstruct — defstruct-info
member-read-thms — symbol-list
member-write-thms — symbol-list

This consists of the information in the defstruct table plus some additional information that is more specific to ATC than to defstruct, which is part of the shallow embedding. This additional information consists of:

  • The names of the theorems generated by ATC for rewriting calls of exec-member and exec-memberp to calls of defstruct readers; see atc-gen-tag-member-read-all-thms.
  • The names of the theorems generated by ATC for rewriting calls of exec-expr on assignments with a :member or :memberp left expression to calls of defstruct writers; see atc-gen-tag-member-write-all-thms.

The latter theorems depend on exec-member, exec-memberp, and exec-expr, so they are not generated by defstruct to avoid having defstruct depend on those functions from the dynamic semantics.

Subtopics

Atc-tag-info-fix
Fixing function for atc-tag-info structures.
Atc-tag-info-equiv
Basic equivalence relation for atc-tag-info structures.
Make-atc-tag-info
Basic constructor macro for atc-tag-info structures.
Atc-tag-info->member-write-thms
Get the member-write-thms field from a atc-tag-info.
Atc-tag-info->member-read-thms
Get the member-read-thms field from a atc-tag-info.
Atc-tag-info->defstruct
Get the defstruct field from a atc-tag-info.
Change-atc-tag-info
Modifying constructor for atc-tag-info structures.
Atc-tag-infop
Recognizer for atc-tag-info structures.