proposition: Lemma EnsembleIndexedListEquivalence_pick_new_index {heading} : forall (ens : Ensemble (@IndexedRawTuple heading)) seq, EnsembleIndexedListEquivalence ens seq -> exists bound, UnConstrFreshIdx ens bound.
proof: Proof. intros * (indexes & equiv) ** . destruct_ex; eexists x; eauto. Qed.
imports: Coq.Strings.String Coq.ZArith.ZArith Coq.Lists.List Coq.Logic.FunctionalExtensionality Coq.Sets.Ensembles Fiat.Common.SetEq Fiat.Common.ilist2 Fiat.Common.Ensembles.IndexedEnsembles Fiat.Computation Fiat.ADT Fiat.Common.Ensembles.EnsembleListEquivalence Fiat.ADTRefinement Fiat.ADTNotation Fiat.QueryStructure.Specification.Representation.QueryStructureSchema Fiat.ADTRefinement.BuildADTRefinements Fiat.QueryStructure.Specification.Operations.Empty Fiat.QueryStructure.Specification.Representation.QueryStructure