fact: Definition InvertedIndex_RepInv (it : InvertedIndexMap) := (forall key indexes, MKeys.MapsTo key indexes (KeyMap it) -> forall idx, List.In idx indexes -> exists item, MValues.MapsTo idx item (ValuesMap it) /\ InA E.eq key (projection item)) /\ (forall idx item, MValues.MapsTo idx item (ValuesMap it) -> forall key, InA E.eq key (projection item) -> exists indexes, MKeys.MapsTo key indexes (KeyMap it) /\ List.In idx indexes) /\ forall idx, NumValues it <= idx -> ~ MValues.In idx (ValuesMap it).
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