Injectivity of encoding.
Different valid instructions are encoded differently. This is a direct consequence of decode-of-encode: if two different instructions were encoded in the same way, the decoder would be unable to restore both at the same time.
Theorem:
(defthm encode-injective (implies (and (instr-validp instr1 feat) (instr-validp instr2 feat)) (equal (equal (encode instr1 feat) (encode instr2 feat)) (equal (instr-fix instr1) (instr-fix instr2)))))