(vl-hidindex->indices-exec x acc) → indices
Function:
(defun vl-hidindex->indices-exec (x acc) (declare (xargs :guard (and (vl-expr-p x) (vl-exprlist-p acc)))) (declare (xargs :guard (vl-hidindex-p x))) (let ((__function__ 'vl-hidindex->indices-exec)) (declare (ignorable __function__)) (b* ((acc (vl-exprlist-fix acc)) ((when (vl-atom-p x)) acc) ((vl-nonatom x) x)) (vl-hidindex->indices-exec (first x.args) (cons (vl-expr-fix (second x.args)) acc)))))
Theorem:
(defthm vl-exprlist-p-of-vl-hidindex->indices-exec (b* ((indices (vl-hidindex->indices-exec x acc))) (vl-exprlist-p indices)) :rule-classes :rewrite)
Theorem:
(defthm vl-hidindex->indices-exec-of-vl-expr-fix-x (equal (vl-hidindex->indices-exec (vl-expr-fix x) acc) (vl-hidindex->indices-exec x acc)))
Theorem:
(defthm vl-hidindex->indices-exec-vl-expr-equiv-congruence-on-x (implies (vl-expr-equiv x x-equiv) (equal (vl-hidindex->indices-exec x acc) (vl-hidindex->indices-exec x-equiv acc))) :rule-classes :congruence)
Theorem:
(defthm vl-hidindex->indices-exec-of-vl-exprlist-fix-acc (equal (vl-hidindex->indices-exec x (vl-exprlist-fix acc)) (vl-hidindex->indices-exec x acc)))
Theorem:
(defthm vl-hidindex->indices-exec-vl-exprlist-equiv-congruence-on-acc (implies (vl-exprlist-equiv acc acc-equiv) (equal (vl-hidindex->indices-exec x acc) (vl-hidindex->indices-exec x acc-equiv))) :rule-classes :congruence)