proposition: Lemma fold_production'_extR {f g} (ext : forall b, R (f b) (g b)) b : R (fold_production' f b) (fold_production' g b).
proof: Proof. unfold fold_production'. induction b as [ | x ]; try reflexivity; simpl. apply combine_production_Proper; [ apply (fold_item'_extR ext) | apply IHb ]. Defined.
imports: Coq.Sets.Ensembles Coq.Classes.Morphisms Fiat.Parsers.ContextFreeGrammar.PreNotations Fiat.Parsers.ContextFreeGrammar.Carriers Fiat.Parsers.ContextFreeGrammar.Core Fiat.Parsers.ContextFreeGrammar.Precompute Fiat.Parsers.BaseTypes Fiat.Parsers.Splitters.RDPList Fiat.Parsers.ContextFreeGrammar.Fix.Definitions Fiat.Common.List.ListMorphisms