(vl-oddinfo-details n x &key (ps 'ps)) → ps
Function:
(defun vl-oddinfo-details-fn (n x ps) (declare (xargs :stobjs (ps))) (declare (xargs :guard (and (natp n) (vl-oddinfo-p x)))) (let ((__function__ 'vl-oddinfo-details)) (declare (ignorable __function__)) (b* (((vl-oddinfo x))) (vl-ps-seq (vl-cw "[Issue #~x0] ~s1. Expression:~%" (lnfix n) (if (eq x.type :check-type) "(flagged based on widths)" "(flagged based on operators)")) (vl-ps-update-copious-parens nil) (vl-indent 4) (vl-pp-expr x.subexpr) (vl-cw "~|Will be parsed as:~%") (vl-ps-update-copious-parens t) (vl-indent 4) (vl-pp-expr x.subexpr) (if (eq x.type :check-type) (vl-ps-seq (vl-cw "~|Self-width ~x0 for ~a1.~%" x.swidth x.simple) (vl-cw "~|Self-width ~x0 for ~a1.~%" x.cwidth x.complex)) ps) (vl-cw "~%")))))
Theorem:
(defthm vl-oddinfo-details-fn-of-nfix-n (equal (vl-oddinfo-details-fn (nfix n) x ps) (vl-oddinfo-details-fn n x ps)))
Theorem:
(defthm vl-oddinfo-details-fn-nat-equiv-congruence-on-n (implies (acl2::nat-equiv n n-equiv) (equal (vl-oddinfo-details-fn n x ps) (vl-oddinfo-details-fn n-equiv x ps))) :rule-classes :congruence)
Theorem:
(defthm vl-oddinfo-details-fn-of-vl-oddinfo-fix-x (equal (vl-oddinfo-details-fn n (vl-oddinfo-fix x) ps) (vl-oddinfo-details-fn n x ps)))
Theorem:
(defthm vl-oddinfo-details-fn-vl-oddinfo-equiv-congruence-on-x (implies (vl-oddinfo-equiv x x-equiv) (equal (vl-oddinfo-details-fn n x ps) (vl-oddinfo-details-fn n x-equiv ps))) :rule-classes :congruence)