fact: Fixpoint vars t := match t with | Var x => singleton x | Fun f ts => let fix vars_vec n (ts : terms n) := match ts with | Vnil => empty | Vcons u ts => union (vars u) (vars_vec _ ts) end in vars_vec _ ts end.
imports: CoLoR(LogicUtil ASubstitution FSetUtil NatUtil BoolUtil EqUtil ATrs ListUtil VecUtil) Coq(OrderedTypeEx)