fact: Fixpoint vterm_of_aterm (t : aterm) : vterm := match t with | ATerm.Var x => Var x | ATerm.Fun f v => let fix vterms_of_aterms n (ts : aterms n) : vterms := match ts with | Vnil => List.nil | Vcons t' ts' => vterm_of_aterm t' :: vterms_of_aterms _ ts' end in VFun f (vterms_of_aterms (arity f) v) end.
imports: CoLoR(LogicUtil ListUtil VecUtil SN)