fact: Fixpoint Find_MatchingIndexes (Mkey : KeyMapT) (st : IndexSearchTermT) (MValues : ValuesMapT) : ValuesMapT := match st with | [ ] => MValues | i :: st' => match MKeys.find i Mkey with | Some indexes => Find_MatchingIndexes Mkey st' (filter (fun k _ => List.In_dec eq_nat_dec k (indexes)) MValues) | None => MValues.empty _ end end.
imports: Fiat.Common.Coq__8_4__8_5__Compat Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsInterface Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsProperties Coq.Arith.Peano_dec Coq.Structures.OrdersEx Coq.FSets.FMapInterface Coq.FSets.FMapFacts Coq.FSets.FMapAVL Coq.ZArith.ZArith Fiat.Common Fiat.Common.String_as_OT Fiat.Common.List.ListFacts Fiat.Common.List.FlattenList Fiat.Common.SetEqProperties Fiat.Common.FMapExtensions Fiat.Common.List.PermutationFacts Fiat.QueryStructure.Specification.SearchTerms.ListInclusion