refactoring (always use the idioms ValuationMap and SubstitutionMap), more on kleene ... not done yet