Sort and remove duplicates from a list of warnings.
(vl-clean-warnings x) → ans
Function:
(defun vl-clean-warnings (x) (declare (xargs :guard (vl-warninglist-p x))) (let ((__function__ 'vl-clean-warnings)) (declare (ignorable __function__)) (acl2::remove-adjacent-duplicates (vl-warning-sort (list-fix (vl-warninglist-fix x))))))
Theorem:
(defthm vl-warninglist-p-of-vl-clean-warnings (b* ((ans (vl-clean-warnings x))) (vl-warninglist-p ans)) :rule-classes :rewrite)
Theorem:
(defthm vl-clearn-warnings-under-iff (iff (vl-clean-warnings x) (consp x)))
Theorem:
(defthm vl-clean-warnings-of-vl-warninglist-fix-x (equal (vl-clean-warnings (vl-warninglist-fix x)) (vl-clean-warnings x)))
Theorem:
(defthm vl-clean-warnings-vl-warninglist-equiv-congruence-on-x (implies (vl-warninglist-equiv x x-equiv) (equal (vl-clean-warnings x) (vl-clean-warnings x-equiv))) :rule-classes :congruence)