Argument map

An argument kept as a record, and the shape that needed path patterns.

Three kinds of document. A claim states something. An inference draws one claim from others: its premises name the claims it starts from, and concludes names the claim it reaches. An objection challenges a claim or an inference.

No field says which claim follows from which. That fact takes two fields on two documents: premise_of on the premise and concludes on the inference. A chain over either field alone stops at the inference. So the line is declared as a named path pattern, and the chain walks that:

patterns:
  follows_from: (b:CLAIM)<-[:concludes]-(i:INF)<-[:premise_of]-(a:CLAIM)

It reads like the field it stands in for: the first node is the step and the last is the claim it builds on, so a conclusion nests under its premises. i is named, so each step on the page says which inference it went through.

Two views of one argument. Lines of argument walks every step. Uncontested lines walks stands_on, the same pattern with WHERE NOT (i)<-[:challenges]-(:OBJ). It drops the step from the 2025 inspection to “the repair can wait”, because OBJ-001 challenges it.

An unfinished step draws nothing. INF-004 has a premise and no conclusion yet, so it is not a step on either page. What counts as unfinished depends on what this record requires, so luria does not guess. The record can say it as a pattern of its own:

unfinished: (i:INF)<-[:premise_of]-(:CLAIM) WHERE NOT (i)-[:concludes]->(:CLAIM)

Rendering such a pattern as a list of its matches is luria’s issue 373.

LURIA_ROOT=$PWD luria index
LURIA_ROOT=$PWD luria lint

2 items under this folder.