• 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
          • Transformations
          • Language
            • Abstract-syntax
            • Dynamic-semantics
              • Exec
              • Find-fun
              • Init-local
              • Write-vars-values
              • Add-vars-values
              • Add-funs
              • Eoutcome
                • Eoutcome-fix
                • Eoutcome-equiv
                • Make-eoutcome
                • Eoutcome->values
                • Eoutcome->cstate
                • Change-eoutcome
                • Eoutcomep
              • Soutcome
              • Ensure-funscope-disjoint
              • Write-var-value
              • Restrict-vars
              • Add-var-value
              • Funinfo
              • Exec-top-block
              • Values
              • Cstate
              • Funinfo+funenv
              • Read-vars-values
              • Read-var-value
              • Funenv
              • Funscope-for-fundefs
              • Exec-path
              • Path-to-var
              • Funinfo+funenv-result
              • Exec-literal
              • Soutcome-result
              • Mode-set-result
              • Literal-evaluation
              • Funscope-result
              • Funinfo-result
              • Funenv-result
              • Eoutcome-result
              • Cstate-result
              • Paths-to-vars
              • Funinfo-for-fundef
              • Lstate
              • Funscope
              • Mode-set
              • Modes
            • Concrete-syntax
            • Static-soundness
            • Static-semantics
            • Errors
          • Yul-json
        • 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
  • Dynamic-semantics

Eoutcome

Fixtype of expression outcomes.

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

Fields
cstate — cstate
values — value-list

According to [Yul: Specification of Yul: Formal Specification], the execution of an expression results in not only zero of more values, but also possibly updated global and local states. [Yul: Specification of Yul: Formal Specification] does not have an explicit name for this notion, which in our formalization consists of a computation state and a list of values. We call this an expression outcome.

Subtopics

Eoutcome-fix
Fixing function for eoutcome structures.
Eoutcome-equiv
Basic equivalence relation for eoutcome structures.
Make-eoutcome
Basic constructor macro for eoutcome structures.
Eoutcome->values
Get the values field from a eoutcome.
Eoutcome->cstate
Get the cstate field from a eoutcome.
Change-eoutcome
Modifying constructor for eoutcome structures.
Eoutcomep
Recognizer for eoutcome structures.