fact: Definition NatRangeTreeBag' (heading : RawHeading) {BagType SearchTermType UpdateTermType : Type} (TBag : Bag BagType (@RawTuple heading) SearchTermType UpdateTermType) (projection : RawTuple -> NatRangeTreeBag.MoreXMapFacts.TKey) (bupdate_transform : UpdateTermType -> RawTuple -> RawTuple) : Bag (NatRangeTreeBag.RangeTreeBag (BagType := BagType)) (@RawTuple heading) (option NatRangeTreeBag.MoreXMapFacts.TKey * option NatRangeTreeBag.MoreXMapFacts.TKey * SearchTermType) UpdateTermType := {| bempty := NatRangeTreeBag.RangeTreeBag_bempty; bfind_matcher := fun (search_term : prod _ SearchTermType) (tup : @RawTuple heading) => match fst search_term with | (Some minRange, Some maxRange) => if InRange_dec (projection tup) minRange maxRange then (bfind_matcher (snd search_term)) tup else false | (None, Some maxRange) => if le_dec (projection tup) maxRange then (bfind_matcher (snd search_term)) tup else false | (Some minRange, None) => if le_dec minRange (projection tup) then (bfind_matcher (snd search_term)) tup else false | (None, None) => (bfind_matcher (snd search_term)) tup end; bupdate_transform := bupdate_transform; benumerate := NatRangeTreeBag.RangeTreeBag_benumerate TBag; bfind := NatRangeTreeBag.RangeTreeBag_bfind TBag; binsert := NatRangeTreeBag.RangeTreeBag_binsert TBag projection; bcount := NatRangeTreeBag.RangeTreeBag_bcount TBag; bdelete := NatRangeTreeBag.RangeTreeBag_bdelete TBag; bupdate := NatRangeTreeBag.RangeTreeBag_bupdate TBag |}.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.FSets.FMapInterface Coq.FSets.FMapFacts Coq.FSets.FMapAVL Coq.Structures.OrderedTypeEx Fiat.Common.String_as_OT Fiat.QueryStructure.Implementation.DataStructures.Bags.RangeTreeBags Fiat.QueryStructure.Specification.Representation.QueryStructureNotations Fiat.QueryStructure.Specification.SearchTerms.InRange Fiat.QueryStructure.Implementation.DataStructures.BagADT.IndexSearchTerms Fiat.QueryStructure.Automation.IndexSelection Fiat.QueryStructure.Automation.Common Fiat.QueryStructure.Implementation.DataStructures.Bags.CountingListBags Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsOfTuples 