Added basic eval to expressions, need to implement specific eval
functions for each atom. Return canonical form for constraints
change canon form to a function