# ejdrup-2026-dopamine — what each format carries

25 claims, 95 typed relations between them.

One source, three targets. Each row is a relation type the paper's claim tree uses; each column is what became of it.

| Relation | In the tree | MIRA | OXA | Discourse Graphs |
|---|---:|---|---|---|
| `supports` | 28 | `cg:supports`, under `mira:supports` | kept | kept |
| `requires` | 20 | `cg:requires`, neutral | kept | dropped |
| `tests` | 11 | `cg:tests`, neutral | kept | kept |
| `entails` | 11 | `cg:entails`, neutral | kept | dropped |
| `scopes` | 8 | `cg:scopes`, neutral | kept | dropped |
| `validates` | 6 | `cg:validates`, under `mira:supports` | kept | kept |
| `rules-out` | 5 | `cg:rules-out`, under `mira:opposes` | kept | kept |
| `dissociates-with` | 4 | `cg:dissociates-with`, neutral | kept | dropped |
| `interprets` | 2 | `cg:interprets`, neutral | kept | dropped |

## What MIRA has no predicate for — and what happens instead

**55 of 95 relations (58%) are neither support nor opposition.** They are not dropped and not flattened. MIRA imports a Discourse Graphs base schema in which relations are definable, and its `AbstractRelationDef` is a neutral root — it carries no supporting or opposing commitment — so each is declared in the document with a domain, a range and a description, and the edges are typed by that declaration.

- `cg:requires` (20) — a claim depends on another holding
- `cg:entails` (11) — a hypothesis entails its prediction — the deductive step
- `cg:scopes` (8) — a scope constraint governs another claim's validity
- `cg:dissociates-with` (4) — the source and target jointly establish a dissociation — two claims whose difference across a condition, region, population or measure is itself the finding, neither bearing on the other's truth (symmetric)
- `cg:interprets` (2) — one claim interprets another

Declaring them under `mira:supports` would have been worse than dropping them: it would assert that a boundary condition is evidence *for* the claim it limits, which reverses the meaning.

## What a reader who knows only core MIRA sees

Every relation keeps its own type — nothing is flattened into `supports`. 39 of the 94 edges are declared under `mira:supports` or `mira:opposes`, so a reader that follows only those two still gets their direction; the reason the edge was drawn is in the declaration rather than lost.

- `supports` (28) — under `mira:supports`
- `requires` (20) — neutral
- `tests` (11) — neutral
- `entails` (11) — neutral
- `scopes` (7) — neutral
- `validates` (6) — under `mira:supports`
- `rules-out` (5) — under `mira:opposes`
- `dissociates-with` (4) — neutral
- `interprets` (2) — neutral

## What MIRA genuinely cannot carry

**1 relations are lost.** They target `*` — the claim constrains the paper as a whole rather than another claim. `scopes` has `mira:Claim` as its range and MIRA has no paper-level node, so no edge is emitted and none is invented. The paper's `gap-report.md` names them.

## What no format carries

Verification — that a claim was checked, by what code, against what deposited data, with what result beside the published value. None of the three has a node for it.

This paper's records: 13 verified, 7 blocked.

---

Generated by `scripts/formats_report.py` from the files in `exports/`, not from the converters' mapping tables — a table says what a converter intends, the export says what it did.
