THE UNIVERSAL SPREADSHEET MODEL

Copyright Dr Alan Solomon (1986-1995)

You've probably read how I sorted out the order entry, processing and
delivery systems up at the North Pole, and earned the undying
gratitude of Rudolph the Red (the reindeer's shop steward).  And you
may even have read about the infinite database I wrote in Turbo Pascal
for Lucifer, and was rewarded with an instant understanding of C which
turned out to a major handicap.  So it shouldn't come as a surprise to
you to learn that it was me that helped the Architect design the
universe we live in.  It happened like this.

I was working on my accounts one day, trying to make my VAT add up and
failing miserably.  It was raining heavily outside, and there was
thunder and lightning - that's why I wasn't using my computer.  I have
this superstition about using a computer during a thunderstorm,
brought on by a friend of mine who twice had his computer struck by
lightning (well, to be more accurate, by currents induced in cables by
lightning).  Plus, if power goes out while you are writing a hard
disk, you could end up with a scrambled directory.  Anyhow, there was
a particularly bright flash, and a simultaneous deafening bang, and I
found myself looking up at a stern-looking old Gentleman who seemed to
have come into the room without knocking.

"Doctor Solomon", He said, "Rise up and follow Me".  I followed Him
out of the room, but just on the other side of the door, I found
myself up to my knees in some kind of white fluffy stuff.  I was sure
that the hall had just been Hoovered, and anyway, where had the
ceiling gone?  The imposing Gentleman was moving rapidly, so I hurried
after Him to ask a few questions.  By the time I caught up, we'd
reached a kind of fancy wrought-iron white-painted gate, and some kind
of personage called Pete in a white smock let us through.  Pretty
soon, we reached a kind of enormous chair, and He sat down.  I looked
around for a chair too, but there only seemed to be that big one, so I
plumped up some fluffy-stuff and sat on that instead.

"This is the beginning of time", He said, "Eternity starts here and
now." I gulped and nodded.  "But I want to do it right this time, and
I want your professional help".  "Good idea", I said, although I
hadn't the faintest notion what He wanted.  I've always found that at
the very start of a major project, the best thing to do is just sit
quietly and let the client tell you what he thinks he wants.  Until
he's got all that off his chest, he won't even listen to you tell him
what he really wants.

He explained the problem.  "Obviously I'm omniscient, so I know
everything that's going to happen in advance." I nodded.  "But I give
My creations free will, so that they can make their own choices.  But
if I knew in advance what they will choose, they haven't got free
will." I'd often wondered about that one.  How can you reconcile
omniscience and predestination with free will?

"But I'm also omnipotent," He continued, "and by using My omnipotence,
I have deleted parts of My omniscience, thus giving My creatures free
will." "Very neat", I said admiringly.  "But that means if I create a
universe and start it running, it could go badly wrong, and I'd have
to intervene all the time to make it work the way I want it to.  So I
need to be able to foresee the results of the initial universe
starting conditions."

I began to see what He wanted me for.  I have a bit of a reputation
for being able to recover data from hard disks that have lost their
memory, and this was obviously the same sort of thing.  But it's one
thing to use nifty programming techniques to salvage data from a hard
disk, and another thing entirely to recover data when an omnipotent
Being has deleted it.  I voiced my doubts.

He frowned, and I began to understand why Quakers call themselves
that.  "No, you don't understand.  I want a simulation model of the
universe."

I stopped quaking and boggled.  "The universe?" I said, stupidly.  He
nodded.  "The whole universe, everything?" I said.  "Even the merest
sparrow," He said.  It wasn't the sparrows that were worrying me;
there couldn't be more than a few million of them.  It was the vast
number of sub-atomic particle in the universe;  protons, neutrons,
electrons and maybe even the quarks.  I boggled a bit more.

You should never let the sheer size of a problem put you off.
Usually, you can subdivide a large problem into smaller ones, solve
the smaller ones individually, then put it all back together.  And if
the smaller problems are still too large, you can repeat the process,
at infinitum.

We discussed how this simulation model of the universe might be
possible.  He explained that, since He had omniscient knowledge of the
laws of nature, He could specify exactly how everything affected
everything else.  "Yes, But ..." I said.  "If everything affects
everything else, then the number of relationships in the model is
two-to-the-power of the number of particles".  "There are ten to the
power forty particles", He said, "but each one only affects those that
are close to it." "I thought it was an inverse square law, with the
influence diminishing as the square of the distance", I said,
displaying some of the physics that had seeped into my head while I
was playing bridge for Cambridge.  "Yes", He replied, "You're supposed
to think that, but after a few millimeters, I didn't bother with any
effects;  the difference is unnoticeable, and it greatly simplifies
Creation." I began to warm to this old Gentleman - that's exactly the
sort of thing I do.  If it's a lot of hassle to add a feature, and it
isn't going to add much to the finished product, my usual practice is
simply to talk the client out of it.

"Hmm." I said.  "I think I can see an easy way to set up this model."
He Beamed, and I warmed up a bit more.  "Suppose we assume that
everything is made up from twelve types of quark..." "Actually, those
twelve quarks are made out of a trinity of sub-quarks", He said.  "Can
you tell me how they interact?" We spent the next few hours scribbling
equations on bits of paper as He explained to me how it all hangs
together.  It's a very clever scheme, very economical and very slick.
Eventually, He showed me how the whole thing can be reduced to a
single equation expressed in tensor calculus, but you had to use
tensors of order three in a seven-dimensional space.  He called it the
"World Equation", and I was agape at its elegance and beauty.

Then I returned to reality.  "I'll need an IBM PC", I said briskly.
"No problem", He said, "I'll create you one." "No, no", I said, "You
can't do that." "Yes I can", He said, "I'm omnipotent." "I'm sure You
can, but You mustn't", I said, "Copyright".  The law of copyright is a
bit vague in places, but it is generally agreed that an exact copy of
an IBM PC can only be made by IBM.  "I'll also need a copy of 123."

You've probably worked out what I was intending.  The universe is a
natural for a spreadsheet model;  you can use a cell for each
sub-quark, with a formula implementing the World Equation in each cell
to define the relationships.  And since each cell depends only on
those that are fairly close to it, you can set up one cell, then
replicate it to the whole spreadsheet.

The old Gentleman and I returned to Earth to buy a PC.  He insisted
that we buy it from a dealer that was Without Sin, but we had to drop
that, and tried to settle for a dealer without one of the seven Deadly
Sins, instead.  That didn't work either, as He kept looking into their
souls and finding Larceny, Greed and Avarice.  In the end, we managed
to find one who hadn't yet sold his soul to the devil, so we bought
from him.

We took it back to home base, and then I found another problem - no
electricity.  Plenty of lightning, but that's all the wrong voltage,
and would have done terrible things to the power supply.  "LUX ESSE"
said a big Voice, and the light came on, but that didn't help power
the PC.  In the end, we had to go down again and buy a little Honda
generator, and a can of petrol to run it on.

I started up 123, and started typing in the World Equation into cell
A1.  My plan was to have a series of spreadsheets;  in fact a
two-dimensional array of spreadsheets, as the universe is four
dimensional and 123 is only two dimensional.  It didn't work.  The
problem was, the World Equation is seven-dimensional, and anyway I
needed the relationships to recalculate;  having separate spreadsheets
means you can only consolidate.  I went back to the Client to explain
the problem.  "There are a few three-dimensional spreadsheets, like
Boeing Calc and the Data Cube, but I really need a seven-dimensional
spreadsheet.  You know everything - is there one?"

He thought a bit.  "What about Lotus 123 version seventeen?", He said.
It turns out that Lotus Development are going to be around for a fair
while, and will be developing some pretty nifty versions of their
spreadsheet.  Off we went to the 21st century, and bought a copy from
Computer-World.  While we were paying for it (we had a lot of trouble
getting them to accept silver) I noticed that version 17 needed an
80586-based machine, and all we had was a plain old PC.  I pointed
this out, and He pointed out the fact that we were out of money.

I often find that this happens at some point in the project - the
client decides he hasn't got any more money to spend, even though he
was told at the start that he'd need a budget.  All you can do is wait
patiently until the client realises that unless he coughs up, he isn't
going to get the project finished.

In this case, I didn't have to wait very long.  He softened the heart
of the dealer (that's omnipotence for you!) and we left clutching a
brand new 80586-based machine.  I also asked Him if we could get some
extra memory, as I was expecting a pretty big spreadsheet, but He
winked at me and bought an Ethernet interface.  I wasn't sure what He
was up to, but I suppose He knew what He was doing.

When we got back Upstairs, I unpacked the new machine and plugged it
in.  It was very impressive.  You could run 256 simultaneous copies of
the operating system (OS/5), and each of those could run an unlimited
number of copies of OS/2.  The Presentation Manager wasn't quite ready
yet, so I still had the dear old C> prompt on the screen.  I don't
know what it is that people have got against the C> prompt;  it's much
quicker and easier to use than skating around with a mouse.

123 version 17 came on twenty-seven diskettes, and I loaded then onto
the Solidisk (rather like a hard disk, but using fast memory instead).
I ran the install program, and answered the various questions about
configuration.  When it asked me how many dimensions I wanted, I said
seven, and apparently the IBM PS/5 comes with the AI chip as standard.

I typed 123 (I've never bothered with that LOTUS/ACCESS nonsense) and
it immediately came back "Serial number not found - illegal diskette".
Rats - the copy protection didn't work.  I tried phoning up Lotus, but
as soon as they heard about the Honda generator, they immediately
blamed that, and suggested that I use mains power.  All very well, but
there was no mains power here.  I decided to disable the copy
protection;  it's funny, but whenever I use a copy protected package,
I always seem to end up disabling the copy protection.  When I went to
visit Apricot, they said that they'd happily give me a copy of one of
their products, but it was copy protected, so they couldn't.  It took
me five minutes to break their noddy copy protection using Debug, and
they looked quite surprised.

Anyhow, I had a bit of help from Himself with 123 version 17, and
between us we soon had it cracked.  The next problem was the memory.
At that point I found out what the Ethernet link was for - since the
Ether was all-pervading, we simply plugged into that, and I had access
to unlimited virtual memory.

I set up my order-three tensor in cell A1A1A1A, representing the
partial differential equation that described to influence of all
nearby sub-quarks on the sub-quark in A1A1A1A, and told 123 to
replicate it in ten-to-the-power-forty cells in all seven dimensions.
The Ethernet link glowed white-hot, and broke into a coruscating
radiance, as the wire tautened under the unbearable tension of the
huge volumes of data passing through it.  Sparks flew from the
Ethernet plug, and the very Ether itself throbbed and pulsated ...

No.  I can't do this;  you'll have to read the Lensman series
yourself.  Doc E Smith was the master of the over-the-top string of
adjectives;  I tend to use understatement myself, and I think I'll
stick to what I know.  Lets try again.

I set up the formula in A1A1A1A and replicated it;  the WAIT light
came up, and stayed up.  After WAITing for an hour, I began to wonder
how long it would take to make 10^40 copies of a rather complicated
formula.  So I rebooted, and tried again.  This time I only replicated
it a thousand times, and I timed it at 1.6 seconds for the copy.  I
did a few sums, and came up with 1.6 times 10^37 seconds to fill up
the spreadsheet, or 0.5 times 10^30 years.  Um.

A quick trip down to our friendly dealer to get an 80587 math
coprocessor, bung it in the PC and try again.  This time, a thousand
cells filled too fast to time, so I tried a million, a trillion (10^9)
and then 10^30.  At 10^30, it was beginning to show a noticeable lag
in working;  about a second.  So I went for the full 10^40, and sat
and watched the WAIT light again.  I wasn't thinking.  I'd sort of
thought that 10^40 was only 33% more than 10^30, but it gradually
dawned on me that it was 10,000,000,000 times bigger.  I went back to
the old Gentleman and explained the problem.  "Can we simplify the
World Equation?" I asked.  He looked aghast.  "Not a chance", He
replied, "It took me Ages to come up with that.  Tell you what, we'll
skip forward in time by three hundred years;  it'll be done by then."
So that's what we did, and when I sat down again in front of the PC,
the READY light was showing.  I rubbed my hands together - now for the
payoff.

I set the iteration count to -1, meaning an infinite number of
recalculations, and invited the old Gentleman to ceremoniously press
the recalc key.  Immediately, a flood of coruscating radiance filled
the air, as the Ethernet connection began to draw on the massed MIPS
of a trillion hypermicros - a glowing ambience suffused the air and
...  no, sorry, I promised I wouldn't do that.

Anyhow, the WAIT light came on again.  Cell by cell, the model
recalculated, slowly at first, but then faster and faster as
sub-quarks clumped together into quarks, quarks aggregated into
baryons and leptons, which then fused together into atomic nuclei.
The model recalculated on, and we watched the Big Bang replayed;  the
Cosmic Egg shattered and the Ylem began to expand the universe.  Soon,
we were watching the birth of the primordial stars and the formation of
crude planets.  Fascinated, we watched the gigantic spreadsheet
re-enact the process whereby every planet cools, gathers an
atmosphere, and the first self-replicating molecules are brought
together by chance (or is it design?).

The self-replicating molecules gradually replicate themselves until
they cover the globe, then begin to mutate, as cosmic rays change
their delicate structure.  Some mutations destroy their replicating
ability, and those mutations are sterile, but other mutations enhance
the replicability, and those more complex, more organised mutations
gradually crowd out the older, simpler forms.

We watched the re-enactment of evolution, until eventually the highest
possible forms began to appear.  At first, these forms were large and
slow, and unable to defend themselves, but these giants soon gave way
to the smaller, nimbler micros, which reproduced themselves by making
use of an older, bipedal form.  At first, there was a great diversity
of them, but soon one became dominant, and all the others shrivelled
from lack of sustenance.

We also watched the development of symbiotic lifeforms;  the micros
could not exist without their software companions, nor could the
software exist without the hardware.  The two evolved together, with
first one, then the other being more advanced as they leapfrogged
forward.  Eventually, the dominant lifeform was the IBM PC running
Lotus 123, and we watched our model recalculate and predict the
emergence of version 17 and the design for the Universal Model.

At this point, the old Gentleman hit Ctrl-Numlock.  I looked up - "It
was just getting interesting", I said.  "I've just realised
something", He said.  "There is no need to create a real Universe;
this model will do just fine, as it is such a faithful replica." He
started it off recalculating again.  I couldn't argue;  I'd set up the
model to follow His rules exactly, and if anyone should know that it
was a good model, He would.

There was another reason why I couldn't argue - I wasn't there any
more.  I didn't actually exist at all, I was now merely a group of
cells in a 123 spreadsheet that I'd set up.  Or to be more precise,
that a model of myself had set up.  Or something.  My mind boggles -
if a part of a spreadsheet model can really be said to have a mind.
But it isn't only me that doesn't exist - you don't either.  You're
just a figment of my imagination;  just a natural consequence of the
initial conditions in the Universal Spreadsheet Model.

There's only one thing that bothers me, on reflection.  When that
model gets as far as the point in time when I set up the World Model,
it is going to have to recalculate a model of itself.  And after a
while, the model of itself is going to contain a model of the model of
itself.  The complexity is going to increase exponentially until the
complication overwhelms the mere 80586, and a coruscating radiance
will suffuse the hyperdimensional ...  sorry about that.  Anyhow, the
thing will blow up.  And I suppose that when that happens, we'll all
just quietly disapp