All the IMAP grammar rules, including the referenced ABNF core rules.
These are obtained by plugging the core rules into the IMAP rules.
The resulting rules are well-formed and closed.
We keep this constant unexpanded in output.
Definition:
(defconst *all-imap-grammar-rules* (plug-rules *imap-grammar-rules* *core-rules*))
Function:
(defun untranslate-preprocess-*all-imap-grammar-rules* (acl2::term acl2::wrld) (if (equal acl2::term (list 'quote *all-imap-grammar-rules*)) '*all-imap-grammar-rules* (untranslate-preprocess-*imap-grammar-rules* acl2::term acl2::wrld)))
Theorem:
(defthm rulelist-wfp-of-*all-imap-grammar-rules* (rulelist-wfp *all-imap-grammar-rules*))
Theorem:
(defthm rulelist-closedp-of-*all-imap-grammar-rules* (rulelist-closedp *all-imap-grammar-rules*))
Theorem:
(defthm abnf-core-rules-in-*all-imap-grammar-rules* (implies (member-equal core-rule *core-rules*) (iff (member-equal core-rule *all-imap-grammar-rules*) (member-equal core-rule (list *rule_alpha* *rule_cr* *rule_crlf* *rule_ctl* *rule_digit* *rule_dquote* *rule_lf* *rule_sp*)))) :rule-classes nil)