We apply knowledge to interpret our perceptions, to develop our thoughts and to plan and execute actions. These activities can be viewed as processes of information processing. The application of knowledge can therefore be viewed as the execution of small programs. Each chunk of knowledge can be viewed as a program.
Any knowledge has a limited reach or coverage. Every piece of knowledge describes only a limited section of reality (including ourselves) and/or our possible interactions with it. Put another way: each bit of knowledge has blind spots. And at any time, the descriptions provided by all those chunks of knowledge together have gaps and other anomalies (like errors and vagueness). No finite amount of knowledge describes the world completely. To be able to “cover” the world nevertheless, despite this incompleteness, we have to creatively extend ourselves (and as a result, we cannot be described completely ourselves, so any knowledge about humans is also incomplete).
So, to patch those gaps, it is necessary to extend our knowledge. This means that our thinking processes must be (and can be) modified and extended by the addition of new knowledge, i.e. new programs that become components of us. Information that is new to us at one time is becoming integrated into the system.
Because of this extensibility, “cognitive systems” like humans or groups of humans (e.g. scientific communities, cultures) cannot be completely described by a single formal theory. The knowledge present in the system at any time has a limited reach, it has blind spots. A theory covering all that knowledge would have blind spots itself. Just like our knowledge about the world is always incomplete, so is any theory we can form about that knowledge, the way it is generated and the way it is applied.
One consequence of this is that systems that are extensible like this cannot be scientifically described in the sense the term science is often used: it is not possible to derive all of their properties from a single theory. Consequently, disciplines dealing with such systems, like psychology, cultural studies (of different kinds, including what is traditionally known as “the humanities”), social sciences, history, linguistics, philosophy of science, etc., always only arrive at partial descriptions of the phenomena under study. The systems they describe are implemented in terms of physics and each single process in them is a physical process, but their properties cannot be derived from the laws of physics because these properties partially consist of the information stored in the system. This information originates outside the system and cannot be derived from the structure and properties of the underlying physical system. So the properties of the human mind cannot be completely derived from the biology of neurons since a large part of the components of this system consist of information that entered the system from outside, so culture and psychology cannot be reduced to neurology.
Likewise, artificial systems of information processing, like the Internet, cannot be described completely. If you have a formal theory that lets you derive properties of such a system, it is always possible to add new programs which are not derivable on the basis of that formal theory, i.e. new information that does not follow from what the system contained before. You can always add another program or another piece of data, at least as long as you have enough information storage capacity or you are able to extend the available memory.
For example, the computers forming the blogging platform this article is published on form a physical system, specifically an electronic system. Each process in this system could be analyzed and described as a physical process. But the content of this article (or any other article that you read or write here) cannot be derived from the laws of electronics. To describe the origin of this article completely in terms of physics, one would have to include in the description the history of its author. To describe this history completely ultimately requires describing all of history, the history of life on earth, the complete history of planet earth that led to it, the history of the solar system, and eventually the history of a large part of the observable universe (see The Cloud). For all practical purposes, this is impossible.
Another example: the way your smart phone or your computer behaves depends to a large part on the programs or apps you downloaded into it, not only on the properties of the electronic components of these devices. One could produce a theory of such a device that includes the complete program code of all the programs that have been downloaded into it and all the data stored in it at a given time, but you can always connect to the app store and download another piece of software, or enter another piece of data. And while there is a limit in the memory capacity of the device, there are applications that do part of their computing or information storage on some server outside your phone or computer, so this device is just your entry point into a larger system. As a result, you can treat the available memory as practically unlimited. A complete reductionist description of your smart phone or computer is therefore practically impossible although at any time, it can be described as a physical system. Each theory describing it is valid only for some time. There is no once-and-for-all description of it.
A “science” describing such a system can describe the way the system is implemented at a given moment in terms of its physical components. It can also historically describe how this state of the system did arise (if the information about that process has not been lost). But a general description of the system in terms of general laws is not possible. To integrate the description of such systems into science thus requires a modified concept of science.
For any specific knowledge or information in the system one could create a formal theory that covers that knowledge, but each such theory is incomplete because something else can be added. This is, after all, a result of the ability of systems to store information and to apply this information to any other information that enters the system later or is contained in it already, thus turning that stored information into active information, i.e. effectively into a program, and thereby changing the “laws” according to which the system behaves.
So the human mind is not static and entirely determined by genetics. It is a dynamic and self-changing system. And we can change it for the worse or for the better.
(The picture is from http://commons.wikimedia.org/wiki/File:Mr_Pipo_thoughts.svg, © Nevit Dilmen).
 Such programs can, in mathematical terms, be modelled as “Turing machines”. This provides a connection to the article of Kurt Ammon I reblogged recently: mathematically, programs can be modeled by “Turing machines”. Technically, the formalism of Turing machines is a very simple programming language. It is possible to define functions that map every Turing machine onto a natural number and vice versa (e.g. if you enter the code of the Turing machine into a computer, it is represented in memory as a sequence of ones and zeros. These can be interpreted as a number, represented in the dual number system. Such a number assigned to a program is called its “Gödel number”. In a way, since each Gödel number of a program can be mapped uniquely onto a Turing machine, which is a program, Gödel numbers themselves could be viewed as a programming language. So we could view each piece of knowledge as a program that can be represented by a number.
 The notion of programs representable as Turing machines is equivalent in a way to the notion of formal theories. Such a theory is a set of axioms and rules of inference that can be applied to derive some “theorems”. For a given Turing machine, one could define a formal theory in which theorems can be derived that state which value the Turing machine computes for a given input.
 In the German language, there is a concept of „Wissenschaft“, which has a wider scope than the English concept of „science“ and does include all those disciplines, while there is no term that exactly corresponds to the English term “science”. Reductionism in the sense that it would be possible to reduce such disciplines to the sciences is not possible. Instead, I suggest widening the scope of “science” into something like “Wissenschaft”.