• 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
        • Specification
        • Executable
        • Specialized
        • Optimized
          • State-stobj
            • Stat1
            • Stat1-iso
            • Write1-mem64{0}
            • Stat1-from-stat
            • Read1-mem64{0}
            • Write1-mem32{0}
            • Stat1-validp{1}
            • Stat1-validp{0}
            • Stat-from-stat1
            • Write1-mem16{0}
            • Read1-mem32{0}
            • Write1-xreg{0}
            • Write1-mem8{0}
            • Read1-xreg-unsigned{0}
            • Read1-xreg-unsigned32{0}
            • Read1-xreg-signed32{0}
            • Read1-mem16{0}
            • Read1-instruction{0}
            • Write1-xreg-32{0}
            • Read1-xreg-signed{0}
            • Write1-pc{0}
            • Read1-mem8{0}
            • Make-stat1
            • Inc41-pc{0}
            • Error1{0}
            • Read1-pc{0}
            • Errorp1{0}
            • Stat1->memory
      • Ethereum
      • Taspi
      • Bitcoin
      • Zcash
      • Des
      • X86isa
      • Sha-2
      • Yul
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Aleo
      • 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
  • Optimized

State-stobj

Refinement of the state to a stobj.

We refine the type stat of states to a stobj straightforwardly derived from the definition of stat. This is not the most efficient refinement of the states, but it is a simple one to explore at the beginning; we will explore more complex and efficient stobjs later.

We introduce the stobj, and we define an isomorphism between the stobj type and the stat type. Then we refine the rest of the model to use the stobj representation; this is work in progress.

Subtopics

Stat1
State stobj.
Stat1-iso
Isomorphism between stat and stat1.
Write1-mem64{0}
Refine write-mem64 to use the stobj states.
Stat1-from-stat
Turn a stat value into a stat1 value.
Read1-mem64{0}
Refine read-mem64 to use the stobj states.
Write1-mem32{0}
Refine write-mem32 to use the stobj states.
Stat1-validp{1}
Simplify stat1-validp{0} after the isomorphic state transformation.
Stat1-validp{0}
Refine stat-validp to use the stobj states.
Stat-from-stat1
Turn a stat1 value into a stat value.
Write1-mem16{0}
Refine write-mem16 to use the stobj states.
Read1-mem32{0}
Refine read-mem32 to use the stobj states.
Write1-xreg{0}
Refine write-xreg to use the stobj states.
Write1-mem8{0}
Refine write-mem8 to use the stobj states.
Read1-xreg-unsigned{0}
Refine read-xreg-unsigned to use the stobj states.
Read1-xreg-unsigned32{0}
Refine read-xreg-unsigned32 to use the stobj states.
Read1-xreg-signed32{0}
Refine read-xreg-signed32 to use the stobj states.
Read1-mem16{0}
Refine read-mem16 to use the stobj states.
Read1-instruction{0}
Refine read-instr to use the stobj states.
Write1-xreg-32{0}
Refine write-xreg-32 to use the stobj states.
Read1-xreg-signed{0}
Refine read-xreg-signed to use the stobj states.
Write1-pc{0}
Refine write-pc to use the stobj states.
Read1-mem8{0}
Refine read-mem8 to use the stobj states.
Make-stat1
Inc41-pc{0}
Refine inc4-pc to use the stobj states.
Error1{0}
Refine error to use the stobj states.
Read1-pc{0}
Refine read-pc to use the stobj states.
Errorp1{0}
Refine errorp to use the stobj states.
Stat1->memory