• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • 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
        • Soft
        • 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-expression-generation
                • Atc-generation-contexts
                • Atc-gen-wf-thm
                • Term-checkers-atc
                • Atc-variable-tables
                • Term-checkers-common
                  • Atc-check-binop
                  • Atc-check-iconst
                  • Atc-check-unop
                  • Atc-check-conv
                  • Atc-check-symbol-5part
                  • Atc-check-symbol-4part
                  • Atc-check-symbol-3part
                  • Atc-check-symbol-2part
                • 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
          • Language
          • Representation
          • Transformation-tools
          • Insertion-sort
          • Pack
        • 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
  • Atc-event-and-code-generation
  • Defobject-implementation

Term-checkers-common

Checkers of ACL2 terms that represent C constructs, common to ATC and defobject.

The shallow embedding of C in ACL2 defines representations of C constructs in ACL2. These are used by atc and defobject, which check ACL2 terms to see if they represent C constructs, returning appropriate information if that is the case.

Here we collect some of this checking code on terms, which is common to atc and defobject. We plan to organize all of this code more systematically at some point.

Subtopics

Atc-check-binop
Check if a term may represent a strict pure binary expression.
Atc-check-iconst
Check if a term represents an integer constant.
Atc-check-unop
Check if a term may represent a unary expression.
Atc-check-conv
Check if a term may represent a conversion.
Atc-check-symbol-5part
Check if a symbol consists of five parts separated by dash.
Atc-check-symbol-4part
Check if a symbol consists of four parts separated by dash.
Atc-check-symbol-3part
Check if a symbol consists of three parts separated by dash.
Atc-check-symbol-2part
Check if a symbol consists of two parts separated by dash.