fact: Fixpoint list_vectors X n (L:list X) : list (vec X n) := match n as nn return list (vec X nn) with 0 => Vector.nil X :: nil | S n => map (fun '(x,xr) => Vector.cons X x n xr) (L × list_vectors X n L) end.
imports: Arith Lia List Bool Eqdep_dec EqdepFacts Undecidability.Shared.Libs.DLW(utils_tac utils_nat utils_list finite pos vec) Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) Undecidability(Shared.ListAutomation Shared.Dec) Undecidability.MuRec.Util.recalg