(svarlist-collect-delays x) → delayvars
Function:
(defun svarlist-collect-delays (x) (declare (xargs :guard (svarlist-p x))) (let ((__function__ 'svarlist-collect-delays)) (declare (ignorable __function__)) (if (atom x) nil (if (zp (svar->delay (car x))) (svarlist-collect-delays (cdr x)) (cons (svar-fix (car x)) (svarlist-collect-delays (cdr x)))))))
Theorem:
(defthm svarlist-p-of-svarlist-collect-delays (b* ((delayvars (svarlist-collect-delays x))) (svarlist-p delayvars)) :rule-classes :rewrite)
Theorem:
(defthm vars-of-svarlist-collect-delays (b* ((delayvars (svarlist-collect-delays x))) (implies (not (double-rewrite (member v (svarlist-fix x)))) (not (member v delayvars)))) :rule-classes :rewrite)
Theorem:
(defthm svarlist-collect-delays-of-svarlist-fix-x (equal (svarlist-collect-delays (svarlist-fix x)) (svarlist-collect-delays x)))
Theorem:
(defthm svarlist-collect-delays-svarlist-equiv-congruence-on-x (implies (svarlist-equiv x x-equiv) (equal (svarlist-collect-delays x) (svarlist-collect-delays x-equiv))) :rule-classes :congruence)