fact: Definition foldOption {A: Type} (f : A -> A -> A) seq := match seq with | [] => None | h :: t => Some (List.fold_left f t h) end.
imports: Coq.Lists.List Coq.Strings.String Coq.Sets.Ensembles Coq.Sorting.Permutation Fiat.Computation.Core Fiat.ADT.ADTSig Fiat.ADT.Core Fiat.Common.Ensembles.IndexedEnsembles Fiat.Common.StringBound Fiat.ADTNotation.BuildADT Fiat.ADTNotation.BuildADTSig Fiat.QueryStructure.Specification.Representation.QueryStructureSchema Fiat.QueryStructure.Specification.Representation.QueryStructure Fiat.QueryStructure.Specification.Operations.FlattenCompList