Fallback names in case our preferred names aren't available. Only called if there is a name conflict that prevents us from using good names.
(vl-bad-replicate-names n basename nf) → (mv names nf)
Function:
(defun vl-bad-replicate-names (n basename nf) (declare (xargs :guard (and (natp n) (stringp basename) (vl-namefactory-p nf)))) (let ((__function__ 'vl-bad-replicate-names)) (declare (ignorable __function__)) (b* (((when (zp n)) (mv nil (vl-namefactory-fix nf))) ((mv name nf) (vl-namefactory-indexed-name basename nf)) ((mv others nf) (vl-bad-replicate-names (- n 1) basename nf))) (mv (cons name others) nf))))
Theorem:
(defthm string-listp-of-vl-bad-replicate-names.names (b* (((mv ?names ?nf) (vl-bad-replicate-names n basename nf))) (string-listp names)) :rule-classes :rewrite)
Theorem:
(defthm vl-namefactory-p-of-vl-bad-replicate-names.nf (b* (((mv ?names ?nf) (vl-bad-replicate-names n basename nf))) (vl-namefactory-p nf)) :rule-classes :rewrite)
Theorem:
(defthm len-of-vl-bad-replicate-names (equal (len (mv-nth 0 (vl-bad-replicate-names n basename nf))) (nfix n)))
Theorem:
(defthm vl-bad-replicate-names-of-nfix-n (equal (vl-bad-replicate-names (nfix n) basename nf) (vl-bad-replicate-names n basename nf)))
Theorem:
(defthm vl-bad-replicate-names-nat-equiv-congruence-on-n (implies (acl2::nat-equiv n n-equiv) (equal (vl-bad-replicate-names n basename nf) (vl-bad-replicate-names n-equiv basename nf))) :rule-classes :congruence)
Theorem:
(defthm vl-bad-replicate-names-of-str-fix-basename (equal (vl-bad-replicate-names n (str-fix basename) nf) (vl-bad-replicate-names n basename nf)))
Theorem:
(defthm vl-bad-replicate-names-streqv-congruence-on-basename (implies (streqv basename basename-equiv) (equal (vl-bad-replicate-names n basename nf) (vl-bad-replicate-names n basename-equiv nf))) :rule-classes :congruence)
Theorem:
(defthm vl-bad-replicate-names-of-vl-namefactory-fix-nf (equal (vl-bad-replicate-names n basename (vl-namefactory-fix nf)) (vl-bad-replicate-names n basename nf)))
Theorem:
(defthm vl-bad-replicate-names-vl-namefactory-equiv-congruence-on-nf (implies (vl-namefactory-equiv nf nf-equiv) (equal (vl-bad-replicate-names n basename nf) (vl-bad-replicate-names n basename nf-equiv))) :rule-classes :congruence)