Spaces:
Paused
Paused
File size: 1,590 Bytes
e275dee 9f9419b e275dee 9f9419b e275dee 9f9419b a1bc809 e275dee 090a1ba 9f9419b 090a1ba 9f9419b 090a1ba 9f9419b 090a1ba a1bc809 9f9419b a1bc809 9f9419b 090a1ba | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ---
title: Operon Coalgebra
emoji: ⚙️
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: "6.5.1"
app_file: app.py
pinned: false
license: mit
short_description: Composable state machines with bounded equivalence checks
---
# ⚙️ Coalgebra -- State Machine Explorer
Build, compose, and compare coalgebraic state machines -- the formal backbone of agent state management in Operon.
## What to Try
1. Open the **Step-by-Step** tab, pick a machine type (e.g. "Counter" or "Modular mod 10"), enter a comma-separated input sequence like `1,2,3,4,5`, and click **Run Sequence** to see the full transition trace.
2. Switch to the **Composition** tab, select two different machine types and a mode (Parallel or Sequential), then run inputs to watch both machines evolve together.
3. In the **Finite-Trace Equivalence** tab, pick two machines, enter an input sequence, and click **Check Equivalence** to see if they produce identical outputs or find the divergence witness.
## How It Works
A coalgebra defines a state machine with observation (`readout`) and transition (`update`) functions. Machines can be composed in parallel (shared input) or sequentially (output feeds input), and `check_bisimulation()` compares whether two machines are observationally equivalent over a supplied input sequence. In other words, this demo shows a bounded finite-trace equivalence check rather than an all-input proof.
## Learn More
[GitHub](https://github.com/coredipper/operon) | [PyPI](https://pypi.org/project/operon-ai/) | [Paper](https://github.com/coredipper/operon/tree/main/article)
|