fact: Definition QSInsert {qs_schema} (qs : QueryStructure qs_schema) Ridx tup := (idx <- Pick (freshIdx qs Ridx); qs' <- Pick (QSInsertSpec qs Ridx {| elementIndex := idx; indexedElement := tup |}); b <- Pick (SuccessfulInsertSpec qs Ridx qs' {| elementIndex := idx; indexedElement := tup |}); ret (qs', b))%comp.
imports: Coq.Lists.List Coq.Strings.String Coq.Sets.Ensembles Coq.Arith.Arith Fiat.Computation.Core Fiat.ADT.ADTSig Fiat.ADT.Core Fiat.Common.StringBound Fiat.Common.Ensembles.IndexedEnsembles Fiat.ADTNotation.BuildADT Fiat.ADTNotation.BuildADTSig Fiat.QueryStructure.Specification.Representation.QueryStructureSchema Fiat.QueryStructure.Specification.Representation.QueryStructure