• 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
                • Values
                • Dynamic-environments
                  • Call-dinfo
                  • Denv
                  • Update-var/const-dinfo-in-scope-list
                  • Update-var/const-dinfo-in-scope
                  • Var/const-dinfo
                  • Update-var/const-dinfo
                  • Add-var/const-dinfo-to-scope
                  • Add-var/const-dinfo
                  • Var/const-dinfo-option
                  • Get-var/const-dinfo-from-scope-list
                  • Denv-option
                  • Get-var/const-dinfo-from-scope
                  • Vcscope-dinfo-option
                  • Vcscope-dinfo-list-option
                  • Vcscope-dinfo
                  • Screens
                  • Get-var/const-dinfo
                  • Vcscope-dinfo-option-result
                  • Vcscope-dinfo-list-result
                  • Vcscope-dinfo-result
                  • Dynamic-struct-environments
                  • Dynamic-function-environments
                  • Denv-result
                  • Init-denv
                    • Vcscope-dinfo-list
                    • Call-dinfo-list
                  • 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
    • Dynamic-environments

    Init-denv

    Initial dynamic environment.

    Signature
    (init-denv curve) → env
    Arguments
    curve — Guard (curvep curve).
    Returns
    env — Type (denvp env).

    This depends on the prime and the curve, which are passed as parameters to this ACL2 function.

    All the other components of the environment are empty.

    Definitions and Theorems

    Function: init-denv

    (defun init-denv (curve)
      (declare (xargs :guard (curvep curve)))
      (let ((__function__ 'init-denv))
        (declare (ignorable __function__))
        (make-denv :call-stack nil
                   :functions (init-function-denv)
                   :structs (init-struct-denv)
                   :screen (init-screen)
                   :curve curve)))

    Theorem: denvp-of-init-denv

    (defthm denvp-of-init-denv
      (b* ((env (init-denv curve)))
        (denvp env))
      :rule-classes :rewrite)

    Theorem: init-denv-of-curve-fix-curve

    (defthm init-denv-of-curve-fix-curve
      (equal (init-denv (curve-fix curve))
             (init-denv curve)))

    Theorem: init-denv-curve-equiv-congruence-on-curve

    (defthm init-denv-curve-equiv-congruence-on-curve
      (implies (curve-equiv curve curve-equiv)
               (equal (init-denv curve)
                      (init-denv curve-equiv)))
      :rule-classes :congruence)