Time, Space, and Uncertainty

Post 8 · Phase 2 — Dimensions

So far, we have described systems in terms of facts, rules, effects, invariants, and context.

This gives us a rich way to model structure and behavior.

But one important dimension is still missing. So far, our system has been static.

Systems Evolve

In reality, systems change over time.

Ownership is not just true or false: Alice owns an asset now, Bob may own it later.

Permissions may expire, be granted temporarily, or depend on past events.

To capture this, we need to move from describing a single state to describing a sequence of states over time.

From States to Histories

Instead of asking "What is true?", we begin to ask "What was true, and what becomes true next?"

Our earlier rule — ownership can be transferred — can now be understood as a transition from one valid state to another.

A system is no longer a single snapshot. It is a history of states connected by transitions.

Time as a First-Class Concern

In many systems, time is handled indirectly: timestamps in databases, logs of events, ad-hoc expiration checks.

These approaches work, but they are fragmented and difficult to reason about globally.

In Spine, time is part of the model itself.

This allows us to express ideas like:

Reasoning About Change

Once time is explicit, we can ask deeper questions:

These are not just local checks. They are properties of entire evolutions of the system.

Introducing Uncertainty

Not all systems are deterministic.

In practice: actions may fail, outcomes may depend on external factors, and systems may be distributed or partially known.

For example: a transfer request may be rejected, approval may be probabilistic, and network delays may affect ordering.

This introduces uncertainty.

From Deterministic to Probabilistic Behavior

In a deterministic system, a given state and action lead to a single outcome.

In a system with uncertainty, a state and action may lead to multiple possible outcomes — each with some likelihood.

This changes how we think about behavior: not as a single path, but as a space of possible evolutions.

Space as Context

In addition to time and uncertainty, systems often depend on where things are.

For example: assets may exist in locations, actions may depend on proximity, and rules may vary across regions.

At first glance, this may seem like just another kind of data.

But it has deeper implications: distance may be defined differently depending on context, movement may have constraints, and relationships may depend on spatial structure.

This introduces another dimension: the interpretation of the system may depend on how space is modeled.

Bringing It Together

We now have a richer picture of our Asset System:

These are not separate concerns. They interact.

A System of Possible Worlds

One way to think about this is: a system defines a space of possible worlds.

Each world satisfies the constraints and reflects a valid state.

Transitions connect these worlds over time. Uncertainty introduces multiple possible paths. Context determines which worlds are relevant.

A Subtle Shift

This brings us to another shift in perspective: from describing a single system, to describing a space of possible systems and their evolution.

This is where modeling begins to overlap with reasoning.

Looking Ahead

We have now assembled most of the pieces: facts, rules, effects, invariants, context, time, space, and uncertainty.

But so far, we have described systems as a single evolving whole. Real systems are not monolithic — they are made of parts that operate concurrently, communicate, and coordinate.

In the next post, we will explore processes: how concurrent behaviors are modeled, how agents interact, and how the composition of behaviors preserves the system's properties.

← Previous: Modeling Rules That Depend on Context Next: Processes and Concurrent Behavior →