(elab-mod$a->instname idx elab-mod$a) → name
Function:
(defun elab-mod$a->instname (idx elab-mod$a) (declare (xargs :guard (and (natp idx) (elab-mod$ap elab-mod$a)))) (declare (xargs :guard (< idx (elab-mod$a-ninsts elab-mod$a)))) (let ((__function__ 'elab-mod$a->instname)) (declare (ignorable __function__)) (name-fix (nth *elab-modinst$c->instname* (nth idx (g :insts (elab-mod$a-fix elab-mod$a)))))))
Theorem:
(defthm name-p-of-elab-mod$a->instname (b* ((name (elab-mod$a->instname idx elab-mod$a))) (name-p name)) :rule-classes :rewrite)
Theorem:
(defthm elab-mod$a->instname-of-nfix-idx (equal (elab-mod$a->instname (nfix idx) elab-mod$a) (elab-mod$a->instname idx elab-mod$a)))
Theorem:
(defthm elab-mod$a->instname-nat-equiv-congruence-on-idx (implies (nat-equiv idx idx-equiv) (equal (elab-mod$a->instname idx elab-mod$a) (elab-mod$a->instname idx-equiv elab-mod$a))) :rule-classes :congruence)
Theorem:
(defthm elab-mod$a->instname-of-elab-mod$a-fix-elab-mod$a (equal (elab-mod$a->instname idx (elab-mod$a-fix elab-mod$a)) (elab-mod$a->instname idx elab-mod$a)))
Theorem:
(defthm elab-mod$a->instname-elab-mod$a-equiv-congruence-on-elab-mod$a (implies (elab-mod$a-equiv elab-mod$a elab-mod$a-equiv) (equal (elab-mod$a->instname idx elab-mod$a) (elab-mod$a->instname idx elab-mod$a-equiv))) :rule-classes :congruence)