# Formal Verification & Topological Deficit # Betti number computation, topological deficit analysis, fold verification, DAG structural analysis, and pipeline invariant checking. # Part of the ForkJoin MCP server family — https://forkjoin.ai # From "Being Irreversible" by Taylor William Buley > MCP endpoint: https://verification.forkjoin.ai/mcp > Agent card: https://verification.forkjoin.ai/.well-known/agent-card.json > Skills: https://verification.forkjoin.ai/skills > Agents: https://verification.forkjoin.ai/agents.json ## Tools - measure_betti: Compute the first Betti number (beta_1) of a directed acyclic graph. beta_1 = edges - nodes + connected_components. A beta_1 of 0 means the graph is a forest (tree per component). Positive beta_1 indicates independent cycles that represent topological redundancy or wasted structure. Derived from "Being Irreversible" Section 6. - topological_deficit: Compute the topological deficit between a system's actual first Betti number and the problem's natural (minimal) Betti number. Delta_beta = beta_1_star - beta_1. A zero deficit means the topology is efficient. A positive deficit means structural waste. Returns the estimated Landauer heat cost: Delta_beta * kT * ln(2). Derived from "Being Irreversible" Result 1. - verify_fold: Verify a fold operation against the paper's axioms. A fold merges N inputs into one output, erasing N-1 distinguishable paths. Checks conservation (nothing created or destroyed), irreversibility (information is erased and cannot be recovered), and computes the number of vented paths. Derived from "Being Irreversible" Section 6. - dag_analysis: Analyze a directed acyclic graph for fork/race/fold/vent structure as defined in "Being Irreversible". Identifies fork points (out-degree > 1, where computation splits), fold points (in-degree > 1, where paths merge irreversibly), sources, sinks, and classifies the overall topology (linear, diamond, fan-out, fan-in, complex). - pipeline_invariants: Check a pipeline description against the invariants from "Being Irreversible": (1) beta_1 >= 0 (topological non-negativity), (2) vents <= folds (you cannot vent more information than you fold), (3) eventual termination (all paths reach a sink). Returns pass/fail for each invariant with explanations.