(vcd-dump-delta time changes vcd-vals vcd-wiremap p) → p1
Function:
(defun vcd-dump-delta (time changes vcd-vals vcd-wiremap p) (declare (xargs :stobjs (vcd-vals vcd-wiremap))) (declare (xargs :guard (and (natp time) (nat-listp changes) (vl-printedlist-p p)))) (declare (xargs :guard (and (<= (vcdwires-length vcd-wiremap) (4vecs-length vcd-vals)) (or (atom changes) (< (nat-list-max changes) (vcdwires-length vcd-wiremap)))))) (let ((__function__ 'vcd-dump-delta)) (declare (ignorable __function__)) (b* ((p (rlist* p #\# (natstr time) #\Newline)) (p (vcd-dump-delta-aux changes vcd-vals vcd-wiremap p))) (rlist* p #\Newline))))
Theorem:
(defthm vl-printedlist-p-of-vcd-dump-delta (b* ((p1 (vcd-dump-delta time changes vcd-vals vcd-wiremap p))) (vl-printedlist-p p1)) :rule-classes :rewrite)
Theorem:
(defthm vcd-dump-delta-of-nfix-time (equal (vcd-dump-delta (nfix time) changes vcd-vals vcd-wiremap p) (vcd-dump-delta time changes vcd-vals vcd-wiremap p)))
Theorem:
(defthm vcd-dump-delta-nat-equiv-congruence-on-time (implies (nat-equiv time time-equiv) (equal (vcd-dump-delta time changes vcd-vals vcd-wiremap p) (vcd-dump-delta time-equiv changes vcd-vals vcd-wiremap p))) :rule-classes :congruence)
Theorem:
(defthm vcd-dump-delta-of-nat-list-fix-changes (equal (vcd-dump-delta time (acl2::nat-list-fix changes) vcd-vals vcd-wiremap p) (vcd-dump-delta time changes vcd-vals vcd-wiremap p)))
Theorem:
(defthm vcd-dump-delta-nat-list-equiv-congruence-on-changes (implies (acl2::nat-list-equiv changes changes-equiv) (equal (vcd-dump-delta time changes vcd-vals vcd-wiremap p) (vcd-dump-delta time changes-equiv vcd-vals vcd-wiremap p))) :rule-classes :congruence)