computability theory definition