Check if the features indicate the M extension.
Function:
(defun feat-mp (feat) (declare (xargs :guard (featp feat))) (let ((__function__ 'feat-mp)) (declare (ignorable __function__)) (feat->m feat)))
Theorem:
(defthm booleanp-of-feat-mp (b* ((yes/no (feat-mp feat))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm feat-mp-of-feat-fix-feat (equal (feat-mp (feat-fix feat)) (feat-mp feat)))
Theorem:
(defthm feat-mp-feat-equiv-congruence-on-feat (implies (feat-equiv feat feat-equiv) (equal (feat-mp feat) (feat-mp feat-equiv))) :rule-classes :congruence)