This is a universal equivalence, introduced using def-universal-equiv.
Function:
(defun svex-env-keys-equiv (x y) (and (set-equiv (alist-keys (svex-env-fix x)) (alist-keys (svex-env-fix y)))))
Function:
(defun svex-env-keys-equiv (x y) (and (set-equiv (alist-keys (svex-env-fix x)) (alist-keys (svex-env-fix y)))))
Theorem:
(defthm svex-env-keys-equiv-is-an-equivalence (and (booleanp (svex-env-keys-equiv x y)) (svex-env-keys-equiv x x) (implies (svex-env-keys-equiv x y) (svex-env-keys-equiv y x)) (implies (and (svex-env-keys-equiv x y) (svex-env-keys-equiv y z)) (svex-env-keys-equiv x z))) :rule-classes (:equivalence))