fact: Definition simple_parse_of_item_correct_step (str : String) (it : item Char) (t : simple_parse_of_item) : Prop := match t with | SimpleParseTerminal ch => match it with | Terminal P => is_true (P ch && (str ~= [ ch ])%string_like)%bool | NonTerminal _ => False end | SimpleParseNonTerminal nt x => match it with | Terminal _ => False | NonTerminal nt' => nt = nt' /\ List.In nt (Valid_nonterminals G) /\ simple_parse_of_correct str (Lookup G nt) x end end.
imports: Coq.Lists.List Fiat.Parsers.ContextFreeGrammar.Core