• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Riscv
      • Taspi
      • Bitcoin
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Aleo
        • Aleobft
        • Aleovm
        • Leo
          • Grammar
          • Early-version
            • Json2ast
            • Testing
            • Definition
              • Flattening
              • Abstract-syntax
              • Dynamic-semantics
                • Execution
                  • Exec-expressions/statements
                  • Init-for-loop
                  • Exec-file-main
                  • Update-variable-value-in-scope-list
                  • Step-for-loop
                  • Update-variable-value-in-scope
                  • Expr-value-to-value
                  • Exec-binary
                  • Exec-expression
                  • Init-vcscope-dinfo-call
                  • Value?+denv
                    • Value?+denv-fix
                    • Value?+denv-equiv
                    • Make-value?+denv
                    • Value?+denv->value?
                    • Value?+denv->denv
                    • Change-value?+denv
                    • Value?+denv-p
                  • Exec-statement
                  • End-of-for-loop-p
                  • Expr-value
                  • Evalue+denv
                  • Write-location
                  • Read-location
                  • Exec-for-loop-iterations
                  • Update-variable-value
                  • Exec-unary
                  • Values+denv
                  • Init-vcscope-dinfo-loop
                  • Extend-denv-with-structdecl
                  • Exec-var/const
                  • Valuemap+denv
                  • Namevalue+denv
                  • Extend-denv-with-fundecl
                  • Ensure-boolean
                  • Int+denv
                  • Push-vcscope-dinfo
                  • Extend-denv-with-topdecl-list
                  • Exec-literal
                  • Build-denv-from-file
                  • Namevalue+denv-result
                  • Extend-denv-with-topdecl
                  • Evalue+denv-result
                  • Value?+denv-result
                  • Values+denv-result
                  • Valuemap+denv-result
                  • Int+denv-result
                  • Push-call-dinfo
                  • Exec-print
                  • Pop-vcscope-dinfo
                  • Exec-if
                  • Exec-function
                  • Pop-call-dinfo
                  • Exec-statement-list
                  • Exec-block
                  • Exec-struct-init-list
                  • Exec-struct-init
                  • Exec-expression-list
                • Values
                • Dynamic-environments
                • Arithmetic-operations
                • Curve-parameterization
                • Shift-operations
                • Errors
                • Value-expressions
                • Locations
                • Input-execution
                • Edwards-bls12-generator
                • Equality-operations
                • Logical-operations
                • Program-execution
                • Ordering-operations
                • Bitwise-operations
                • Literal-evaluation
                • Type-maps-for-struct-components
                • Output-execution
                • Tuple-operations
                • Struct-operations
              • Compilation
              • Static-semantics
              • Concrete-syntax
      • Bigmems
      • Builtins
      • Execloader
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Execution

Value?+denv

Fixtype of pairs consisting of an optional value and a dynamic environment.

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

Fields
value? — value-option
denv — denv

In general, the execution of a statement may return a value (or not), and may affect the dynamic environment, by introducing new variables and constants and by modifying the content of existing variables. This fixtype captures these possible outcomes.

This fixtype is a dynamic counterpart of types+senv, which is used in type checking. In types+senv, the set of optional types describes many possible optional return values, which in this value?+denv fixtype we have just one.

Subtopics

Value?+denv-fix
Fixing function for value?+denv structures.
Value?+denv-equiv
Basic equivalence relation for value?+denv structures.
Make-value?+denv
Basic constructor macro for value?+denv structures.
Value?+denv->value?
Get the value? field from a value?+denv.
Value?+denv->denv
Get the denv field from a value?+denv.
Change-value?+denv
Modifying constructor for value?+denv structures.
Value?+denv-p
Recognizer for value?+denv structures.