fact: Fixpoint BuildTuple2 {n} (attrs : Vector.t Attribute2 n) : ilist2 (B := Component2) attrs -> DecTuple2 attrs := match attrs return ilist2 (B := Component2) attrs -> DecTuple2 attrs with | Vector.nil => fun components => inil2 | Vector.cons attr n' attrs' => fun components => icons2 (B := id) (value2 (ilist2_hd components)) (BuildTuple2 attrs' (ilist2_tl components)) end.
imports: Coq.Lists.List Coq.Strings.String Coq.Logic.FunctionalExtensionality Coq.Sets.Ensembles Fiat.Common.ilist2 Fiat.Common.StringBound Coq.Program.Program Fiat.QueryStructure.Specification.Representation.Heading2 Fiat.Common.Ensembles.IndexedEnsembles Fiat.QueryStructure.Specification.Representation.Notations