One usually thinks of time as a total ordering of events. That means of two events one comes before the other, especially inside a computer. Just now ideas from several disparate fields collided in my head: In common among these is the idea of several possibilities proceeding at once—possibilities that are normally thought to be resolved before proceeding.
Quantum mechanics
In quantum mechanics there is generally uncertainty on what will happen next. Accounting for what is observed seems to require considering many things ordinarily thought of as alternatives, having each happened, to a degree; and the degree is a complex number! Quantum Mechanics considers many things the could have happened to a particle between times x and y in order to predict what will be observed at time y,
Processor design
Modern processor design has adopted a strategy of speculative execution. The program expresses a condition which is to control which of two paths the computation is to take. Often there are parts of the hardware that have nothing profitable to do while this condition is being evaluated. Speculative execution is a general scheme that employs this hardware to compute results which would be required on one or two of the two possible outcomes of the evaluation. Real work for alternative paths may proceed concurrently. Steps are taken to ensure that all effects are suppressed for any work based on a wrong guess. In some designs two streams of instructions may be followed simultaneously in speculative mode but one will always be abandoned after a few instructions. A processor proceeds on instructions on the tentative assumption that some conditional branch will eventually occur as predicted. Speculative results can be discarded by renaming registers. Adders do a similar trick to shave picoseconds off of an add time by speculating on whether there is or is not a carry at some point.
Banking practice
Banking practice seems often to proceed on faith that “the funds will materialize” or “paper to follow” and with the understanding that if they don’t then some transaction can be backed out. Unlike the other concepts here there seems to be no definite time at which the possibility to back-out ceases. If I take cash from the bank in unmarked bills perhaps certain possibilities of backing out are precluded.
Dennett’s Theory of Consciousness
In Daniel C. Dennett’s “Consciousness Explained” he introduces the idea of “Multiple Drafts” which are presumed to be proceeding in the brain as the brain considers several possible alternative “facts of the matter”. When the ambiguity is resolved the losing drafts are not made available to short term memory and we are not conscious of them. The book reports experimental evidence for this. I think each agent is on its honor to shout loudly depending on how good it ‘thinks’ its idea is.
Fantasies are psychological phenomena perhaps related to Dennett’s multiple drafts. They help us reason about what did happen when clues are scarce, and they help us choose alternative actions assuming that we have a good grasp of likely consequences of our actions. Unlike the multiple drafts, fantasies are more elaborate and we are conscious of them. Delusions are probably an aberration of these mechanisms.
Data Base Commit and Abort logic
that allows an application program to undo several operations on a data base,
This is a technique wherein a data base or whole computer system is aware of two distinct plausible contradictory states of affairs. One may be the “true state” whereas the other may be a “cover story”. Of course this is an art practiced by humans probably since before we had language. Anthony Cave Brown’s “A Bodyguard of Lies” tells of the allied deceptions carried out during world war II regarding plans to invade the European continent. Neal Stephenson’s “Cryptonomicon” gives a fictionalized account of Alan Turing’s work in designing sophisticated statistical deceptions to keep the Germans from realizing that the allies had broken the Enigma code.
Sometimes signals arrive at a computer which cause the computer to modify its records or reply to the signal with information depending on its records. Sometimes a reply depends on the state of the records which is very new. Indeed the order of the incoming signals determine the responses thereto. If computers were fast enough they could reply to each message before considering the next. As it is they process the messages concurrently and may discover before responding to one message that another message has changed the state since the first message arrived. One of the message processes must be sacrificed along with all the effects it has had on the records. The computer thus acts as if each message had been considered and responded to before the next message was considered.
Decision Support Software
This is merely simulation software that explores alternatives, perhaps attended by a human, perhaps not. This is, of course, merely an aid to the ancient faculty of the human brain to imagine possible alternative future situations, in order to bring some about and avoid others.
Checkpoint Restart
logic in systems like KeyKos that roll time back upon certain catastrophes and may, in the future, do even more bizarre tricks with time. See checkpoints.
which abolishes simultaneity,