Bindings

A binding is a named logic expression. You can have one or many; all panels can target any of them.

What is a binding?

In Logic Studio every expression is a binding. An unnamed expression like A & B creates a single anonymous binding. A named binding like F = A & B; lets you give it an identifier that can be referenced later and targeted individually by the analysis panels.

Unnamed expression

If you type a single expression without a name, Logic Studio treats it as a single binding. All panels (graph, truth table, simplify, etc.) analyse this one expression:

(A & B) | !C

Named bindings

Separate bindings with semicolons. Each name is defined exactly once:

F = A & B;
G = F | !C;
H = G -> D;

Later bindings can reference earlier ones. In this example, G uses F and H uses G. The graph will show the full expanded tree for whichever binding is active.

Multi-binding example with three named bindings (F, G, H) — the graph shows the tree for the active binding H.
Three named bindings. The graph shows the active binding (H). The Bindings panel lists all three with their atom counts.

Active binding

When a program has multiple bindings, the Bindings section in the left panel shows a row per binding. A radio button (⊙) marks which one is active. The graph, simplify panel, and truth table all operate on the active binding.

To change the active binding:

The active binding's row shows its display name and a badge with the atom count (number of unique input variables).

Tip
To see how a downstream binding (H) is built from its dependency chain (FGH), activate H. The graph shows the fully-expanded tree, not just the direct body.

Show-all DAG

The Graph tab has a "Show all" toggle button in the target bar above the canvas. When active, Logic Studio renders a single directed acyclic graph (DAG) containing all bindings as distinct subgraphs, sharing common subexpressions. This is useful for understanding how bindings relate to each other.

In Show-all mode the active-binding selector in the graph target bar is disabled. Each binding's root node is labelled with the binding name.

Display names

Each variable has an editable display name field in the Inputs section. The display name appears in graph node labels and truth table column headers. The raw identifier in the expression is unchanged — display names are cosmetic only.