← Latest papers
💻 computer science

A Logical 3-valued Semantics for Nondeterministic Choice

This paper proposes a new three-valued symmetric nondeterministic disjunction within the framework of nondeterministic matrices to provide a logical formalization of computational errors in reactive systems that eliminates sequential evaluation asymmetries while preserving commutativity and operational symmetry.

Original authors: Alessandro Aldini (Dipartimento di Scienze Pure e Applicate Universita' di Urbino, Urbino, Italy), Pierluigi Graziani (Dipartimento di Scienze Pure e Applicate Universita' di Urbino, Urbino, Italy), C
Published 2026-07-23
📖 7 min read🧠 Deep dive

Original authors: Alessandro Aldini (Dipartimento di Scienze Pure e Applicate Universita' di Urbino, Urbino, Italy), Pierluigi Graziani (Dipartimento di Scienze Pure e Applicate Universita' di Urbino, Urbino, Italy), Claudio Antares Mezzina (Dipartimento di Scienze Pure e Applicate Universita' di Urbino, Urbino, Italy), Gandolfo Vergottini (Dipartimento di Scienze Pure e Applicate Universita' di Urbino, Urbino, Italy)

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are standing in a busy control room, watching a giant screen that monitors a fleet of delivery drones. In the world of computer science, this screen represents a "logic system"—a set of rules that helps machines decide what is true, what is false, and what happens when things go wrong. Usually, computers are very black-and-white: a light is either on (True) or off (False). But real life is messy. Sometimes a sensor breaks, a signal gets lost, or a drone simply doesn't know where it is. To handle this, scientists invented "three-valued logic," which adds a third option: "Maybe" or "Unknown."

However, there's a tricky problem when these "Maybe" states meet "Choice." Imagine two drones are trying to pick a route. If one drone's map is broken (an error), does the whole mission fail? Or does the other drone just keep going? Older rules for computers were like a strict traffic cop: if one lane had a pothole, the whole road was closed. Other rules were like a lazy driver who only looked at the left lane first; if that lane was blocked, they stopped immediately without checking the right one. But in a world of flying drones and parallel computers, things happen at the same time. We need a rule that says, "If one path is broken, maybe the other one works, and we don't know which one we'll pick until we try." This is the puzzle of "nondeterministic choice" in the presence of errors.

This paper, written by Alessandro Aldini and his team, tackles that exact puzzle. They argue that the old ways of handling errors in computer logic are too rigid or too one-sided. They propose a brand-new way to think about "OR" choices when errors are involved. Instead of forcing a single answer, they introduce a "symmetric" rule where the computer can genuinely flip a coin between success and failure when things go wrong. They prove this works using a special kind of math called "nondeterministic matrices" and show how it can be translated into a strict set of rules for checking computer programs.

The Problem: The "Lazy" and the "Infectious"

To understand the authors' solution, let's look at the three old ways computers used to handle a broken signal (let's call it "Error").

  1. The "Lazy" Way (McCarthy): Imagine you are reading a menu. If the first item is "Poison," you stop reading immediately and don't even look at the second item. This is how many programming languages work. If the first part of a decision fails, the whole thing stops. The problem? It's unfair. It treats the left side of a choice as more important than the right side. In a world where two computers are working together equally, this "left-first" bias doesn't make sense.
  2. The "Infectious" Way (Bochvar): Imagine a game of "Telephone" where if one person whispers a wrong word, the whole message becomes gibberish. If any part of a calculation has an error, the entire result is declared an error. This is very safe, but it's too pessimistic. If one drone crashes, why should the other drone that is flying perfectly also be grounded?
  3. The "Uncertain" Way (Kleene): This is the middle ground. If one part is broken, the result is just "unknown." It doesn't crash the whole system, but it doesn't guarantee success either.

The authors point out that while these rules are good for simple, step-by-step tasks, they fail when we have concurrent systems—systems where many things happen at once, like a swarm of drones or a network of servers. In these systems, if one branch of a decision fails, the other branch might still work. The old rules either kill the whole system or force a specific order of checking that doesn't exist in reality.

The Solution: A Fair Coin Flip

The team introduces a new logical tool, a special kind of "OR" (which they call ~\tilde{\lor}). Think of this as a magical coin flipper for computers.

In their new system, if you have a choice between "Success" and "Error," the computer doesn't just pick one or the other. Instead, it acknowledges that both outcomes are possible.

  • If you ask, "Can we go Left (Success) OR Right (Error)?", the answer isn't just "Yes" or "No."
  • The answer is: "It might be Yes, or it might be Error. We don't know yet, and both are valid possibilities."

This is called symmetric nondeterminism. It treats both sides of the choice equally. It doesn't care which one you check first (unlike the "Lazy" way), and it doesn't let one error ruin the whole party (unlike the "Infectious" way). It simply says, "If one path is broken, the system might still succeed, or it might fail, and that's a real, valid state of the world."

How They Proved It

The authors didn't just guess this would work; they built a rigorous mathematical framework to prove it.

  1. The Magic Table (Nondeterministic Matrices): They created a special table (a "matrix") that lists all possible outcomes. In this table, the cell for "Success OR Error" doesn't have just one answer; it has a set of answers: {Success, Error}. This allows the logic to hold multiple possibilities at once.
  2. The Rulebook (Sequent Calculus): They wrote a new set of rules (a "calculus") that computers can use to check if a program is safe. They proved that these rules are sound (they never give a wrong answer) and complete (they can find the answer to any valid question).
  3. Two Versions: They showed this works in two ways:
    • Dynamic: Every time the computer makes a choice, it flips the coin fresh. This is great for systems where things change constantly.
    • Static: The computer picks a rule once and sticks to it. This is better for systems that need to be predictable.

The "Deep Dive": Five Values Instead of Three

To make their idea even clearer, the authors went a step further. They realized that the "Error" in their three-valued system was a bit of a mystery. Is it a small glitch? A big crash? A directional mistake?

So, they built a five-valued system. They took that single "Error" box and split it into three distinct types:

  • Soft Error (Kleene): A small hiccup that the system can recover from.
  • Order-Sensitive Error (McCarthy): A mistake that only happens if you check things in the wrong order.
  • Fatal Error (Bochvar): A total crash that stops everything.

They showed that their new "symmetric" three-valued logic is actually a simplified version of this more detailed five-valued world. It's like looking at a blurry photo (three values) versus a high-definition photo (five values). The blurry photo is useful when you don't have the details, but the high-definition photo explains why the blur happens.

Why This Matters

This work is a bridge between how we think about logic and how computers actually behave in the real world. By creating a logic that respects symmetry and allows for genuine uncertainty, the authors provide a better tool for designing systems that are robust. If you are building a network of self-driving cars or a cloud computing system, you don't want your logic to crash just because one sensor failed. You want a system that says, "That sensor failed, but let's see if the other one can take over."

The paper proves that this kind of "fair" logic is mathematically possible and provides the exact rules needed to build it. It suggests that by using these new tools, we can create software that handles errors more gracefully, keeping the system running even when parts of it stumble. The authors conclude that this approach opens the door to better ways of verifying that complex, error-prone systems will behave safely, ensuring that when things go wrong, the computer doesn't just give up—it keeps trying, fairly and logically.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →