Returns a symbol representing the operation that's being done at the top level.
Function:
(defun vl-expr-precedence (x) (declare (xargs :guard (vl-expr-p x))) (let ((__function__ 'vl-expr-precedence)) (declare (ignorable __function__)) (vl-expr-case x :vl-unary 150 :vl-binary (vl-binaryop-precedence x.op) :vl-qmark 30 :otherwise 200)))
Theorem:
(defthm posp-of-vl-expr-precedence (b* ((precedence (vl-expr-precedence x))) (posp precedence)) :rule-classes :type-prescription)
Theorem:
(defthm vl-expr-precedence-of-vl-expr-fix-x (equal (vl-expr-precedence (vl-expr-fix x)) (vl-expr-precedence x)))
Theorem:
(defthm vl-expr-precedence-vl-expr-equiv-congruence-on-x (implies (vl-expr-equiv x x-equiv) (equal (vl-expr-precedence x) (vl-expr-precedence x-equiv))) :rule-classes :congruence)