Collaborative articulation of how abstraction and language is employed in the computational manifestation of numbers -- including analysis of the role of syntax, semantics, and meaning in the specification and use of software interfaces.

[cross-posted to Orcmid's Lair. This is at a level of abstract speculation that is more appropriate here than there. However, I would like a broader audience, and reactions, to what strikes me as having practical importance in how we develop successful computer-based systems.]

During my regular Tuesday buddy call with colleague Bill Anderson, it suddenly occurred to me that I could account for reductionism, an error that scientists and others (software technologists and their masters, for example) make. It is all captured in the following statement:

Theories don't model reality; reality is the model.

I don't recall what prompted my exclamation on the subject during the call, unless it was something about how objectionable "code is the model," "code rules," and other developer slogans are, where the implementation of something becomes the specification, denying us access to any useful answer to the question "implementation of what?"

Now, it is not a new thing for Bill and I to be discussing these issues, including this view of the role of theory. What hadn't landed so sharply was how viewing theories as models for reality is the very pitfall that engenders reductionism.

There's much more careful development required as part of arguing for the usefulness of "reality is the model." I have been looking at that in a setting where I am conducting a theory-driven implementation of some software in the Miser Project. Bill and I discuss this even more where it matters a lot to information technology, in contrasting What Computers Know with what Programmers Know to Do and how there is an essential gap between how computer systems are built, the requirements that those systems are meant to satisfy, and the world of opportunity in which those systems are instruments of human purpose.

For now, I want to look at the statement in the context of how we appear to arrive at theories and then apply them as given.

A word of warning: the value of "reality is the model" is not that it is "true." The value to be found is in having a more useful and powerful way of looking at what we do with theories in contrast with the limitations of imagining our theories to be modeling reality.

Where Theories Come From

There seems little doubt that theories started out as explanations of the regularity in our experience of reality, of the world. Some of these theories were, and still are, very pre-scientific (as theories about theorizing might be as well, and that won't stop me).

At some point in the course of the scientific revolution, say around 1600, typified by the work of Frances Bacon, there was an important move to development of scientific theories via inductive generalization from observations of nature, not deduction from some principles of cause. The reliance on experimental confirmation and empirical observation became important. A consistent case of contradictory results could show where the theory is inapplicable or even completely incorrect. One risk is that expression of a generalized (abstracted) theory might be taken as an explanation of the nature of nature as in "objects at rest tend to remain at rest."

Emergence of mathematical sciences, illustrated in the achievements of Isaac Newton, had a profound impact. It permitted the deduction of consequences by calculation or proof, and it permitted the experimental confirmation of those deductions by natural experiments. Notice, however, that the deduction occurs inside the theory, as it were, and the correspondence of the conclusion with reality is an empirical matter.

Theories on Their Own

The mathematical formulation of important theories, and the computational applications of those theories, are removed from reality. Once we are operating in the formal, mathematical theory of a science, there is no reality there. The connection to the reality is accomplished by our interpretation of the mathematical theory as being about reality. Being about something, especially reality, is not a feature of mathematical systems. Being about something is how we interpret results in the mathematical formulation as applying to the world in accord with a scientific thesis. In other words, the scientific thesis part is not expressed in the mathematical formulation. That is what we add ourselves (even though it is what led us to the formulation and why it might be of any value to us). Some of these interpretations have been so reliable and so useful, we tend to speak of the expressions of the theories as laws (E = mc^{2} being a popular one, force being proportional to rate of change of momentum being less familiar, although we experience its confirmation every day).

There is a combination of deductive process (predicting via calculation, say) and inductive formulation in this approach. We might say that (empirical) experience has shown that the interpreted deductions are reliable and that the theory is a good one in that sense.

The pitfall is to think of the theory as the truth, as somehow explaining how it is that the interpretation of findings in the theory align. Perhaps the most current conceit of this nature has to do with confusion of what nature does as computation because computational processes have some similar characteristics.

Interpreting Theories and the Reductionism Pitfall

There is an area of mathematics called "model theory" or what, here, we might call the model-theoretic view of mathematically-expressed theories.

In model theory, the idea is that a mathematical theory, expressed in a formal, logical way, is given an interpretation by identifying its mathematical elements with those in some other system (usually some other kind of mathematical one). If the interpretation is such that deductions in the first theory have results that are true in the interpretation, we say that the interpretation is valid, and that the interpretation is a model of the theory. The model satisfies the theory. I am omitting many technicalities (and probably abusing model theory) in order to appropriate the basic idea for application to interpretations in the world in mathematical sciences.

An important feature of this view is that the theory need not account for everything in the model. For the model to be a model everything that is true of the theory is true in the interpretation, but the model is not otherwise constrained. The interpretation is only for that aspect of the model that corresponds to the theory. There may many other features and aspects to the model that are simply not captured by the interpretation (and hence the theory). Under the particular interpretation, at least, however valid (in either a mathematical or an empirical sense, as the case might be), the theory has nothing to offer about those other matters. In particular, we are free from concluding that the theory explains the model or dictates its "working." We are also free, in the case of the world and many mathematical and logical theories, of having quite different interpretations in reality for models of the same theory. (Interpreting objects and phenomena as numbers is something we are able to do in innumerable ways. I had to say that.)

The reductionist pitfall is treating the theory as the model (and therefore comprehensive), and claiming the theory to be "about" the world. In that case, there is no way to countenance there being anything else about the world and even the obvious becomes inaccessible. There's some other kind of pitfall in faulting a theory for not embracing all of reality in its interpretations, but I am less concerned about that, although "reality is the model" avoids that too.

Computational Manifestations of Theories

This apparently-backward way of looking at theories is about the application of theories in ways that are useful in approaching reality. The perspective is also contrary to using computation as embodiments of theories and seeing them as somehow modeling the world. Theories may have computational models (as interpretations). This doesn't make the computation model a model of the world any more than the theory is, in this view. I say that there is a computation model of the theory, and there may be an intended interpretation in the world that is a model, but that does not make the computational model a model of the world any more than the theory is.

I find this a very fruitful way to look at a variety of aspects of information technology as it is developed and used. My continuing duty is to articulate this value in less-abstract and directly valuable terms. One curiosity is how this view can still allow for the notion that the act of programming a computer is a case of theory building.