Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2021-03-16 19:18 81dabdaf

View on Github →

feat(data/buffer/parser/*): expand parser properties (#6339) Add several new properties to parsers: static err_static step prog bounded unfailing conditionally_unfailing. Most of these properties hold cleanly for existing core parsers, and are provided as classes. This allows nice derivation for any parsers that are made using parser combinators. This PR is towards proving that the nat parser provides the maximal possible natural. Other API lemmas are introduced for string, buffer, char, and array.

Estimated changes

modified theorem parser.any_char_eq_done
added theorem parser.bounded.eof
added theorem parser.bounded.eps
added theorem parser.bounded.exists
added theorem parser.bounded.fix
added theorem parser.bounded.foldl
added theorem parser.bounded.foldr
added theorem parser.bounded.many'
added theorem parser.bounded.many
added theorem parser.bounded.of_done
added theorem parser.bounded.pure
added theorem parser.bounded.str_iff
modified theorem parser.ch_eq_done
modified theorem parser.digit_eq_done
added theorem parser.digit_eq_fail
modified theorem parser.eof_eq_done
modified theorem parser.eps_eq_done
added theorem parser.err_static.fix
added theorem parser.exists_done
modified theorem parser.guard_eq_done
modified theorem parser.many'_eq_done
modified theorem parser.one_of'_eq_done
added theorem parser.prog.eof
added theorem parser.prog.eps
added theorem parser.prog.fix
added theorem parser.prog.fix_core
added theorem parser.prog.guard_true
added theorem parser.prog.pure
added theorem parser.prog.remaining
added theorem parser.prog.str_iff
added theorem parser.sat_eq_fail
added theorem parser.static.any_char
added theorem parser.static.ch
added theorem parser.static.digit
added theorem parser.static.fix
added theorem parser.static.fix_core
added theorem parser.static.iff
added theorem parser.static.nat
added theorem parser.static.sat_iff
added theorem parser.static.str_iff
added theorem parser.step.eof
added theorem parser.step.eps
added theorem parser.step.fix
added theorem parser.step.fix_core
added theorem parser.step.guard_true
added theorem parser.step.pure
added theorem parser.step.remaining
added theorem parser.step.str_iff
added theorem parser.str_eq_char_buf
added theorem parser.str_eq_done
added theorem parser.unfailing.digit
added theorem parser.unfailing.guard
added theorem parser.unfailing.nat
added theorem parser.unfailing.sat