Collect the names of all functions that occur in a vl-expr-p and return them as a string list.
(vl-expr-funnames x) → ans
Function:
(defun vl-expr-funnames (x) (declare (xargs :guard (vl-expr-p x))) (let ((__function__ 'vl-expr-funnames)) (declare (ignorable __function__)) (vl-atomlist-collect-funnames (vl-expr-atoms x))))
Theorem:
(defthm string-listp-of-vl-expr-funnames (b* ((ans (vl-expr-funnames x))) (string-listp ans)) :rule-classes :rewrite)
Theorem:
(defthm vl-expr-funnames-of-vl-expr-fix-x (equal (vl-expr-funnames (vl-expr-fix x)) (vl-expr-funnames x)))
Theorem:
(defthm vl-expr-funnames-vl-expr-equiv-congruence-on-x (implies (vl-expr-equiv x x-equiv) (equal (vl-expr-funnames x) (vl-expr-funnames x-equiv))) :rule-classes :congruence)