That’s good, but only if you can stop in time. And indeed, the signals are set up so that if you have to force a fully-loaded, full-speed train to stop, there’s always enough space before it collides with anything else. In principle this is easy to do: When a section is occupied, don’t just make the signal behind it red—go back as far as the maximum stopping distance and make all those signals red, too. As trains run through the system, they’ll leave a wake of buffer space behind them, a trail of red and yellow signals.

When New York’s signaling system was first being installed—much of the work took place at the turn of the last century, with another big wave during the FDR-fueled construction boom of the 1930s—the designers wanted to make it impossible for there to be a collision. They wanted intelligent signals: signals where even if you made a mistake, even if you wanted to, you couldn’t command two trains to simultaneously drive into the same section of track.

This becomes especially important when you have tracks that cross, and switches that route trains from one track to another. In a subway system this happens all the time. New York’s is especially hairy, since many lines have both an express and local track going in each direction. Some big stations can have as many as a dozen lines connecting.

The way you do it is by having what’s called an “interlocking.” An interlocking is just a configuration of signals, switches, and their controls that is set up in such a way that you can never have an unsafe state. In the early days, this was enforced by levers that literally interlocked. If you want to flip a switch over here, you first have to make the signals over there red. If a train entered this section over there, the switch over here would always be disabled.

Bernard Greenberg, who did graduate work in Computer Science at the Massachusetts Institute of Technology in the early ‘70s and on a whim created a fully functional computer simulation of most of New York’s interlockings, explains that “railroad interlockings and telephone exchanges were the big early computers.” Before semiconductors and the modern microprocessor, these systems represented our best attempt to mechanize complexity.

To design even a single interlocking was, and still is, “terrifically complicated.” A thousand considerations—the interactions between signals, switches, and trains; the curves, grades, and other track conditions that affect train speed and braking distances—go into their design. Greenberg, also a composer, likens the problem to writing classical music. “Interlocking is a kind of counterpoint for subway tracks; each track adds about as much complexity as a line of a fugue.”

The switches are connected by wire or still, in some cases, by actual levers, to rooms called “towers” where operators can see which sections of track are occupied, what color the signals are, and what the state of each switch is. By pulling levers and talking to drivers over the radio, they clear paths for trains. The interlockings ensure that even if they do something wrong, they can never clear two trains to take the same path.

The reason there are no realtime countdown clocks on the F line is that even the tower operators don’t know which train is where. All they can see is that a certain section is occupied by a certain anonymous hunk of steel. It’s anonymous because no one has a view of the whole system. A hunk comes into one section of track from somewhere else; the tower’s job is to get it through their section efficiently. The next tower they pass it to will likewise not know whether it’s an F, say, or a G. When there are incidents, trains are located by deduction.