fact: Definition DecomposeRawQueryStructureSchema_AbsR {m : nat} {qs_schema : RawQueryStructureSchema} (schemaIdx : Fin.t _) (attrIdx : Fin.t _) (a_proj : Vector.nth _ attrIdx -> Fin.t m) (el : _ -> Vector.nth (AttrList (GetNRelSchemaHeading (qschemaSchemas qs_schema) schemaIdx)) attrIdx) (r_o : UnConstrQueryStructure qs_schema) (r_n : UnConstrQueryStructure qs_schema * UnConstrQueryStructure (DecomposeRawQueryStructureSchema m qs_schema schemaIdx attrIdx)) : Prop := (forall Ridx, Same_set _ (GetUnConstrRelation r_o Ridx) (GetUnConstrRelation (fst r_n) Ridx)) /\ (forall Ridx tup, In _ (GetUnConstrRelation (snd r_n) Ridx) tup -> In _ (GetUnConstrRelation (fst r_n) schemaIdx) {| elementIndex := elementIndex tup; indexedElement := Tuple_DecomposeRawQueryStructure_inj _ _ (el Ridx) _ (indexedElement tup) |}) /\ (forall tup, In _ (GetUnConstrRelation (fst r_n) schemaIdx) tup -> In _ (GetUnConstrRelation (snd r_n) (a_proj (GetAttributeRaw (indexedElement tup) attrIdx))) {| elementIndex := elementIndex tup; indexedElement := Tuple_DecomposeRawQueryStructure_proj _ _ _ (indexedElement tup) |}) /\ (forall Ridx Ridx' tup tup' , In _ (GetUnConstrRelation (snd r_n) Ridx) tup -> In _ (GetUnConstrRelation (snd r_n) Ridx') tup' -> Ridx <> Ridx' -> elementIndex tup <> elementIndex tup') /\ (forall Ridx tup, In IndexedElement (GetUnConstrRelation (snd r_n) Ridx) tup -> a_proj (GetAttributeRaw (Tuple_DecomposeRawQueryStructure_inj schemaIdx attrIdx (el Ridx) Ridx (indexedElement tup)) attrIdx) = Ridx) /\ (forall Ridx, FiniteEnsemble (GetUnConstrRelation (snd r_n) Ridx)).
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Vectors.Vector Coq.Strings.Ascii Coq.Bool.Bool Coq.Lists.List Fiat.Common.SumType Fiat.Computation.ListComputations Fiat.QueryStructure.Automation.AutoDB Bedrock.Word Bedrock.Memory