(vl-cblocks-synth x vars delta) → (mv delta cvtregs)
Function:
(defun vl-cblocks-synth (x vars delta) (declare (xargs :guard (and (vl-alwayslist-p x) (vl-vardecllist-p vars) (vl-delta-p delta)))) (let ((__function__ 'vl-cblocks-synth)) (declare (ignorable __function__)) (b* (((when (atom x)) (mv delta nil)) ((mv delta cvtregs1) (vl-cblock-synth (car x) vars delta)) ((mv delta cvtregs2) (vl-cblocks-synth (cdr x) vars delta))) (mv delta (append cvtregs1 cvtregs2)))))
Theorem:
(defthm vl-delta-p-of-vl-cblocks-synth.delta (implies (and (force (vl-alwayslist-p x)) (force (vl-vardecllist-p vars)) (force (vl-delta-p delta))) (b* (((mv ?delta ?cvtregs) (vl-cblocks-synth x vars delta))) (vl-delta-p delta))) :rule-classes :rewrite)
Theorem:
(defthm string-listp-of-vl-cblocks-synth.cvtregs (b* (((mv ?delta ?cvtregs) (vl-cblocks-synth x vars delta))) (string-listp cvtregs)) :rule-classes :rewrite)