(a4veclist-eval-gl x env) → res
Function:
(defun a4veclist-eval-gl (x env) (declare (xargs :guard (a4veclist-p x))) (let ((__function__ 'a4veclist-eval-gl)) (declare (ignorable __function__)) (b* ((aiglist (time$ (a4veclist->aiglist x) :msg "; SV bit-blasting: a4veclist->aiglist: ~st sec, ~sa bytes.~%")) (bitlist (time$ (aig-eval-list aiglist env) :msg "; SV bit-blasting: aig-eval-list: ~st sec, ~sa bytes.~%"))) (time$ (4veclist-from-bitlist x bitlist) :msg "; bits->4vecs: ~st sec, ~sa bytes.~%"))))
Theorem:
(defthm 4veclist-p-of-a4veclist-eval-gl (b* ((res (a4veclist-eval-gl x env))) (4veclist-p res)) :rule-classes :rewrite)
Theorem:
(defthm a4veclist-eval-gl-correct (equal (a4veclist-eval-gl x env) (a4veclist-eval x env)))
Theorem:
(defthm a4veclist-eval-redef (equal (a4veclist-eval x env) (a4veclist-eval-gl x env)))
Theorem:
(defthm a4veclist-eval-gl-of-a4veclist-fix-x (equal (a4veclist-eval-gl (a4veclist-fix x) env) (a4veclist-eval-gl x env)))
Theorem:
(defthm a4veclist-eval-gl-a4veclist-equiv-congruence-on-x (implies (a4veclist-equiv x x-equiv) (equal (a4veclist-eval-gl x env) (a4veclist-eval-gl x-equiv env))) :rule-classes :congruence)