Completeness property for parse-conc-rest.
Theorem:
(defthm pred-conc-rest-necc (implies (pred-conc-rest input) (implies (and (tree-list-match-repetition-p trees (*_ (!_ (/_ (1*_ *c-wsp*) *repetition*))) *grammar*) (tree-list-terminatedp trees) (nat-listp rest-input) (mv-nth 0 (parse-conc-rest-comp rest-input)) (mv-nth 0 (parse-alpha/digit/dash rest-input)) (mv-nth 0 (parse-bit rest-input)) (mv-nth 0 (parse-digit rest-input)) (mv-nth 0 (parse-hexdig rest-input)) (mv-nth 0 (parse-ichar #\. rest-input)) (mv-nth 0 (parse-ichar #\- rest-input)) (equal input (append (tree-list->string trees) rest-input))) (equal (parse-conc-rest (append (tree-list->string trees) rest-input)) (mv nil (tree-list-fix trees) rest-input)))))
Theorem:
(defthm booleanp-of-pred-conc-rest (b* ((bool (pred-conc-rest input))) (booleanp bool)) :rule-classes :type-prescription)