fact: Fixpoint MergeOccurence {n} (qsSchema : Vector.t RawHeading n) (AttrCount1 AttrCount2 : OccurenceCountT qsSchema) {struct qsSchema} : OccurenceCountT qsSchema := match qsSchema return forall (AttrCount1 AttrCount2 : OccurenceCountT qsSchema), OccurenceCountT qsSchema with | Vector.nil => fun AttrCount1 AttrCount2 => inil3 | Vector.cons _ _ qsSchema' => fun AttrCount1 AttrCount2 => icons3 (ilist3_hd AttrCount1 ++ ilist3_hd AttrCount2) (MergeOccurence qsSchema' (ilist3_tl AttrCount1) (ilist3_tl AttrCount2)) end AttrCount1 AttrCount2.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Sorting.Mergesort Coq.Structures.Orders Coq.Arith.Arith Coq.Structures.OrderedType Coq.Structures.OrderedTypeEx Coq.Strings.String Coq.FSets.FMapAVL Fiat.Common.String_as_OT Fiat.Common.Tactics.CacheStringConstant Fiat.QueryStructure.Specification.Representation.QueryStructureNotations Fiat.QueryStructure.Implementation.Operations Fiat.QueryStructure.Implementation.DataStructures.BagADT.QueryStructureImplementation Fiat.QueryStructure.Implementation.DataStructures.BagADT.IndexSearchTerms Fiat.QueryStructure.Automation.Common