(vl-function-pair-inputs-with-actuals inputs args) → sigma
Function:
(defun vl-function-pair-inputs-with-actuals (inputs args) (declare (xargs :guard (and (vl-portdecllist-p inputs) (sv::svexlist-p args)))) (declare (xargs :guard (equal (len inputs) (len args)))) (let ((__function__ 'vl-function-pair-inputs-with-actuals)) (declare (ignorable __function__)) (if (atom inputs) nil (cons (cons (sv::make-svar :name (sv::make-address :path (sv::make-path-wire :name (vl-portdecl->name (car inputs))))) (sv::svex-fix (car args))) (vl-function-pair-inputs-with-actuals (cdr inputs) (cdr args))))))
Theorem:
(defthm svex-alist-p-of-vl-function-pair-inputs-with-actuals (b* ((sigma (vl-function-pair-inputs-with-actuals inputs args))) (sv::svex-alist-p sigma)) :rule-classes :rewrite)
Theorem:
(defthm vars-of-vl-function-pair-inputs-with-actuals (b* ((sigma (vl-function-pair-inputs-with-actuals inputs args))) (implies (not (member v (sv::svexlist-vars args))) (not (member v (sv::svex-alist-vars sigma))))) :rule-classes :rewrite)
Theorem:
(defthm vl-function-pair-inputs-with-actuals-of-vl-portdecllist-fix-inputs (equal (vl-function-pair-inputs-with-actuals (vl-portdecllist-fix inputs) args) (vl-function-pair-inputs-with-actuals inputs args)))
Theorem:
(defthm vl-function-pair-inputs-with-actuals-vl-portdecllist-equiv-congruence-on-inputs (implies (vl-portdecllist-equiv inputs inputs-equiv) (equal (vl-function-pair-inputs-with-actuals inputs args) (vl-function-pair-inputs-with-actuals inputs-equiv args))) :rule-classes :congruence)
Theorem:
(defthm vl-function-pair-inputs-with-actuals-of-svexlist-fix-args (equal (vl-function-pair-inputs-with-actuals inputs (sv::svexlist-fix args)) (vl-function-pair-inputs-with-actuals inputs args)))
Theorem:
(defthm vl-function-pair-inputs-with-actuals-svexlist-equiv-congruence-on-args (implies (sv::svexlist-equiv args args-equiv) (equal (vl-function-pair-inputs-with-actuals inputs args) (vl-function-pair-inputs-with-actuals inputs args-equiv))) :rule-classes :congruence)