proposition: Lemma productions_rvalid_correct {pats} : is_true (productions_rvalid pats) <-> productions_valid pats.
proof: Proof. unfold productions_rvalid, productions_valid. induction pats; t ltac:(idtac; match goal with | [ |- production_valid _ ] => apply production_rvalid_correct | [ H : production_valid _ |- _ ] => apply production_rvalid_correct in H end). Qed.
imports: Coq.Strings.String Coq.Lists.List Coq.Arith.PeanoNat Fiat.Parsers.StringLike.Core Fiat.Parsers.BaseTypes Fiat.Parsers.Splitters.RDPList Fiat.Parsers.ContextFreeGrammar.Core Fiat.Parsers.ContextFreeGrammar.PreNotations Fiat.Parsers.ContextFreeGrammar.Valid