Sunday, October 20, 2013

What if we don't need (unified) theories? (Just programs.)


I'm thinking of the case where there are two theories G and Q that you want to replace by a unified theory U. (A "theory", to make the term somewhat precise, refers to a collection of expressions in a particular language, say a language whose "alphabet" consists of mathematical notations that can express field equations in physics.) The problem with G and Q is that they are inconsistent (when they are interpreted in the appropriate framework) in making predictions within a certain narrow domain. Hence the search for a U that is consistent. (Perhaps a different language is needed for U than the language[s] of G and Q.)

But suppose that instead of G and Q we have programs (written in one or more programming languages) Gᴾ and Qᴾ, and they too make inconsistent predictions in a narrow domain. (We can think of Gᴾ as simulating G, Qᴾ simulating Q.) Now we want to replace programs Gᴾ and Qᴾ with a unified program Uᴾ that is consistent. The software "art" of handling inconsistencies in simultaneously running Gᴾ and Qᴾ may involve some sort of handling of exceptions. Call this software Eᴾ. Then (simplified) Uᴾ = Gᴾ + Qᴾ + Eᴾ.

So the search for a "tidy" theory U is replaced with the coding of a (somewhat) "hacky" program Uᴾ.

Could this be an acceptable approach, or would many be left unsatisfied?