(vl-keyval-default-lookup x) → ans
Function:
(defun vl-keyval-default-lookup (x) (declare (xargs :guard (vl-keyvallist-p x))) (let ((__function__ 'vl-keyval-default-lookup)) (declare (ignorable __function__)) (b* ((x (vl-keyvallist-fix x)) ((when (atom x)) nil) (key (caar x)) ((when (vl-patternkey-case key :default)) (cdar x))) (vl-keyval-default-lookup (cdr x)))))
Theorem:
(defthm return-type-of-vl-keyval-default-lookup (b* ((ans (vl-keyval-default-lookup x))) (implies ans (vl-expr-p ans))) :rule-classes :rewrite)
Theorem:
(defthm vl-expr-count-of-vl-keyval-default-lookup (b* ((?ans (vl-keyval-default-lookup x))) (implies ans (< (vl-expr-count ans) (vl-keyvallist-count x)))) :rule-classes :linear)
Theorem:
(defthm vl-keyval-default-lookup-of-vl-keyvallist-fix-x (equal (vl-keyval-default-lookup (vl-keyvallist-fix x)) (vl-keyval-default-lookup x)))
Theorem:
(defthm vl-keyval-default-lookup-vl-keyvallist-equiv-congruence-on-x (implies (vl-keyvallist-equiv x x-equiv) (equal (vl-keyval-default-lookup x) (vl-keyval-default-lookup x-equiv))) :rule-classes :congruence)