(vl-fundecl-paramdecls-for-const-args x constargs) → params
Function:
(defun vl-fundecl-paramdecls-for-const-args (x constargs) (declare (xargs :guard (and (vl-portdecllist-p x) (sv::maybe-4veclist-p constargs)))) (let ((__function__ 'vl-fundecl-paramdecls-for-const-args)) (declare (ignorable __function__)) (b* (((when (atom x)) nil) ((unless (consp constargs)) nil) ((unless (car constargs)) (vl-fundecl-paramdecls-for-const-args (cdr x) (cdr constargs))) ((vl-portdecl x1) (car x))) (cons (make-vl-paramdecl :name x1.name :type (make-vl-explicitvalueparam :type x1.type :default (make-vl-literal :val (vl-4vec-to-value (car constargs) (+ 1 (max (integer-length (sv::4vec->upper (car constargs))) (integer-length (sv::4vec->lower (car constargs))))))) :final-value (car constargs)) :loc *vl-fakeloc* :localp t) (vl-fundecl-paramdecls-for-const-args (cdr x) (cdr constargs))))))
Theorem:
(defthm vl-paramdecllist-p-of-vl-fundecl-paramdecls-for-const-args (b* ((params (vl-fundecl-paramdecls-for-const-args x constargs))) (vl-paramdecllist-p params)) :rule-classes :rewrite)
Theorem:
(defthm vl-fundecl-paramdecls-for-const-args-of-vl-portdecllist-fix-x (equal (vl-fundecl-paramdecls-for-const-args (vl-portdecllist-fix x) constargs) (vl-fundecl-paramdecls-for-const-args x constargs)))
Theorem:
(defthm vl-fundecl-paramdecls-for-const-args-vl-portdecllist-equiv-congruence-on-x (implies (vl-portdecllist-equiv x x-equiv) (equal (vl-fundecl-paramdecls-for-const-args x constargs) (vl-fundecl-paramdecls-for-const-args x-equiv constargs))) :rule-classes :congruence)
Theorem:
(defthm vl-fundecl-paramdecls-for-const-args-of-maybe-4veclist-fix-constargs (equal (vl-fundecl-paramdecls-for-const-args x (sv::maybe-4veclist-fix constargs)) (vl-fundecl-paramdecls-for-const-args x constargs)))
Theorem:
(defthm vl-fundecl-paramdecls-for-const-args-maybe-4veclist-equiv-congruence-on-constargs (implies (sv::maybe-4veclist-equiv constargs constargs-equiv) (equal (vl-fundecl-paramdecls-for-const-args x constargs) (vl-fundecl-paramdecls-for-const-args x constargs-equiv))) :rule-classes :congruence)