Note added: 18 Feb 1996 After I first posted the message below, I came to the conclusion that the normal use of "reduction" and "reduce" in a scientific context is much broader than the version I defined, and also that it includes the cases I described as "implementation". I therefore propose to use the label "analytic reducibility" instead of what I previously called "reducibility". And I'll use the phrases "synthetic reduction", "synthetic reducibility" where I previously talked about implementation. I.e. I'll continue to use the word "implementation" but will no longer deny that it is a form of reduction. It simply is not analytic reduction. Posted Mon Feb 12 00:03:33 GMT 1996 Newsgroups: sci.psychology.consciousness References: <960206232153.236070a4@theorm.lbl.gov> Subject: Implementation vs reduction (was Re: Tucson II [Function and Experience]) Henry Stapp has made some comments on my remarks about consciousness (in which I agreed with Tom Clark's suggestion that we might find that our concept of consciousness turns out to be identical with concepts of certain (deep) functional states, contrary to our initial intuitions). In order to respond fully, I need to clarify what I mean by "implementation" and how it differs from "reduction". This message makes a first crude attempt to do that. Later I'll give more detailed responses to what Henry Stapp and Jeff Dalton wrote about my earlier remarks. Implementation is not Reduction (or installation) ------------------------------------------------- I think a relatively new concept of "implementation" has emerged in work in computer science and software engineering. Some domains can be implemented in others. E.g. the domain of a particular type of wordprocessor can be implemented in the domain of C++ events and processes, or in the domain of a Lisp or Prolog virtual machine. The C++, Lisp and Prolog virtual machines can, in turn, be implemented in a variety of different virtual machine architectures (SPARC, Pentium, HP-PA, PowerPC, etc.). The latter can all be implemented (with varying degrees of speed, cost, energy efficiency, compactness, and reliability!) in the domain of digital circuits, and ultimately in physics. Unfortunately, the word "implement" is often used as a synonym for "install", by people who don't understand the difference: a computer system manager who installs a new package will sometimes say "I implemented the .... package on our computing system yesterday". I am not talking about that weak notion of implementation, so if you are used to that use of the word, please try to forget it for now. In talking about implementation I am talking about what is achieved in creating the package and the results of that work, not about transferring it to another machine's file store. But not all implementation need be done in software: some implementations use electronic circuitry, and there are many other possibilities, including chemical soups, social systems, etc. I want to contrast implementation with reduction, so I'll start by explaining what I mean by "reduction". (Implementation may turn out to be reduction according to somebody else's definition of "reduction". The important point is not that these particular labels should be used but that there is a distinction, no matter how we label it.) Reduction and implementation are both relations between domains. So first I have to say what a domain is. What is a domain? ----------------- The notion of a domain of phenomena, for now, can be roughly and partially defined informally as a subset of reality involving a particular ontology (a set of objects, properties, relationships, events, states, processes) and laws governing what can occur in that ontology. The domain of chess games would be an example. Others are the domain of economic events and processes in a modern western economy, the domain of human mental events, states and processes, the domain defined by a particular abstract machine architecture (e.g. states and events that can occur in a SPARC machine, or a Digital Alpha machine, or a pentium machine), or the domain of states, events, and processes that can occur in digital electronic systems, or the domain of human neural states, events, processes, etc., or the domain of biological evolutionary processes. Reality as we know it has many very different domains. The boundaries of domains are not always very sharp and they don't all have very precisely defined ontologies or laws. The ontology and laws of chess and of the SPARC virtual machine architecture (at least any particular version of it) are very precisely defined (though the definition may change for different versions). The former involves a chess board, chess pieces and their manipulation. The latter involves a variety of interacting bit vectors and their manipulation. Chess involves a unique time order of events. The SPARC virtual machine (like all modern computer processors?) allows some parallelism and determines only partial orderings of events (a problem for compiler writers). The domain of human neural events and processes is not very precisely definable, and is currently not at all well understood. Similarly the domain of evolutionary processes. I don't know whether the domain of chemical events and processes is or not precisely definable: I suspect not. Some domains are embedded in time and include processes. Some domains are purely abstract and include no processes: e.g. arithmetic, or the domain of proofs in a logical system. Some are finite (the set of all possible games of chess) and some are infinite (arithmetic, and the set of proofs in predicate calculus). I believe that there's a domain of processes permitted according to the current state of physical theory, which includes quantum mechanics and much else. But as I am not a physicist I don't know very much about scope of that domain. Also there are disputes among physicists about the precise boundaries of the domain (e.g. some people think fundamental physics includes something like experiences, whereas others don't, some think it includes randomness others don't). Another domain would be naive, common sense, physics, which overlaps a lot with classical mechanics, and excludes quantum phenomena. I'll now say what is involved in reducing one domain to another before contrasting that with implementing one domain in another. Reducing D1 to D2 ----------------- For a domain D1 to be reduced to D2 we need both domains to be sufficiently well specified that we can talk about the languages required for describing each domain and the laws governing each domain. The laws may be empirically discovered or they may be definitional (like the laws of chess) or they may be part of a design specification (like the laws of behaviour of a word-processor). By REDUCING a domain D1 to a domain D2 I understand the following: (a) demonstrating that all possible descriptions of phenomena in D1 can be translated without any loss of meaning into descriptions using only the language of D2, and (b) demonstrating that all the laws of D1 can be derived from D2 (using only logic or mathematics, and the translations). [Note added 14 Feb 1996: I now call this "analytically reducing"] E.g. Frege tried to show that the domain of arithmetic could be reduced to the domain of pure logic. Various philosophers have tried to show that the domain of material things can be reduced to a domain of actual, or actual and possible experiences (phenomenalism), or that the domain of mental states can be reduced to the domain of observable behaviours or behavioural dispositions. As far as I know all such philosophical attempts at reduction have failed. However, it is arguable that the real numbers, including the rationals have been successfully reduced to the natural numbers and set theory. It is widely assumed that chemistry can be reduced to physics, though I have met theoretical chemists and physicists who deny that. Another controversial topic is whether biology can be reduced to (chemistry and) physics. I think not, but will not argue that here. Reduction is transitive. If A is reduced to B, and B is reduced to C, then A is reduced to C. (I am aware that the notion of translation without loss of meaning needs clarification. But let that pass for now: I assume most people will agree that the concept of "checkmate" in chess cannot be defined in the language of physics, which is restricted to statements about the values of physical properties and relationships, and relationships between them. Similarly the concept of a "paragraph" as used in a word processor, cannot be defined in the language of physics. It follows that no set of physical measurements could logically entail that a checkmate had occurred in a chess machine or that a document in a word processor had a thousand paragraphs.) Implementation is not reduction ------------------------------- I find it much harder to explain what implementation is. It's a notion that is intuitively grasped by many engineers, especially software engineers, but seems to be unfamiliar to philosophers, psychologists and some other scientists. I think it is closely associated with the notion of "emergence". D1 is emergent with respect to D2 if D1 cannot be reduced to D2 but can be implemented in D2. Here goes, but this is only a first draft provisional analysis: DEF: A domain D1 is implemented in D2 if special cases of D2 exist in which the phenomena of D1 occur and reliably (apart from bugs) accord with the laws of D1. [I now refer to synthetic or ampliative reduction as an alternative name for implementation. 14 Feb 1996] Example: games of chess can be implemented in many kinds of computing systems, which, in turn, are implemented in physics. I say that D1 is a virtual machine (or abstract machine) implemented in D2. D2 may also be a virtual machine implemented in another domain D3. Such multi-layered implementations are commonplace in computing systems. Why did I write: Apart from bugs? Implementation may be more or less "buggy". There are many buggy implementations in which reliability is not complete: e.g. all current implementations of high level information processing systems fail to *guarantee* perfect conformance to the laws of D1. Cosmic radiation and quantum effects can interfere with computer memories, other components can fail, and software may not take full account of all possible combinations of occurrences, or may not deal properly with some that are accounted for. Information engineers strive towards perfect implementations, but never get there, though they are often amazingly close. (Some really clever designs can include processes in D1 that detect "errors" caused by faulty implementation and compensate for them.) Implementation (or synthetic reduction), like analytic reduction, is transitive. However a multi-step reduction merely requires complex expansion of definitions. Multi-step implementation can be a far more complex and tortuous relationship. Generally the implementation of D1 in D2 depends not only on the laws or other essential features of D2, but something more, which we can loosely describe as "a particular structure or organisation" in D2. In computing systems this may be achieved by creating appropriate software. Loading the software into a computer and running it does not change the basic architecture but imposes a new organisation within it. It typically requires creation of a very complex binary state vector within the pre-existing architecture. (Exactly how this works varies according to whether the programs are compiled or interpreted or incrementally compiled, or whatever.) The existence of the implementing structure is not predictable by the laws of D2, though its *possibility* depends on those laws. Very often people who design a machine cannot conceive of all the things it could be used to implement. Similarly those who implement a programming language and thereby create a higher level virtual machine typically cannot conceive of all the still more abstract domains that it can be used to implement. The laws of physics cannot be used to predict that brains will exist. The laws of behaviour of a particular machine architecture cannot be used to predict that a chess machine will ever exist in that architecture. D2 makes D1 possible, but does not make it inevitable. For that, something else is needed: the creation of a special structure in D2. Producing that structure changes the causal powers of D2. It may be impossible to describe those changes sensibly without using the language of D1. ("It's a machine for playing games in which there are......"). When D1 is implemented in D2 that involves something essentially new being added to D2. When a brain or a computer is implemented in some portion of physics, the implementation involves the encoding of a variety of capabilities, rules, structures, constraints. That involves adding new information to D2: something that was not there before. In general what is added in an implementation using D2 cannot usefully be described or explained entirely in the language of D2. E.g. the rules of chess cannot be described in the language of physics, nor can the laws linking characters, words, sentences, fonts, linelengths, paragraph formats, page numbers, etc. in a word processor be expressed in the language of physics. These are some of the reasons why the words "emerge" and "emergent" may be appropriate. I don't think that as yet we have a sufficiently general theory about varieties of implementation and how they work, or how one domain can emerge from another, or how causal interactions between levels of implementation can influence processes of various kinds. (Detecting and compensating for bugs in the implementation or failures of components is one example of interactions between levels. Others are virtual machines that redesign the machines they are implemented in: e.g. a computing system which modifies its own microcode at run time. Evolution seems to include examples where lower level implementation machines change under pressures derived from the performance of higher level implemented machines.) It seems that a lot of different people are now more or less independently trying to grasp what's going on when levels of implementation interact, especially in connection with biological systems. (Two recent examples, among others, are John Holland: Hidden Order Jack Cohen and Ian Stewart: The collapse of chaos. There are others. I've just been shown a book by Stuart Kaufmann, which I have not read.) Implementation is not reduction, for the two conditions of reduction, (a) and (b) above, need not be satisfied in an implementation. Where the conditions for reduction are satisfied, D1 is just a sub-domain of D2. The systems created by simple computer programs are reducible to the virtual machine of the programming language used. I.e. all the important features of the program are describable in the language. For example a program that concatenates two lists, or which sorts lists, or which searches for something in a list, would not typically define a new domain that is different from the domain of the programming language. There's nothing new, nothing "emergent" about it. I don't think it is easy to say in general terms under what conditions a software system, or creation of a new machine, does introduce a new domain, though there are plenty of examples (e.g. word processors, chess machines, office information systems, plant control systems). There are many engineering designs other than software that implement a new domain in an old one. E.g. a car designer uses components that can be fully described in the languages of physics, chemistry, electronics, materials science, to create an object that can be described in other terms not reducible to these, e.g. comfort, steering, visibility, safety, ease of maintenance, running cost, etc. More generally the language of control theory generally goes beyond what can be described in the language for describing components of control systems. Notions like positive and negative feed back, damping, hunting, stability, amplification, filtering, refer to features that may be implemented at the component level, but not reduced to the component level. I've suggested in the past that we should regard minds as essentially control systems. But the set of control concepts required for describing a mind is far, far richer than can be found in current text-books on control. For example, more sophisticated control systems need to create, use, interpret, store, and manipulate representations. They need to formulate goals, create options, evaluate options, select between options, etc. NOTE: We can distinguish an abstract and a concrete notion of a domain. There's a very abstract and general notion of the class of games of chess. There's also the concrete notion of the class of games that can be played on a particular chess machine. The concrete notion involves an actual implementation. In between will be more or less specific classes of machines. For now I shall be rather sloppy in my usage and hope that context will always make it clear whether I am talking about an abstraction or something concrete (actually implemented). I may live to regret this sloppiness. Implementation is more than correlation --------------------------------------- Implementation of D1 in D2 certainly involves some sort of mapping from D1 to D2, but it is neither as strong as the definitional and logical mapping of a *reduction* (in the sense defined above) nor as weak as the purely empirical mapping that exists when two observed classes of phenomena are found to be *correlated*, e.g. changes in day-length and the falling of leaves on certain trees, or presence of chemical structure and possession of a certain taste. Unfortunately, too many scientists think their job is to find correlations. People who see their task as discovering how brain events *correlate* with mental events are likely to ignore the deeper problem of discovering how brains *implement* minds. Understanding an implementation goes far beyond specifying correlations. It includes grasping *why* those correlations work. This generally includes understanding what has been implemented (i.e. what the ontology and laws of D1 are) and how the implementation works (which aspects of D2 and the implementation structure make those laws work). A person who discovered that whenever he executes a "delete line" command in his word processor a certain sort of noise occurred, would not have discovered anything about the implementation. Even discovering that transistors always change their state when that happens would not teach one much. (The transistors might be in a register that is used whenever numerical arguments are passed to a subroutine.) Empirical research can teach you something if you already have very good ideas about domains D1 and D2 and possible mappings between them. Observed facts, including correlations, can then help to answer questions about how D1 is actually implemented in D2. Implementation and explanation ------------------------------ There's an apparent paradox: I've said that in the case of implementation one cannot use the laws of D2 to derive those of D1. So how can the implementation explain phenomena in D2? It's a long and complicated story, but basically the specification of the implementation has to include some statements that combine concepts from both D1 and D2. (E.g. describing a compiler for a high level language includes saying how some of the data-structures in that language map onto bit patterns in the implementation machine.) When these bridging statements are combined with a precise specification of the architecture of D2 it may be possible to deduce that the laws of D1 will be satisfied. That's the goal of "verification" in software engineering. In some cases it cannot be achieved because of the complexity of the process of analysing all the cases. If proving the adequacy would take more steps than there are microseconds in the history of the universe we have a little problem. But we can still conceive of some implementations being adequate, whether we can prove the adequacy or not. We can also grasp that there are varying degrees and kinds of inadequacy of implementation. Moreover, when D1 itself has vague boundaries (e.g. the notion of a human-like mind) the notion of adequacy will also, and there will be some vagueness about what exactly is explained by a theory of how D2 works and a specification of the implementation. Do implemented domains really exist? ------------------------------------ Some academics are made very uncomfortable by talk of abstractions, or virtual machine events with causal powers. They may even want to deny existence to such things. I think that the question whether an implemented domain D1 (the virtual machine) "really" exists alongside the implementing domain D2 is probably one of those philosophical pseudo-questions which look as if they make sense, but evaporate under close analysis. As far as ordinary language is concerned, implemented domains (virtual machines) are as real as anything is, and the events and processes that occur in them can have real causes and real effects. For example, as far as ordinary usage of "real" and "exist" are concerned, poverty really exists even if it is (ultimately) implemented in physics. Poverty is not a collection of states and processes describable in the language of physics, but it is implemented in physics. Without implementation in the physical world (through run-down houses, bad drainage, poor crops, malnutrition, disease, etc. and the brains of individuals exposed to all of these) an impoverished subset of society would not exist, and the poverty would not have any effects (e.g. tending to increase disease rates, infant mortality rates, life expectancy, and crime rates under certain conditions). The same applies to functional states in a sophisticated control system. Like poverty they exist and have causes and effects, and are not reducible to physics. But they are implemented in physical mechanisms. Some people are inclined to argue that the implemented domain (the virtual machine and events in the virtual machine) cannot be real and cannot have any real effects, since that would imply that there are causal gaps in D2 (e.g. causal gaps in physics). This is roughly how the argument goes: if there are no gaps in physics, then physical states and laws completely determine what is going to happen and therefore events in non-physical domains, such as mental, social, political, economic or computational events, cannot make any difference. That line of thinking ignores the very important fact that the implementation of domain D1 adds something to the physical reality (D2) that would not otherwise have existed. (Some physicists might be tempted to talk about changing "boundary conditions" here.) The brain structures that implement mental states and processes are part of what determines what happens in the physical world. And because the implementation works, we can say things like: "If Fred had not felt jealous he would not have attacked Harry." I.e. the mental state of jealousy and the physical attack are causally related, and the conditional statements (including counterfactual conditionals) that link them are as true as any conditional statements linking only physical events. Similarly, the addition of a word to a sentence in a word processor could cause page-numbering to change in the document and this could cause physical events in the machine and on a printer. Physics may be the ultimate engine of causation, but that does not mean that non-physical events cannot be causes, or that mental events cannot cause physical events (like Fred stabbing Harry), just as events in a word processor or chess machine are real, and can cause physical events on a screen or printer. [Of course, anyone who wants to re-define words like "real", "exist", "cause", "effect" so that these remarks are no longer true, and poverty and jealousy neither exist nor have effects, is free to do so, but should not assume that we'll all wish to give up our customary concepts in favour of these new stringent ones that would force us to abandon much of the discourse that governs our everyday life and thought, e.g. political decision making, helping friends in trouble, etc.] Requirements for implementability --------------------------------- Not all domains can implement all other domains. E.g. a finite state machine with exactly N possible states would not be able to implement a domain in which there are M distinct possible states where M exceeds N. (That formulation is not yet strictly accurate, as demonstrated by implementations of sparse arrays, but let that pass for now.) There are many ill-defined questions about implementability that still require research. E.g. there is a mathematical theorem that no finite collection of turing machines running in parallel can do anything more than a single general purpose turing machine can do. (For it can be shown that the collection of machines can be simulated perfectly on the general purpose machine by interleaving.) But mathematical equivalence is not the same as causal equivalence: three machines could constitute a more reliable system than one. The difference could be very important for an engineer designing a space shuttle. The offer to replace the three separate machines with three simulated machines running on a single computer would not be taken seriously. Similarly, digital neural nets of any degree of complexity can be simulated in real time on a fast enough single processor machine. But the latter will necessarily have intermediate states (when the simulated neurons have only partially been updated to the next state) in which things could occur that could not occur in a truly parallel implementation where all updates happen in synchrony. Whether such a difference is functionally significant will depend on the rest of the system and the purposes of the implementation. So it should be clear that the question: can D1 be implemented in D2 is generally a significant question. The answers may not be obvious. And the answer may sometimes be "Yes subject to the following qualifications". E.g. a particular chip design may implement particular processor architecture apart from a small subset of instructions. (Recall the recent infamous Pentium bug.) [Some of these points were discussed in my review of Penrose's first book: AI Journal v56 1992 355-396] Implementing minds in information processing architectures ---------------------------------------------------------- Right now nobody knows what the domain of human mental events and processes is, nor does anyone have a good general characterisation of the range of possible information- processing architectures. (We do have a good general characterisation of an abstract syntactic concept of computation, but that's something different. It is not about machines that can DO things. It's about abstract sequences of structures, which need not even occur in time. e.g. computations can exist in Goedel numbers.) So the question whether minds can be implemented as information processing machines cannot even be precisely formulated yet: we are talking about two domains D1 and D2 that we cannot yet define. Cavalier usage of words like "consciousness", "experience", "awareness" or even "qualia" is a symptom of gross over-confidence that people know what these words refer to. Often people who throw these words around assume that everyone MUST know what they mean. Reading Kathy Wilkes' papers claiming that some (human!) languages don't have such words, and even our European culture did not until fairly recently, might be a useful antidote: K.Wilkes 'Losing Consciousness' in Thomas Metzinger (ed) Conscious Experience, 1995 Imprint Academic/Schoningh-Verlag. When so much confusion and terminological muddle abounds, a functionalist claim that a certain class of information-processing architectures would suffice for the implementation of human-like minds cannot be evaluated. I.e. it cannot be established, but neither can it be refuted. What, exactly, are we trying to explain? ---------------------------------------- A step towards the clarification of the question is further specification of what the domain D1 of mental states, events, processes is, so that we can then ask which other domains might serve to implement it. Achieving this may require a long, slow, painful process of conceptual clarification. I interpreted Tom Clark's recent posting as claiming that we might find at the end of such a process that there was no conceivable difference between our concepts of certain classes of mental states (e.g. having certain experiences) and our concepts of a having certain deep functional states, i.e. states that have a collection of internal functional roles and causal powers. Anyhow I suspect that claim is correct, whether or not that's what he said. It's commonplace in philosophical studies to start by thinking you grasp some concept clearly and then after much detailed analysis to discover that it has a much more elaborate meaning for you than you had dreamed possible. A common example is the notion of free will. The concept of one thing causing another is a particularly obscure and difficult one to analyse (whose difficulties are closely related to the difficulty of analysing the common little word "if"). Unfortunately there are aspects of the concepts "consciousness", "awareness", "experience" that fool even hard-headed scientists who should know better into thinking that they grasp what they are talking about. My conjecture, and Clark's as I interpreted him, is that eventually we'll come to see that the only way we can understand these concepts clearly is as concepts of types of functional states and processes. (Compare what Wilkes says about the ancient Greek concept of "psuche" (psyche?) in the paper mentioned above.) If the conjecture is right, we shall not have two domains one consisting of mental states and processes and one consisting of functional states and processes. There will be only one domain. Thus there will be no question of reducing mental states to functional states, nor implementing mental states as functional states. The domain of the mental and a certain sub-domain of the domain of the functional will be seen to be one and the same thing, if that conjecture proves correct. But we'll still have a lot of questions to answer about the varieties of architectures that could provide a basis for implementation of that domain, and hard questions about how many different ways there are of implementing such architectures in physics, and hard questions about whether only brain-like implementations could meet the requirements, and hard questions about whether completely digital implementations would suffice or whether some continuous (analog) mechanisms would also be needed. More importantly, what we can expect to find is that there are not unique answers: different architectures can implement slightly different classes of minds. Different physical mechanisms can implement architectures with slightly different classes of capabilities. (E.g. what difference does it make if we allow continuously varying mechanisms as well as digital mechanisms. Is there any deep difference?) Exploring these spaces of possibilities will be far more important in the long term than trying to answer YES/NO questions, for they will both enable us to understand the diversity of types of animal minds, and also help us grasp the possible varieties of artificial minds. [Similar points are made by Stan Franklin: Artificial Minds. MIT Press 1995] This is all very complicated, and not yet as clear as I'd like it to be. The complexity appears to me to be unavoidable. But I'd welcome help in clarifying the notions sketched above. In particular: o Is there some inconsistency in this account? o Have I misdescribed what a domain is? o Have I misdescribed the relation of implementation? o Is there an important and relevant type of relation between domains that I've left out? o Is there a good specification yet of the domain of the neural (i.e. what sorts of states, events, processes etc. can occur in animal brains?) (I suspect not. I.e. I suspect only a tiny fragment of language required for describing neural processes has been developed so far.) o How close are we to a complete catalogue of types of mental states, events, processes, and their specification in terms of their functional qualities and relationships? o What sorts of implementation architectures are there besides those already studied, and what are the dimensions in which they can vary? ---- To anyone who has read this far. Thank you for your patience and tolerance. Aaron