(vl-hidtrace-add-to-path x path) → new-path
Function:
(defun vl-hidtrace-add-to-path (x path) (declare (xargs :guard (and (vl-hidtrace-p x) (sv::path-p path)))) (declare (xargs :guard (vl-hidtrace-resolved-p x))) (let ((__function__ 'vl-hidtrace-add-to-path)) (declare (ignorable __function__)) (if (atom x) (sv::path-fix path) (vl-hidtrace-add-to-path (cdr x) (b* ((idx (vl-hidstep->svex-index (car x))) (idxpath (if idx (sv::make-path-scope :namespace idx :subpath path) path))) (sv::make-path-scope :namespace (vl-hidstep->name (car x)) :subpath idxpath))))))
Theorem:
(defthm path-p-of-vl-hidtrace-add-to-path (b* ((new-path (vl-hidtrace-add-to-path x path))) (sv::path-p new-path)) :rule-classes :rewrite)
Theorem:
(defthm vl-hidtrace-add-to-path-of-vl-hidtrace-fix-x (equal (vl-hidtrace-add-to-path (vl-hidtrace-fix x) path) (vl-hidtrace-add-to-path x path)))
Theorem:
(defthm vl-hidtrace-add-to-path-vl-hidtrace-equiv-congruence-on-x (implies (vl-hidtrace-equiv x x-equiv) (equal (vl-hidtrace-add-to-path x path) (vl-hidtrace-add-to-path x-equiv path))) :rule-classes :congruence)
Theorem:
(defthm vl-hidtrace-add-to-path-of-path-fix-path (equal (vl-hidtrace-add-to-path x (sv::path-fix path)) (vl-hidtrace-add-to-path x path)))
Theorem:
(defthm vl-hidtrace-add-to-path-path-equiv-congruence-on-path (implies (sv::path-equiv path path-equiv) (equal (vl-hidtrace-add-to-path x path) (vl-hidtrace-add-to-path x path-equiv))) :rule-classes :congruence)