fact: Fixpoint DecomposeHeading {n m} (attr : Fin.t n) (sch : Vector.t Type n) (a : Vector.t Type m) {struct attr} : Vector.t (Vector.t Type n) m := match attr in Fin.t n return Vector.t _ n -> Vector.t (Vector.t _ n) m with | Fin.F1 _ => fun sch => Vector.map (fun t => Vector.cons _ t _ (Vector.tl sch)) a | Fin.FS _ attr' => fun sch => Vector.map (fun t => Vector.cons _ (Vector.hd sch) _ t) (DecomposeHeading attr' (Vector.tl sch) a) end sch.
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