• 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
          • Transformation-tools
            • Simpadd0
            • Proof-generation
            • Split-gso
            • Wrap-fn
            • Constant-propagation
            • Specialize
            • Split-fn
            • Split-fn-when
            • Split-all-gso
            • Copy-fn
            • Variables-in-computation-states
              • C::compustate-has-var-with-type-p
              • Exec-compustate-vars-theorems
              • C::compustate-has-vars-with-types-p
              • C::compustate-has-var-with-type-p-of-exit-exec-enter
              • C::compustate-has-vars-with-types-p-of-exit-exec-enter
              • C::compustate-has-vars-with-types-p-of-enter-scope
              • C::compustate-has-var-with-type-p-of-enter-scope
            • Rename
            • Utilities
            • Proof-generation-theorems
            • Input-processing
          • 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
  • Transformation-tools

Variables-in-computation-states

Notions and theorems about variables in the computation states.

Transformations may need facts about certain variables being in the computation state and having values of certain types. Here we introduce a predicate to state that fact, along with some theorems about how execution relates to that predicate.

Subtopics

C::compustate-has-var-with-type-p
Check if a computation state includes a variable with a given name containing a value of the given type.
Exec-compustate-vars-theorems
Theorems about variables in computation states w.r.t. execution.
C::compustate-has-vars-with-types-p
Lift c::compustate-has-var-with-type-p to maps from identifiers to types, pointwise.
C::compustate-has-var-with-type-p-of-exit-exec-enter
Preservation of c::compustate-has-var-with-type-p after entering a new scope, executing a statement, and exiting the scope.
C::compustate-has-vars-with-types-p-of-exit-exec-enter
Preservation of c::compustate-has-vars-with-types-p after entering a new scope, executing a statement, and exiting the scope.
C::compustate-has-vars-with-types-p-of-enter-scope
Preservation of c::compustate-has-vars-with-types-p under c::enter-scope.
C::compustate-has-var-with-type-p-of-enter-scope
Preservation of c::compustate-has-var-with-type-p under c::enter-scope.