proposition: Corollary refine_UnConstrFreshIdx_DecomposeRawQueryStructureSchema_AbsR_Equiv {m : nat} {qs_schema : RawQueryStructureSchema} (schemaIdx : Fin.t _) (attrIdx : Fin.t _) a_proj el (r_o : UnConstrQueryStructure qs_schema) (r_n : UnConstrQueryStructure qs_schema * UnConstrQueryStructure (DecomposeRawQueryStructureSchema m qs_schema schemaIdx attrIdx)) : DecomposeRawQueryStructureSchema_AbsR schemaIdx attrIdx a_proj el r_o r_n -> refine {idx : nat | UnConstrFreshIdx (GetUnConstrRelation r_o schemaIdx) idx} {idx : nat | UnConstrFreshIdx (GetUnConstrRelation (fst r_n) schemaIdx) idx}.
proof: Proof. unfold refine; intros; computes_to_inv; computes_to_econstructor. unfold UnConstrFreshIdx in *; intros. eapply H0. apply H; eauto. Qed.
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