proposition: Lemma fold_nt_step_ext {x0 x0' f g} (ext : forall y p b b', f y p b b' = g y p b b') b b' : @fold_nt_step x0 f x0' b b' = @fold_nt_step x0 g x0' b b'.
proof: Proof. unfold fold_nt_step. repeat match goal with | [ |- context[match ?x with _ => _ end] ] => destruct x eqn:? | _ => reflexivity end. apply fold_productions'_ext; eauto. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Lists.List Coq.ZArith.ZArith Fiat.Parsers.ContextFreeGrammar.Carriers Fiat.Parsers.ContextFreeGrammar.PreNotations Fiat.Parsers.ContextFreeGrammar.Core Fiat.Parsers.BaseTypes Fiat.Parsers.BaseTypesLemmas Fiat.Parsers.Splitters.RDPList Fiat.Parsers.ContextFreeGrammar.Precompute Fiat.Common Fiat.Common.List.Operations Fiat.Common.Equality Fiat.Common.OptionFacts