fact: Fixpoint fuse_productions (res : list (option (list (Char + T)))) (pats : rproductions_with_actions Char T) : option T := match res, pats with | nil, nil => None | Some pact :: res', pat :: pats' => match fuse_production pact pat with | Some t => Some t | None => fuse_productions res' pats' end | None :: res', pat :: pats' => fuse_productions res' pats' | _::_, nil | nil, _::_ => None end%list.
imports: Coq.Strings.String Fiat.Parsers.GenericBaseTypes Fiat.Parsers.ContextFreeGrammar.Carriers Fiat.Parsers.ContextFreeGrammar.PreNotations