Set the error flag in the state.
Function:
(defun error (stat feat) (declare (xargs :guard (and (statp stat) (featp feat)))) (declare (ignore feat)) (declare (xargs :guard (stat-validp stat feat))) (let ((__function__ 'error)) (declare (ignorable __function__)) (change-stat stat :error t)))
Theorem:
(defthm statp-of-error (b* ((new-stat (error stat feat))) (statp new-stat)) :rule-classes :rewrite)
Theorem:
(defthm stat-validp-of-error (implies (stat-validp stat feat) (b* ((?new-stat (error stat feat))) (stat-validp new-stat feat))))
Theorem:
(defthm error-of-stat-fix-stat (equal (error (stat-fix stat) feat) (error stat feat)))
Theorem:
(defthm error-stat-equiv-congruence-on-stat (implies (stat-equiv stat stat-equiv) (equal (error stat feat) (error stat-equiv feat))) :rule-classes :congruence)
Theorem:
(defthm error-of-feat-fix-feat (equal (error stat (feat-fix feat)) (error stat feat)))
Theorem:
(defthm error-feat-equiv-congruence-on-feat (implies (feat-equiv feat feat-equiv) (equal (error stat feat) (error stat feat-equiv))) :rule-classes :congruence)