fact: Fixpoint BuildStruct {n} (attrs : Vector.t (sigT (fun attr => attrType2 attr)) n) : InitTuple2Dom (BuildHeading2 (Vector.map (@projT1 _ _) attrs)) := match attrs return InitTuple2Dom (BuildHeading2 (Vector.map (@projT1 _ _) attrs)) with | Vector.nil => () | Vector.cons attr _ attrs' => icons2 (B := id) (projT2 attr) (BuildStruct attrs') end.
imports: Coq.Strings.String Coq.Bool.Bool Coq.Lists.List Coq.Arith.Arith Coq.Program.Program Fiat.Common.ilist2 Fiat.ADT Fiat.ADT.ComputationalADT Fiat.ADTNotation Fiat.ADTRefinement Fiat.ADTRefinement.BuildADTRefinements Fiat.QueryStructure.Specification.Representation.Heading Fiat.QueryStructure.Specification.Representation.Tuple Fiat.QueryStructure.Specification.Representation.TupleADT Fiat.QueryStructure.Specification.Representation.Heading2 Fiat.QueryStructure.Specification.Representation.Tuple2 Fiat.QueryStructure.Specification.Representation.TupleADT2 Fiat.Fiat4Monitors.RADL_Topics Fiat.Fiat4Monitors.RADL_Messages Fiat.Fiat4Monitors.RADL_Flags Fiat.Fiat4Monitors.RADL_Nodes