fact: Fixpoint i2list2 {n} (l : Vector.t A n) (il1 : ilist (B := B) l) (il2 : ilist (B := B') l) : Type := match l return ilist (B := B) l -> ilist (B := B') l -> Type with | Vector.nil => fun il1 il2 => unit | Vector.cons a n' l => fun il1 il2 => @prim_prod (C (prim_fst il1) (prim_fst il2)) (i2list2 l (prim_snd il1) (prim_snd il2)) end il1 il2.
imports: Coq.Lists.List Coq.Strings.String Coq.Arith.Arith Fiat.Common.ilist Fiat.Common.ilist2