Look up a macro in a macro table.
(macro-lookup name table) → info?
We return
Function:
(defun macro-lookup (name table) (declare (xargs :guard (and (identp name) (macro-tablep table)))) (cdr (assoc-equal (ident-fix name) (macro-table->alist table))))
Theorem:
(defthm macro-info-optionp-of-macro-lookup (b* ((info? (macro-lookup name table))) (macro-info-optionp info?)) :rule-classes :rewrite)
Theorem:
(defthm macro-lookup-of-ident-fix-name (equal (macro-lookup (ident-fix name) table) (macro-lookup name table)))
Theorem:
(defthm macro-lookup-ident-equiv-congruence-on-name (implies (ident-equiv name name-equiv) (equal (macro-lookup name table) (macro-lookup name-equiv table))) :rule-classes :congruence)
Theorem:
(defthm macro-lookup-of-macro-table-fix-table (equal (macro-lookup name (macro-table-fix table)) (macro-lookup name table)))
Theorem:
(defthm macro-lookup-macro-table-equiv-congruence-on-table (implies (macro-table-equiv table table-equiv) (equal (macro-lookup name table) (macro-lookup name table-equiv))) :rule-classes :congruence)