• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Pfcs
      • Wp-gen
      • Dimacs-reader
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Riscv
        • Specification
        • Executable
          • Decoding-left-inverse
          • Decoding-executable
          • Decoding-right-inverse
            • Decodex-injective
            • Encode-of-decodex
          • Execution-executable
          • Decoding-correct
        • Specialized
      • 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
      • Bigmems
      • Builtins
      • Execloader
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Community
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Executable

Decoding-right-inverse

Encoding applied to the executable decoding.

We show that the executable decoding is right inverse of encoding (i.e. that encoding is left inverse of the executable decoding) over valid encodings, i.e. over encodings of valid instructions: if decoding yields an instruction (which we know to be valid as proved in decodex), then applying the encoding to the instruction yields the original encoding. As a consequence, decoding is injective over valid encodings: if two different encodings were decoded in the same way, the encoder would have to restore both from the same instruction, which is impossible since encoding is a function.

Subtopics

Decodex-injective
Injectivity of decoding.
Encode-of-decodex
Encoding the decoding of a valid encoding yields the original encoding.