fact: Definition QSInsertSpec {qs_schema} (qs : QueryStructure qs_schema) (Ridx : Fin.t _) (tup : @IndexedRawTuple (GetNRelSchemaHeading (qschemaSchemas qs_schema) Ridx)) (qs' : QueryStructure qs_schema) : Prop := (forall Ridx', Ridx <> Ridx' -> GetRelation qs Ridx' = GetRelation qs' Ridx') /\ (SatisfiesAttributeConstraints Ridx (indexedElement tup)) -> (forall tup', GetRelation qs Ridx tup' -> SatisfiesTupleConstraints Ridx (indexedElement tup) (indexedElement tup')) -> (forall tup', GetRelation qs Ridx tup' -> SatisfiesTupleConstraints Ridx (indexedElement tup') (indexedElement tup)) -> (forall Ridx', SatisfiesCrossRelationConstraints Ridx Ridx' (indexedElement tup) ((GetRelation qs Ridx'))) -> (forall Ridx', Ridx' <> Ridx -> forall tup', (GetRelation qs Ridx') tup' -> SatisfiesCrossRelationConstraints Ridx' Ridx (indexedElement tup') (EnsembleInsert tup ((GetRelation qs Ridx)))) -> (forall t, GetRelation qs' Ridx t <-> (EnsembleInsert tup (GetRelation qs Ridx) t)).
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