Sunday, August 2, 2020

Digital circuits in two-dimensional time

Time appears to be one-dimensional. But does it have to be that way?

For example, here is a simulation of a ball bouncing in two dimensions of time, tx and ty:

The ball's velocity is an orientation (tangent plane or normal vector) in (tx, ty, h) space, and its acceleration (from gravity) is the local curvature of the surface.

But suppose you built a digital circuit in a universe with two time dimensions. Specifically, a synchronous digital circuit, whose discrete state S is a function of two discrete time variables, ix and iy:

State changes are driven by a pair of two-dimensional clocks:

As the system crosses over a clock edge, it transitions according to a pair of rules:

Six,iy = fx(Six-1,iy)
Six,iy = fy(Six,iy-1)

But wait! This creates a potential inconsistency:

Such state transitions only avoid a race condition at the intersection of rising edges if fx · fy = fy · fx.

Well, that's possible. For example, the following state transitions satisfy the above consistency criterion:

S fx(S) fy(S)

The problem is, if fx · fy = fy · fx, then any sequence

fx · ... · fy · ... · fy · ... · fx

is just

fx · ... · fx (n times) · fy · ... · fy (m times).

That is, there is no interaction between the two time dimensions. The system is, for all intents and purposes, two independent systems, each with one-dimensional time. And, if you lived in such a universe, you would never know, because each version of "you" would have no way of knowing about the other.

And so it would be just like the world we know.