fact: Fixpoint ilist_app {n} {As : Vector.t A n} : forall {n'} {As' : Vector.t A n'}, ilist As -> ilist As' -> ilist (As ++ As') := match As return forall {n'} (As' : Vector.t A n'), ilist As -> ilist As' -> ilist (As ++ As') with | [] => fun n' As' il il' => il' | a :: As'' => fun n' As' il il' => {| prim_fst := ilist_hd il; prim_snd := ilist_app (ilist_tl il) il' |} end.
imports: Coq.Lists.List Coq.Strings.String Coq.Arith.Arith Fiat.Common Fiat.Common.VectorFacts