Encode the name of
a non-shift instruction with the
(encode-op-imm-32-funct funct) → funct3
Function:
(defun encode-op-imm-32-funct (funct) (declare (xargs :guard (op-imm-32-funct-p funct))) (let ((__function__ 'encode-op-imm-32-funct)) (declare (ignorable __function__)) (op-imm-32-funct-case funct :addiw 0)))
Theorem:
(defthm ubyte3p-of-encode-op-imm-32-funct (b* ((funct3 (encode-op-imm-32-funct funct))) (ubyte3p funct3)) :rule-classes :rewrite)
Theorem:
(defthm encode-op-imm-32-funct-of-op-imm-32-funct-fix-funct (equal (encode-op-imm-32-funct (op-imm-32-funct-fix funct)) (encode-op-imm-32-funct funct)))
Theorem:
(defthm encode-op-imm-32-funct-op-imm-32-funct-equiv-congruence-on-funct (implies (op-imm-32-funct-equiv funct funct-equiv) (equal (encode-op-imm-32-funct funct) (encode-op-imm-32-funct funct-equiv))) :rule-classes :congruence)