Computability theory : concepts and applications