alpha - prolog : a logic programming language with names , binding and a - equivalence .
constraint logic programming : a survey .