• 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
        • Bv
        • Imp-language
        • Event-macros
        • Java
        • Bitcoin
        • Ethereum
        • Yul
        • Zcash
        • ACL2-programming-language
          • Primitive-functions
          • Translated-terms
            • Tterm-constant-list->value-list
            • Tterm-free-vars
            • Tterm-option
            • Tterm-constant-list
            • Tterm-case-constant-listp
            • Lift-term
            • Tterms
              • Tterm
                • Tterm-case
                • Tterm-equiv
                • Tterm-call
                • Ttermp
                • Tterm-constant
                • Tterm-variable
                • Tterm-kind
                • Tterm-fix
                • Tterm-count
              • Tfunction
              • Tterm-list
          • Values
          • Evaluation
          • Program-equivalence
          • Functions
          • Packages
          • Programs
          • Interpreter
          • Evaluation-states
        • 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
  • Tterms

Tterm

Fixtype of translated terms.

This is a tagged union type, introduced by fty::deftagsum.

Member Tags → Types
:variable → tterm-variable
:constant → tterm-constant
:call → tterm-call

A translated term is a variable (any symbol), a (quoted) constant (of any value), or a function call. The latter consists of a function (see tfunction) and a list of zero or more argument terms. We do not constrain here the number of argument terms to match the number of formal parameters of the lambda expression, when the function is a lambda expression.

Note that, for variables, we use the symbol values formalized by symbol-value, not the ACL2 symbol. The reason is the one explained in symbol-value: we want to represent all possible variables, not just the ones that are valid for the current packages.

Subtopics

Tterm-case
Case macro for the different kinds of tterm structures.
Tterm-equiv
Basic equivalence relation for tterm structures.
Tterm-call
Ttermp
Recognizer for tterm structures.
Tterm-constant
Tterm-variable
Tterm-kind
Get the kind (tag) of a tterm structure.
Tterm-fix
Fixing function for tterm structures.
Tterm-count
Measure for recurring over tterm structures.