Executable decoding applied to encoding.
We show that the executable decoding is left inverse of encoding (i.e. that encoding is right inverse of the executable decoding) over valid instructions: encoding a valid instruction and then decoding it yields the original instruction. As a consequence, encoding is injective over valid instructions: if two different instructions were encoded in the same way, the decoder would have to restore both from the same encoding, which is impossible since decoding is a function.