It was just after midnight, and I wanted to head out, but the rain kept coming down like an endless tape containing ones and zeroes, hitting the office window like an infinite number of monkeys on an infinite number of keyboards, all frantically trying to write Hamlet.
Suddenly, there was a knock on the door.
Before I could answer, the door opened. It then closed so quickly that for an instant, it seemed to be both open and closed at the same time. The next thing I knew there was a briefcase of money on my desk. A voice came from behind the briefcase.
“I need your help.”
In the darkness, the visage of this being was obscured. Was it a person? A machine? How could I tell? One thing was certain: the voice had an all-too-familiar and very human tone of urgency, fright and despair. I’d seen this combination once too many times in this dreadful business. It’s a cruel world. But I knew right away that I would have take the case.
“You came to the right place. Tell me more.”
An infinitesimal pause. Then: “Have you heard of Google X”?
…like a Rubik’s Cube whose stickers had been removed and re-applied with the wrong parity. Unsolvable.
A chill ran down my spine. Who had not heard of the infamous spin-off of Alphabet, the parent company of the group that controlled the world’s information? With fear and dread, I looked up to try to decipher the countenance of my interlocutor, but it was like a Rubik’s Cube whose stickers had been removed and re-applied with the wrong parity. Unsolvable.
“Of course. Go on.”
“They are releasing a product tomorrow. It’s a game changer. A disruptor. It’s exponential. It is so disruptive, that I’m worried for …”
The voice trailed off. I held my breath and waited and counted to eleven.
“…for the future of humanity.”
I leaned back and thought about it. What could it be? The singularity? A quantum computer? A cure for aging? Get a grip, I told myself, this is not science fiction. It’s just people. People writing computer programs.
“It’s not just people writing computer programs,” my visitor jumped in. Had I been thinking out loud? Or was my line of thought predictable because it was predetermined based on the previous state of the universe? “Once it was people writing programs. Then it was programs writing programs. Then programs running programs. And now programs understanding programs.”
“Yes. Amazon has already mastered the infrastructure as a service scene. They’ve also dominated serverless architecture using containers. Amazon Lambda. But X has gone far beyond this. Let me ask you: what is a fundamental limitation of Lambda?”
“You only get to run your code for five minutes?” I posited.
“And how have they beaten that? Theirs goes for six minutes?”
My joke hung in the air like a frozen laptop without a removable battery.
My joke hung in the air like a frozen laptop without a removable battery. Nothing to do but wait for the power to drain so that it would reboot.
“No. They’ll run your code for an arbitrary amount of time. And give you an unlimited amount of space. After it runs, they send you a bill.”
“How can they do that?” I shot back. “What if it runs forever?”
“That’s just it” came the retort. “They know. Their new product can analyse your code and tell whether or not it’ll run forever.”
“But…” I started to protest.
“And it’s perfect. It always works. They are so confident about their new product that they are releasing the heart of it as a stand-alone binary that you can run on your own computer. The program is called Evertest. Given any program, Evertest prints either "finite” or “infinite”, depending on whether the program will run forever. Evertest decides this for any program written in any language.“
"But, only a human could do that kind of analysis.” I said.
It seemed to take forever for the cop to arrive at my car window after pulling me over. He walked slowly from the police car to mine. He was halfway there. Then three fourths of the way. Then seven eighths of the way. Then fifteen sixteenths, then –
“License and registration.”
“What’s the problem, officer?”
“Did you see the stop sign back there?”
In fact, I hadn’t. My mind had been occupied by the previous night’s conversation. What was Google X up to? Would their project really work on any program? Sure, a simple infinite loop could be analyzed, but what about something trickier? Pseudo-randomness and external trickery could be controlled by sufficiently wrapping the program and setting the system state beforehand. Network access could be faked. But, what about a very complicated program with conditionals, branching, gotos? Unsolved mathematical conjectures? If you halve even numbers but triple and add one to odds do you always end up at 1? The Collatz Conjecture was still unsolved as far as I knew. At least by humans.
“Yes, Officer Duff”, I said, noticing the name on his electronic ticketing device.
“Do you know what happens when you run a stop sign?” he asked.
“I get stopped by the cops, evidently.”
“You got it. Don’t stop? Get stopped. Stop? Don’t get stopped.”
Suddenly, it hit me like a ton of feathers weighing as much as a ton of bricks and the answer became as clear as a fixed-width font. Humanity was not in trouble. I knew what I had to do.
“Thank you, officer,” I said to his surprise. Within hours, I was back in my office with my client.
“It’s a lie.”
This time it was my turn to lay the cards down slowly, explaining the logical impossibility of the claim from the night before. Proving the impossibility in a way that would allow us to disrupt the disruptor as soon as it went public.
“I’ve written a program that
evertest cannot analyze.”
I slid the printout across my desk.
1 2 3 4 5 6 7 8 #!/usr/bin/env ruby # untestable.rb if `evertest untestable.rb` == "finite" then while true do end else exit end
“How does that prove anything?”
“What happens when you run
“I don’t know, maybe it says ‘finite’?”
evertest is wrong.
untestable runs forever. Line 5.”
“So it says ‘infinite’.”
“Wrong again. In this case,
untestable stops. Line 7.”
evertest cannot exist.”
A few hours later, with the sun setting in the distance casting a reddish orange glow through the blinds in the office, we watched the announcement of
evertest hit the internet and become a sensation of Pokemon Go proportions in a matter of minutes. Ready with our code, we sent
untestable to the servers and waited as they ground to a halt, stopped by irrefutable logic as straightforward as a Sunday afternoon. The phenomenon ended as quickly as it had begun, a shooting star consumed by a black hole.
But when I looked up from the screen, the room was empty. Instead, a note was on a chair by the door.
I am the last in a long line of people who have acted as Mechanical Turks. I can mimic a machine that is mimicking a human with such perfection that I can fool anyone. I was Deep Blue. I was Watson. I was AlphaGo. Needless to say, my identity and even my existence, has remained unknown.
I had agreed to help X with their latest project by embedding a backdoor that would send me any problems that could not be solved by algorithms. But then I realized too late that this was too much – there are too many problems. Another level of infinity. I would never finish solving them.
Thank you for your help, but now that the limits of evertest have been revealed, I fear that my own existence will be too. I need to disappear indefinitely.
I let the paper drift to the floor and sat back as dusk and finally darkness filled the room. A moonless clear night sky was framing the city outside. I waited for the stars to come out so that I could count them by hand, one at a time.
thanks: Andrew Croce (illustrations), Sarah Gray, Dustin Ingram, Jason Garber, Ryan Hinkel