(transunit-ensemble-fresh-ident ident
transunits &key (number-prefix '"_")
(number-suffix '""))
→
ident$Function:
(defun transunit-ensemble-fresh-ident-fn (ident transunits number-prefix number-suffix) (declare (xargs :guard (and (identp ident) (transunit-ensemblep transunits) (stringp number-prefix) (stringp number-suffix)))) (fresh-ident ident (transunit-ensemble-collect-idents transunits) :number-prefix number-prefix :number-suffix number-suffix))
Theorem:
(defthm identp-of-transunit-ensemble-fresh-ident (b* ((ident$ (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix))) (identp ident$)) :rule-classes :rewrite)
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-of-ident-fix-ident (equal (transunit-ensemble-fresh-ident-fn (ident-fix ident) transunits number-prefix number-suffix) (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix)))
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-ident-equiv-congruence-on-ident (implies (c$::ident-equiv ident ident-equiv) (equal (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix) (transunit-ensemble-fresh-ident-fn ident-equiv transunits number-prefix number-suffix))) :rule-classes :congruence)
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-of-transunit-ensemble-fix-transunits (equal (transunit-ensemble-fresh-ident-fn ident (c$::transunit-ensemble-fix transunits) number-prefix number-suffix) (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix)))
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-transunit-ensemble-equiv-congruence-on-transunits (implies (c$::transunit-ensemble-equiv transunits transunits-equiv) (equal (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix) (transunit-ensemble-fresh-ident-fn ident transunits-equiv number-prefix number-suffix))) :rule-classes :congruence)
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-of-str-fix-number-prefix (equal (transunit-ensemble-fresh-ident-fn ident transunits (acl2::str-fix number-prefix) number-suffix) (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix)))
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-streqv-congruence-on-number-prefix (implies (acl2::streqv number-prefix number-prefix-equiv) (equal (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix) (transunit-ensemble-fresh-ident-fn ident transunits number-prefix-equiv number-suffix))) :rule-classes :congruence)
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-of-str-fix-number-suffix (equal (transunit-ensemble-fresh-ident-fn ident transunits number-prefix (acl2::str-fix number-suffix)) (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix)))
Theorem:
(defthm transunit-ensemble-fresh-ident-fn-streqv-congruence-on-number-suffix (implies (acl2::streqv number-suffix number-suffix-equiv) (equal (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix) (transunit-ensemble-fresh-ident-fn ident transunits number-prefix number-suffix-equiv))) :rule-classes :congruence)