(aliases-bound-fix aliases) → aliases-fix
Function:
(defun aliases-bound-fix$inline (aliases) (declare (xargs :stobjs (aliases))) (declare (xargs :guard (aliases-normorderedp aliases))) (let ((__function__ 'aliases-bound-fix)) (declare (ignorable __function__)) (mbe :logic (aliases-bound-fix-aux (aliass-length aliases) aliases) :exec (aliases-fix aliases))))
Theorem:
(defthm aliases-normorderedp-of-aliases-bound-fix (b* ((aliases-fix (aliases-bound-fix$inline aliases))) (aliases-normorderedp aliases-fix)) :rule-classes :rewrite)
Theorem:
(defthm nth-of-aliases-bound-fix (equal (nth n (aliases-bound-fix aliases)) (lhs-varbound-fix (nfix n) 0 (nth n aliases))))
Theorem:
(defthm aliases-bound-fix-when-aliases-normorderedp (implies (aliases-normorderedp aliases) (equal (aliases-bound-fix aliases) aliases)))
Theorem:
(defthm aliases-bound-fix$inline-of-lhslist-fix-aliases (equal (aliases-bound-fix$inline (lhslist-fix aliases)) (aliases-bound-fix$inline aliases)))
Theorem:
(defthm aliases-bound-fix$inline-lhslist-equiv-congruence-on-aliases (implies (lhslist-equiv aliases aliases-equiv) (equal (aliases-bound-fix$inline aliases) (aliases-bound-fix$inline aliases-equiv))) :rule-classes :congruence)
Theorem:
(defthm len-of-aliases-bound-fix (equal (len (aliases-bound-fix aliases)) (len aliases)))
Function:
(defun aliases-equiv (x y) (declare (xargs :non-executable t)) (prog2$ (acl2::throw-nonexec-error 'aliases-equiv (list x y)) (equal (aliases-bound-fix x) (aliases-bound-fix y))))
Theorem:
(defthm aliases-equiv-is-an-equivalence (and (booleanp (aliases-equiv x y)) (aliases-equiv x x) (implies (aliases-equiv x y) (aliases-equiv y x)) (implies (and (aliases-equiv x y) (aliases-equiv y z)) (aliases-equiv x z))) :rule-classes (:equivalence))
Theorem:
(defthm aliases-equiv-implies-equal-aliases-bound-fix-1 (implies (aliases-equiv x x-equiv) (equal (aliases-bound-fix x) (aliases-bound-fix x-equiv))) :rule-classes (:congruence))
Theorem:
(defthm aliases-bound-fix-under-aliases-equiv (aliases-equiv (aliases-bound-fix x) x) :rule-classes (:rewrite :rewrite-quoted-constant))
Theorem:
(defthm equal-of-aliases-bound-fix-1-forward-to-aliases-equiv (implies (equal (aliases-bound-fix x) y) (aliases-equiv x y)) :rule-classes :forward-chaining)
Theorem:
(defthm equal-of-aliases-bound-fix-2-forward-to-aliases-equiv (implies (equal x (aliases-bound-fix y)) (aliases-equiv x y)) :rule-classes :forward-chaining)
Theorem:
(defthm aliases-equiv-of-aliases-bound-fix-1-forward (implies (aliases-equiv (aliases-bound-fix x) y) (aliases-equiv x y)) :rule-classes :forward-chaining)
Theorem:
(defthm aliases-equiv-of-aliases-bound-fix-2-forward (implies (aliases-equiv x (aliases-bound-fix y)) (aliases-equiv x y)) :rule-classes :forward-chaining)
Theorem:
(defthm lhslist-equiv-refines-aliases-equiv (implies (lhslist-equiv x y) (aliases-equiv x y)) :rule-classes (:refinement))