Variable renaming relation over expression outcome results.
(eoutcome-result-renamevarp old new ren) → yes/no
Either they are both (possibly different) errors, or they are related expression outcomes.
Function:
(defun eoutcome-result-renamevarp (old new ren) (declare (xargs :guard (and (eoutcome-resultp old) (eoutcome-resultp new) (renamingp ren)))) (let ((__function__ 'eoutcome-result-renamevarp)) (declare (ignorable __function__)) (b* ((old (eoutcome-result-fix old)) (new (eoutcome-result-fix new))) (or (and (reserrp old) (reserrp new)) (and (not (reserrp old)) (not (reserrp new)) (eoutcome-renamevarp old new ren))))))
Theorem:
(defthm booleanp-of-eoutcome-result-renamevarp (b* ((yes/no (eoutcome-result-renamevarp old new ren))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm eoutcome-result-renamevarp-of-eoutcome-result-fix-old (equal (eoutcome-result-renamevarp (eoutcome-result-fix old) new ren) (eoutcome-result-renamevarp old new ren)))
Theorem:
(defthm eoutcome-result-renamevarp-eoutcome-result-equiv-congruence-on-old (implies (eoutcome-result-equiv old old-equiv) (equal (eoutcome-result-renamevarp old new ren) (eoutcome-result-renamevarp old-equiv new ren))) :rule-classes :congruence)
Theorem:
(defthm eoutcome-result-renamevarp-of-eoutcome-result-fix-new (equal (eoutcome-result-renamevarp old (eoutcome-result-fix new) ren) (eoutcome-result-renamevarp old new ren)))
Theorem:
(defthm eoutcome-result-renamevarp-eoutcome-result-equiv-congruence-on-new (implies (eoutcome-result-equiv new new-equiv) (equal (eoutcome-result-renamevarp old new ren) (eoutcome-result-renamevarp old new-equiv ren))) :rule-classes :congruence)
Theorem:
(defthm eoutcome-result-renamevarp-of-renaming-fix-ren (equal (eoutcome-result-renamevarp old new (renaming-fix ren)) (eoutcome-result-renamevarp old new ren)))
Theorem:
(defthm eoutcome-result-renamevarp-renaming-equiv-congruence-on-ren (implies (renaming-equiv ren ren-equiv) (equal (eoutcome-result-renamevarp old new ren) (eoutcome-result-renamevarp old new ren-equiv))) :rule-classes :congruence)