fact: Definition Equiv_Ignore_First {heading : RawHeading} P {SearchTermT1 SearchTermT2 : Type} (Matcher1 : SearchTermT1 -> @RawTuple heading -> bool) (Matcher2 : SearchTermT2 -> @RawTuple heading -> bool) UpdateTermT ApplyUpdateTerm (BagSearchUpdateTerms := {| BagSearchTermType := CombineSearchTerm SearchTermT1 SearchTermT2; BagMatchSearchTerm := MatchCombineSearchTerm Matcher1 Matcher2; BagUpdateTermType := UpdateTermT; BagApplyUpdateTerm := ApplyUpdateTerm |}) (BagSearchUpdateTerms' := {| BagSearchTermType := SearchTermT2; BagMatchSearchTerm := Matcher2; BagUpdateTermType := UpdateTermT; BagApplyUpdateTerm := ApplyUpdateTerm |}) (st : list SearchTermT2) (Equiv_st : EquivSearchTerm BagSearchUpdateTerms' P st) : EquivSearchTerm BagSearchUpdateTerms P (merge_SearchTerms [(None, None)] st).
imports: Coq.Lists.List Coq.Program.Program Coq.Bool.Bool Coq.Strings.String Coq.Structures.OrderedTypeEx Coq.Arith.Arith Fiat.Common.ilist3 Fiat.Common.i3list Fiat.Common.Ensembles.IndexedEnsembles Fiat.Computation Fiat.ADT Fiat.ADTRefinement Fiat.ADTNotation Fiat.QueryStructure.Specification.Representation.Notations Fiat.QueryStructure.Specification.Representation.QueryStructureSchema Fiat.QueryStructure.Specification.Representation.QueryStructure Fiat.QueryStructure.Specification.Representation.QueryStructureNotations Fiat.QueryStructure.Implementation.DataStructures.BagADT.BagADT Fiat.Common.ilist3_pair Fiat.Common.ilist3 Fiat.Common.i3list2 Fiat.QueryStructure.Implementation.DataStructures.Bags.BagsOfTuples Fiat.QueryStructure.Implementation.DataStructures.BagADT.BagImplementation