Like hons-acons, but with proper fty-discipline for svex-alists.
(svex-fastacons var v a) → *
Function:
(defun svex-fastacons$inline (var v a) (declare (xargs :guard (and (svar-p var) (svex-p v) (svex-alist-p a)))) (let ((__function__ 'svex-fastacons)) (declare (ignorable __function__)) (mbe :logic (svex-acons var v a) :exec (hons-acons var v a))))
Theorem:
(defthm svex-fastacons$inline-of-svar-fix-var (equal (svex-fastacons$inline (svar-fix var) v a) (svex-fastacons$inline var v a)))
Theorem:
(defthm svex-fastacons$inline-svar-equiv-congruence-on-var (implies (svar-equiv var var-equiv) (equal (svex-fastacons$inline var v a) (svex-fastacons$inline var-equiv v a))) :rule-classes :congruence)
Theorem:
(defthm svex-fastacons$inline-of-svex-fix-v (equal (svex-fastacons$inline var (svex-fix v) a) (svex-fastacons$inline var v a)))
Theorem:
(defthm svex-fastacons$inline-svex-equiv-congruence-on-v (implies (svex-equiv v v-equiv) (equal (svex-fastacons$inline var v a) (svex-fastacons$inline var v-equiv a))) :rule-classes :congruence)
Theorem:
(defthm svex-fastacons$inline-of-svex-alist-fix-a (equal (svex-fastacons$inline var v (svex-alist-fix a)) (svex-fastacons$inline var v a)))
Theorem:
(defthm svex-fastacons$inline-svex-alist-equiv-congruence-on-a (implies (svex-alist-equiv a a-equiv) (equal (svex-fastacons$inline var v a) (svex-fastacons$inline var v a-equiv))) :rule-classes :congruence)