(vl-genelement->loc x) → loc
Function:
(defun vl-genelement->loc (x) (declare (xargs :guard (vl-genelement-p x))) (let ((__function__ 'vl-genelement->loc)) (declare (ignorable __function__)) (vl-genelement-case x (:vl-genbase (vl-modelement->loc x.item)) (:vl-genbegin (vl-genblock->loc x.block)) (:vl-genloop x.loc) (:vl-genif x.loc) (:vl-gencase x.loc) (:vl-genarray x.loc))))
Theorem:
(defthm vl-location-p-of-vl-genelement->loc (b* ((loc (vl-genelement->loc x))) (vl-location-p loc)) :rule-classes :rewrite)
Theorem:
(defthm vl-genelement->loc-of-vl-genelement-fix-x (equal (vl-genelement->loc (vl-genelement-fix x)) (vl-genelement->loc x)))
Theorem:
(defthm vl-genelement->loc-vl-genelement-equiv-congruence-on-x (implies (vl-genelement-equiv x x-equiv) (equal (vl-genelement->loc x) (vl-genelement->loc x-equiv))) :rule-classes :congruence)