(moddb-mod-nwires modidx moddb) → nwires
Function:
(defun moddb-mod-nwires (modidx moddb) (declare (xargs :stobjs (moddb))) (declare (xargs :guard (and (natp modidx) (moddb-basics-ok moddb)))) (declare (xargs :guard (< modidx (moddb->nmods moddb)))) (let ((__function__ 'moddb-mod-nwires)) (declare (ignorable __function__)) (b* (((unless (mbt (< (lnfix modidx) (moddb->nmods moddb)))) 0) ((stobj-get nwires) ((elab-mod (moddb->modsi modidx moddb))) (elab-mod-nwires elab-mod))) nwires)))
Theorem:
(defthm natp-of-moddb-mod-nwires (b* ((nwires (moddb-mod-nwires modidx moddb))) (natp nwires)) :rule-classes :type-prescription)
Theorem:
(defthm moddb-mod-nwires-of-nfix-modidx (equal (moddb-mod-nwires (nfix modidx) moddb) (moddb-mod-nwires modidx moddb)))
Theorem:
(defthm moddb-mod-nwires-nat-equiv-congruence-on-modidx (implies (nat-equiv modidx modidx-equiv) (equal (moddb-mod-nwires modidx moddb) (moddb-mod-nwires modidx-equiv moddb))) :rule-classes :congruence)
Theorem:
(defthm moddb-mod-nwires-of-moddb-fix-moddb (equal (moddb-mod-nwires modidx (moddb-fix moddb)) (moddb-mod-nwires modidx moddb)))
Theorem:
(defthm moddb-mod-nwires-moddb-equiv-congruence-on-moddb (implies (moddb-equiv moddb moddb-equiv) (equal (moddb-mod-nwires modidx moddb) (moddb-mod-nwires modidx moddb-equiv))) :rule-classes :congruence)