(vl-pp-vardecl-aux x &key (ps 'ps)) → ps
Function:
(defun vl-pp-vardecl-aux-fn (x ps) (declare (xargs :stobjs (ps))) (declare (xargs :guard (vl-vardecl-p x))) (let ((__function__ 'vl-pp-vardecl-aux)) (declare (ignorable __function__)) (b* (((vl-vardecl x) x)) (vl-ps-seq (vl-progindent) (if (not x.atts) ps (vl-pp-vardecl-atts-begin x.atts)) (vl-ps-span "vl_key" (if x.nettype (vl-ps-seq (vl-print-str (vl-nettypename-string x.nettype)) (vl-print " ")) ps) (if (not x.cstrength) ps (vl-ps-seq (vl-println? (vl-cstrength-string x.cstrength)) (vl-print " "))) (if (not x.vectoredp) ps (vl-println? "vectored ")) (if (not x.scalaredp) ps (vl-println? "scalared "))) (if (and (vl-datatype-case x.type :vl-coretype) (eq (vl-coretype->name x.type) :vl-logic) x.nettype) (vl-ps-seq (if (vl-coretype->signedp x.type) (vl-ps-span "vl_key" (vl-print-str " signed ")) ps) (vl-pp-dimensionlist (vl-coretype->pdims x.type))) (vl-pp-datatype x.type)) (if (not x.delay) ps (vl-ps-seq (vl-print " ") (vl-pp-gatedelay x.delay))) (vl-print " ") (vl-print-wirename x.name) (let ((udims (vl-datatype->udims x.type))) (if (not udims) ps (vl-ps-seq (vl-print " ") (vl-pp-dimensionlist udims)))) (if x.initval (vl-ps-seq (vl-print " = ") (vl-pp-rhs x.initval)) ps)))))
Theorem:
(defthm vl-pp-vardecl-aux-fn-of-vl-vardecl-fix-x (equal (vl-pp-vardecl-aux-fn (vl-vardecl-fix x) ps) (vl-pp-vardecl-aux-fn x ps)))
Theorem:
(defthm vl-pp-vardecl-aux-fn-vl-vardecl-equiv-congruence-on-x (implies (vl-vardecl-equiv x x-equiv) (equal (vl-pp-vardecl-aux-fn x ps) (vl-pp-vardecl-aux-fn x-equiv ps))) :rule-classes :congruence)