(vl-ctxelement->loc x) → loc
Function:
(defun vl-ctxelement->loc (x) (declare (xargs :guard (vl-ctxelement-p x))) (let ((__function__ 'vl-ctxelement->loc)) (declare (ignorable __function__)) (let ((x (vl-ctxelement-fix x))) (case (tag x) (:vl-portdecl (vl-portdecl->loc x)) (:vl-assign (vl-assign->loc x)) (:vl-alias (vl-alias->loc x)) (:vl-vardecl (vl-vardecl->loc x)) (:vl-paramdecl (vl-paramdecl->loc x)) (:vl-fundecl (vl-fundecl->loc x)) (:vl-taskdecl (vl-taskdecl->loc x)) (:vl-modinst (vl-modinst->loc x)) (:vl-gateinst (vl-gateinst->loc x)) (:vl-always (vl-always->loc x)) (:vl-initial (vl-initial->loc x)) (:vl-final (vl-final->loc x)) (:vl-typedef (vl-typedef->loc x)) (:vl-import (vl-import->loc x)) (:vl-fwdtypedef (vl-fwdtypedef->loc x)) (:vl-modport (vl-modport->loc x)) (:vl-interfaceport (vl-interfaceport->loc x)) (:vl-regularport (vl-regularport->loc x)) (:vl-genbase (vl-modelement->loc (vl-genbase->item x))) (:vl-genloop (vl-genloop->loc x)) (:vl-genif (vl-genif->loc x)) (:vl-gencase (vl-gencase->loc x)) (:vl-genbegin (vl-genblock->loc (vl-genbegin->block x))) (:vl-genarray (vl-genarray->loc x)) (:vl-assertion (vl-assertion->loc x)) (:vl-cassertion (vl-cassertion->loc x)) (:vl-property (vl-property->loc x)) (:vl-sequence (vl-sequence->loc x)) (:vl-dpiimport (vl-dpiimport->loc x)) (:vl-dpiexport (vl-dpiexport->loc x)) (:vl-bind (vl-bind->loc x)) (:vl-class (vl-class->loc x)) (:vl-covergroup (vl-covergroup->loc x)) (:vl-elabtask (vl-elabtask->loc x))))))
Theorem:
(defthm vl-location-p-of-vl-ctxelement->loc (b* ((loc (vl-ctxelement->loc x))) (vl-location-p loc)) :rule-classes :rewrite)
Theorem:
(defthm vl-ctxelement->loc-of-vl-ctxelement-fix-x (equal (vl-ctxelement->loc (vl-ctxelement-fix x)) (vl-ctxelement->loc x)))
Theorem:
(defthm vl-ctxelement->loc-vl-ctxelement-equiv-congruence-on-x (implies (vl-ctxelement-equiv x x-equiv) (equal (vl-ctxelement->loc x) (vl-ctxelement->loc x-equiv))) :rule-classes :congruence)