Many of our concepts are introduced to us via, and seem only to be constrained by, rough-and-ready explanations and some sample paradigm positive and negative applications. This happens even in informal logic and mathematics. Yet in some cases, the concepts in question – although only informally and vaguely characterized – in fact have, or appear to have, entirely determinate extensions.

Here’s one familiar example. When we start learning computability theory, we are introduced to the idea of an algorithmically computable function (from numbers to numbers) – i.e. one whose value for any given input can be determined by a step-by-step calculating procedure, where each step is fully determined by some antecedently given finite set of calculating rules. We are told that we are to abstract from...