Geometry of Interaction / Field note 01

The Island
Reading Room

The books are on the boat.
The jetty is out of use.
Can two coordinators agree a delivery plan?

A tiny reading room needs shelves and books. At low tide, an inspection reports that the shore path is open. Follow the questions and replies between landing and delivery.

Follow the conversation
An illustrated island reading room above a rocky shore. A boat carries books beside the jetty, a coordinator stands by the path, and a seal watches from a rock.
A fictional project, with rules you can inspect.
The seal is a bystander, not a decision-maker.
Fig. 01 — Low tide
The project

Fit out one island reading room. Here, we model only the exchange that proposes a delivery plan.

The question

What happens when one coordinator’s answer becomes the other coordinator’s next input?

The mathematical move

Connect two signed interfaces, follow their feedback, then hide the internal conversation.

01 / Put the policies in conversation

A plan emerges one exchange at a time.

Start with a delivery request. The coordinators must ask for an access report before they can propose a route.

You supply the inspection result. The model does not invent a reply from the outside world.

Which reported access routes may be offered?

Can the delivery use a shore-path offer?

Selected here; supplied only when you click below.

f : A → B   g : B → C
g ∘ f : A⁺ ⊔ C⁻ ⇀ A⁻ ⊔ C⁺

Signed feedback between landing and deliveryThe landing coordinator f receives A plus reports and B minus requests; it returns A minus survey questions or B plus offers. The delivery coordinator g receives B plus offers and C minus delivery requests; it returns B minus questions or C plus plans. The two B wires cross without joining. A · INSPECTORB · OFFERS → / ← REQUESTSC · PROJECT fLandingcoordinatorShore path allowed gDeliverycoordinatorFixed pallet A⁺access report →A⁻← survey question B⁺B⁻ C⁻← plan requestC⁺proposed plan → Two directed wires. Their crossing is not a junction.

Ochre marks the current input and output.

Each box applies one rule. Internal replies become the other box’s next input.

Ready / An external request

Ask for a delivery plan.

The project’s request is at C⁻. Take the first step to let the delivery coordinator respond.

Changing a policy or report starts a fresh conversation. Choices stay in the page URL; reloading resets the steps.

The conversation so far

    Explore a missing rule or a repeated internal cycle

    A missing rule cannot answer an input. A cycle does keep answering, but repeats the same internal state without an exterior result. For the cycle, use shore allowed + fixed pallet + shore-only report.

    f The landing coordinator

    Receives the inspection result or a delivery-side question; returns an access offer or a survey request.

    Inspect the current landing rules
    Incoming messageAuthored response

    g The delivery coordinator

    Receives a project request or an access offer; returns a proposed plan or a question about landing.

    Inspect the current delivery rules
    Incoming messageAuthored response

    Reading the signs. A, B and C are interfaces, each with a + and a − side. In this example, + carries reports, offers and plans to the right; − carries questions to the left. The signs describe interface roles, not success and failure. A component can send a reply in either direction.

    02 / Same report, different policies

    An answer changes what happens next.

    The shore-path offer becomes an input to the delivery coordinator. Boxes can use it; a fixed pallet triggers a request for a jetty exception. The next action depends on both policies.

    This button deliberately changes the delivery policy and resets the conversation. The policies do not learn or rewrite themselves when a reply arrives.

    Four policy combinations, evaluated against the selected report.
    Landing ↓
    Delivery →
    Hand-carried boxesFixed pallet

    These are hypothetical model results, not a supplied inspection or a completed delivery.

    03 / Hide the conversation

    What can the outside world see?

    Composition follows the internal exchanges until a message exits. Hiding removes those middle messages from the resulting partial function.

    g ∘ f : A⁺ ⊔ C⁻ ⇀ A⁻ ⊔ C⁺

    One request produces a survey question. A separately supplied report may produce a proposed plan. These are two externally started episodes, not an automatically completed conversation.

    Exterior inputExterior output of g ∘ f

    Computed from the current rules. “Undefined” means there is no entry in the partial function; the diagnostic distinguishes a missing rule from a witnessed cycle.

    An identity copies each signed message through. Composition can be grouped either way. The model’s automated checks exercise identity and associativity on finite examples; those checks are not a general mathematical proof.

    04 / Source → concept → construction → limit

    The idea behind the island.

    01 / Source

    Symmetric feedback

    The starting image is Abramsky’s two-box Geometry of Interaction diagram: a shared interface carries traffic in both directions.

    Abramsky’s slide, p. 9 ↗
    02 / Concept

    Interaction & hiding

    A’s and C’s signed ports stay outside. The B ports connect the components, and composition follows their interaction before hiding B.

    GoI tutorial, p. 32 ↗
    03 / Construction

    A finite routing model

    Each box is a typed partial function. The executable construction illustrates finite Int(Pfn, ⊔): disjoint-union interfaces with explicit missing routes and exact-state cycle detection.

    GoI construction, pp. 28–33 ↗
    04 / Limit

    A plan, not a voyage

    These are authored routing policies, not full game strategies. Legal plays, histories, payoffs and strategic incentives need more structure. No physical delivery, safe passage or human benefit is established here.

    Game semantics, course notes ↗