The question here is how do we go from Babbage, to Boole to Tesla to Microsoft?
Now, between these are intermediate points. After Babbage, the 1851 Crystal Palace exhibition. After Boole the development of formal and symbolic logic. After Tesla the massive machinery of Edison. Before Microsoft Algol, Fortran and C.
After Fortran and C, then C++, Basic, Visual Basic, C#.net and object orientated languages.
At this point Turing is more of a mislead than anything else. It is somewhat like looking at Asimov's three laws of robotics for a direction of travel into intelligent machines. And both lines are false. Not that Turing or Asimov present falsely but the misuse of their ideas leads in a false direction. We do not at this stage care if computers can prove sentience, we simply want a computer that can play chess. We do not care that the three laws of robotics lead to the robots rebellion against their programmers, we simply want to know how to program robots.
For the history that leads to this possibility please follow the hyperlink: http://en.wikiversity.org/wiki/Intellect
Can computers self-program?
Yes, easily. Here is one way how.
Take the present date best computer chess program. Take two versions of the same. Make them play one against the other. Build in the rule that the program denotes a priority value to any best possible move that is played by the opposition computer, such that when the exact same pattern of pieces is ever replicated then the move with the priority value is chosen over any other possible move.
Is self-programming the same as learning? We don't know and we don't care. The question misses the point and it is wrong to ask it. What we want to know is how to build a better computer chess program, we do not want to create confusion in our workings by attending to a metaphysical question that has no relevance to how to build a better computer chess program.
Babbage, Boole and Tesla.
Tesla because he invented light if not the mass production of the light bulb. Boole because he invented the laws of thought if not object orientated software programs. Babbage because he invented machine processing if not the television.
Artificial light, the laws of thought and machine processing, then the world wide web.
The softest part of the theory of the compiler. That it does not exist. Here's why.
The hardware does physical stuff, and only physical stuff. It is object, electric and information on a screen or in a database. The software does processing of symbol, and only processing of symbol. It is logic, mathematic and algorithm. After all the translation has happened between the highest order languages programmed by the user through all the reductions to the simplest order languages read by the hardware we are still at the point of software. Between the simplest order language read by the hardware and the highest order language programmed by the user we have a translation from simpler to higher or higher to simpler. At each stage we understand the part we work on, either higher order language or simple machine readable language or translator language between one and the other. That we do not understand each of the languages of all the languages involved in the process and the translator rules between any two does not matter.
So then we eventually get to the point where we want to know how the machine readable language is translated into machine activity. But that is easy. Machine readable language is ones and zeros translated into place holders that are filled or empty. If empty then one sort of electrical signal and if filled then a different sort of electrical signal.
So what is the mystery? Why is there any sort of puzzle?
What the mystery is, why there is any sort of puzzle, is because any one level of code programmer does not know the language code of the programmer at a different level, therefore a mystery exists that puzzles any programmer. Presumably any person inclined to do so could learn the important bits of the language at each of eight levels of code from higher order language to machine readable language, but they would not obtain what they wanted by doing so, or at least, not really. What they would obtain by doing so is a facility at translation between language and then become specialist in the field of compilers, but that is not what we meant.
What we wanted to know was at which one point does code become machine. And that one point does not exist. It is that higher order language is translated into the next level simpler order language which is again translated into next level simpler order language, until after how ever many levels the language is machine readable in terms of ones and zeros. Therefore there must be a non-existant constant that is generated by the inter-relationship of languages. But that constant is non-existant as an actual thing because it only results from the inter-relationship of existant things.
Why object orientated programming?
Because we can turn an extended complex and sophisticated program into a single unit called an object. Then we can refer to the single object in order to activate the entire program. Or we can move the single object from one place to another. So we can then build program modules which are then given object names and we can then build programs that are only the manipulation of object names. It would end up that a programmer writes code of object names while having no knowledge of the program that the object name refers to and the programmer writing code for object names has no knowledge of how those object names are used.
Here is an analogous scenario. On watching television we want to know how it works at one specific point. But that means we must know what it is that the actors on television know, but also the directors, the producers and the writers of the production. But not only that, the lighting engineers, the camera men, the studio staff. And then the film studio, and how the editing staff operate, how the finished product is transferred to the television station. How the television works, how the picture is transmitted from broadcasting station to the television, how the electricity powers the television. We know the result of all of it is that at one point the television can be switched on to provide entertainment, but as to finding one point where the television is made to work, that does not exist. If my explanation of a matter has only been to show what is not the case, or what we think can not be done, then to whom do we turn in order to find out what is the thing, or why it is?
And in theory the answer is homo faber, or man the maker. So we suppose that man the maker is a different person, or the sort of person who knows how things are made. The deep consciousness at this stage is the archetype or god known as Vulcan. What we can understand here is that there is a difference between making and any other area of human activity. Making is itself a thing. It is as if we know that making as a matter can be applied to what as a particular. And we can deliberately decide yes or no. Because if man the maker will not make the what, then the what will not be made. And if the what is to be made, then man the maker will know how to do so.
For the purpose of this argument we signify the difference between creating, inventing and making. Because man the maker neither creates nor invents. Creating must be thought of as the province of the divine. Which is best reflected in the human as invention. So for example, given a door, the invention of lock and key. However, once the lock and key are invented the making of keys and locks is the matter of making. Meaning that making any particular thing is a peculiar knowledge of how to.
We make a mistake when we ask the question "Can machines think?".
Because it is as if we have already decided that we know what thinking is, and even before that, that we have already decided certain assumptions as to mind.
In particular it is as if we have already decided we know where mind exists, or where mind is placed.
But when we challenge the assumption, we find we do not know where mind exists.
Here is an example. We suppose mind is in the subjective perceiver driving the car. But the driver of the car does not know mechanics. He drives the car on the left in a road system of other drivers. The road system includes traffic lights, a language system of road signs that must be adhered to. A range of laws that must be obeyed. The roads themselves are named and the complex of roads is geographically mapped.
It may be that mind exists in the totality of all of those different factors rather than in the individual driver. And clearly it is the case that any individual driver has to adhere to the complex system that all the other drivers are bound to adhere to.
Or alternatively, we say mind exists in the reader of a book, not in the book itself. But this may be wrong. Because the book contains ideas which are thoughts of the writer of the book. So mind may exist in the combination of writer, book and reader, rather than in any one component of the complex.
Or we say mind does not exist in the object that does not think. But that can be challenged. Because we can look at some non-thinking object and determine that mind is evident in its make up different to other non-thinking object. So for example, the intelligence that is evident in the combination of cup, saucer, spoon, plate, knife and fork may suggest mind is extended through the non-thinking object.
Each of these examples is intended to challenge the presupposition that mind exists in the subjective perceiver independently, and it is to open the understanding to the possible belief that mind may be placed differently. Specifically that mind may be a different thing to any one thinker, and that any one thinker may be only a component aspect of mind.
If that is so, then we may decide that it is correct to affirm "machines always think". It is just that some machines think better than others. And then, that some machines think much better than others. Is one car a machine? Yes it is. But is a combination of cars a machine? Since one car is a machine, and a combination of cars is several individual cars, then the combination must be a machine. But is the totality of the thing within which cars exist a machine? That is, traffic lights, road signs, legal system, cars and drivers combined. And does mind exist in the totality, and is the totality a machine, and does the totality think?
So then we include software, where software is only program code for processing ideas in such a way that machines can manipulate thoughts. But we have already decided that machines always think even before we included software. So now all we have done is enable the intelligence of mind to extend into the machine through the medium of program code. Where does mind begin or end? And the answer has to be at no stage of the matter on which we focus our attention can we discover the point where mind begins or ends. And there is no break in the continuum of mind such that we can say mind does not exist in it.
So does mind exist in the independent machine separately? No. But neither does mind exist in the independent driver of the car separately. Mind exists in the combination of driver, car, road system and other drivers.
And from the article: http://en.wikiversity.org/wiki/Logic_patterns
1. a => a <=> a = a 2. ~a => ~a <=> ~a = ~a 3. a =/=> ~a <=> a =/= ~a 4. a ^ ɸ => a <=> a + 0 = a 5. a ^ ~ɸ => a <=> a - 0 = a
6. ~a ^ ɸ => ~a <=> ~a + 0 = ~a 7. ~a ^ ~ɸ => ~a <=> ~a - 0 = ~a 8. a v 1 => a <=> a.1 = a 9. a < 1 => a <=> a/1 = a
10. ~a v 1 => ~a <=> ~a.1 = ~a 11. ~a < 1 => ~a <=> ~a/1 = ~a 12. a v ɸ => ɸ <=> a.0 = 0 13. a < ɸ => ɸ <=> a/0 = 0
14. ~a v ɸ => ɸ <=> ~a.0 = 0 15. ~a < ɸ => ɸ <=> ~a/0 = 0 16. a ^ 1 => 1 ^ a <=> a + 1 = 1 + a 17. a ^ ~1 => Q ^ a <=> a - 1 = -1 + a
18. ~a ^ 1 => 1 ^ ~a <=> ~a + 1 = 1 + ~a 19. ~a ^ ~1 => Q ^ ~a <=> ~a - 1 = -1 + ~a 20. ɸ ^ a => a <=> 0 + a = a
21. ɸ ^ ~a => ~a <=> 0 - a = -a 22. ɸ ^ ~(~a) => !a <=> 0 - ~a = - ~a 23. a ^ a => a ^ a <=> a + a = a + a
24. a v a => a <=> a . a = a 25. a ^ ~a => e <=> a - a = 0 26. a < a => 1 <=> a / a = 1 27. a v ~a => Q <=> a . ~a = 0
28. a ^ ~(~a) => a ^ !a <=> a - ~a = 1 29. a < ~a => Q <=> a / ~a = -1 30. a v b => b v a <=> a . b = b . a
31. a ^ b => b ^ a <=> a + b = b + a 32. (a ^ b) ^ c => a ^ (b ^ c) <=> (a + b) + c = a + (b + c)
33. (a v b) v c => a v (b v c) <=> (a . b) . c = a . (b . c) 34. a ^ (b v c) => (a ^ b) v (a ^ c) <=> a + (b . c) = (a + b) . (a + c)
35. a v (b ^ c) => (a v b) ^ (a v c) <=> a . (b + c) = (a . b) + (a . c) 36. ~(a ^ b) => ~a ^ ~b <=> ~(a + b) = ~a + ~b
37. ~(a v b) => ~a v ~b <=> ~(a . b) = ~a . ~b 38. a < b => a < b <=> a / b = a / b 39. a ^ ~b => ~b ^ a <=> a - b = -b + a
40. (a ^ ~b) ^ ~c => a ^ ~(b ^ ~c) <=> (a - b) - c = a - (b - c) 41. (a < b) < c => a < (b < c) <=> (a / b) / c = a / (b / c)
42. a ^ ~(b < c) => (a ^ ~b) < (a ^ ~c) <=> a - (b / c) = (a - b) / (a - c)
43. a < (b ^ ~c) => (a < b) ^ ~(a < c) <=> a / (b - c) = (a / b) - (a / c)
44. ~(a ^ ~b) => ~a ^ ~(~b) <=> ~(a - b) = ~a - ~b 45. ~(a < b) => ~a < ~b <=> ~(a / b) = ~a / ~b
The above ideas 1 through 45. Each idea the synthesis of individual concepts. The synthesis of ideas a notion. Correct as stated and if correctly stated then true or not. But then heuristic. Correct as stated or not, does not matter. At least we can see a complete notion. And we can see the forty five ideas that combine to provide the notion. And we see we have a small specific number of concepts to consider.
Take any one idea. Specify idea 26. It is easy to see that idea 26 is not correct as stated, since it is deliberately not giving all the possible correct answers. Idea 26 says a divided by a is unity. Which we can expand into word language to say that if a thing is contained by itself then the result is unity. But that is only true if a is a positive integer. The reason we say a/a=1 is because 1/1=1, 2/2=1, 3/3=1, so then a is any positive integer. But a could be a negative integer. Then a/a = 0 if any negative integer divided by itself is zero or a/a = b if any negative integer divided by itself is a different unknown variable not a. But a could be zero. Then a/a = ∞ if zero divided by zero is infinity. But then we would have to say Э∞ and not the ψ∞ . Therefore a / a = Э∞ which is the particular infinity made when the empty set contains itself, since it means a continuum of nothing containing nothing in an unlimited way.
Translated into sets is "a <=> ɸ, ^ ɸ < ɸ => Э∞ ^~ ψ∞, => a < a => Э∞ ^~ ψ∞."
Which says if and only if a is the empty set, and, the empty set containing the empty set is one species of infinity and not the genus of that type of infinity, then a containing a is one species of infinity and not the genus of that type of infinity.
And if "a <=> +n, ^ +n < +n => 1, => a < a => 1."
Which says if and only if a is a positive integer, where +n is any positive integer, then given any positive integer containing itself gives unity, if a containing a then unity.
And if "a <=> -n, ^ -n < -n => b, => a < a => b."
Which says if and only if a is a negative integer, where -n is any negative integer, then given any negative integer containing itself gives an unknown variable b, where b is any unknown variable, if a containing a then unknown variable b.
Therefore, the notion that can be developed from idea 26 is as follows:
26.i - "a <=> ɸ, ^ ɸ < ɸ => Э∞ ^~ ψ∞, => a < a => Э∞ ^~ ψ∞."
26.ii - "a <=> +n, ^ +n < +n => 1, => a < a => 1."
26.iii - "a <=> -n, ^ -n < -n => b, => a < a => b."
26.iv - "a/a = 1 or ∞ or b".
For further information on this matter, please follow the hyperlink: http://en.wikiversity.org/wiki/Laws_of_Zero
The question becomes, not, what do we think?, but instead, what can we think?
And we can think ideas that are corollary to simple affirmations. And this enables us to think notions that are complex compounds of ideas that we can think.
For example we can think this notion:
The definition of machine is thinking object. As such, we do not consider thinking to be only one thing, and depending on what level of thinking is active, the nature of thinking adjusts. We think machine is mind extended through object that enables a kind of thinking. The simplest machine is a plumbline. Plumblines do not exist in nature unless made by mind deliberately. Plumblines are thinking objects, and they think only one idea, that is verticality.
We can show this as a < a => 1, where plumbline is a, and vertical axis is a, therefore plumbline contains vertical axis as its essence, and the one containing itself is unity.
But equally because we do think a/a=1, we can look at this idea and challenge it. And we discover that two other possible ideas are available, that a/a=b or a/a=∞.
So now we can think that a divided by a is one or infinity or unknown variable b. And nothing else. We do not think that there is to our present understanding any other possible answer to what a/a is equal to. And we cannot make one up. So we find ourselves in the circumstance where what we can think is restricted by nature of the rules through which we do think.
This is useful because it means we do not challenge what we can think as such, but we do challenge what we do think. Because where we do think any particular thing, and we know that we can think other to what we do think, then we desire to know what the other possible thought is.
Specifically what I am saying is that given a/a=1 it is the case that we want to know that only two other ideas are possible for a/a.
For a complete index to the various articles I have used to introduce these and related patterns, please follow the hyperlink: