Skip to content
docs
Arxo ↗

Establish a violation

For LLMs6 sections

I want to distinguish proven non-performance from missing information.

Incorrect form
// Срок истёк, done(p) в деле нет: expect position(Main, VIOLATED).

A violation requires established absence of achievement. Missing a record does not give negative support; the counterfactual removes exactly the explicit negation.

Arxo Law
language "law.core" version "0.2";
package recipes.zh.r01 version "0.1.0";
namespace "urn:recipe:zh-violation:01";
entity Person;
relation enrolled(p: Person);
relation done(p: Person);
rule Primary defeasible { for p: Person; when enrolled(p);
then duty Main { bearer p; achieve done(p) during [@2026-09-01, @2026-09-10]; };
}
Facts and snapshotQuestionAnswer
failure established; 2026-09-13positions()position(Main, VIOLATED);
non-performance not presented; 2026-09-13positions()position(Main, UNDETERMINED);
performance established; 2026-09-13positions()position(Main, SATISFIED);
mistaken expectation of a violation; 2026-09-13positions()position(Main, VIOLATED);; expected FAIL
established failure violates
Arxo Law
test "established failure violates" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:01:p")); assert not done(entity_ref("urn:recipe:zh-violation:01:p"));
}
evaluate positions();
expect position(Main, VIOLATED);
expect evaluation_status == COMPUTED;
}
unclaimed non-performance stays undetermined
Arxo Law
test "unclaimed non-performance stays undetermined" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:01:p"));
}
evaluate positions();
expect position(Main, UNDETERMINED);
expect evaluation_status == COMPUTED;
}
established performance satisfies
Arxo Law
test "established performance satisfies" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:01:p")); assert done(entity_ref("urn:recipe:zh-violation:01:p"));
}
evaluate positions();
expect position(Main, SATISFIED);
expect evaluation_status == COMPUTED;
}
mistaken violation expectation
Arxo Law
test "mistaken violation expectation" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-30T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert enrolled(entity_ref("urn:recipe:zh-violation:01:p"));
}
evaluate positions();
expect position(Main, VIOLATED);
expect evaluation_status == COMPUTED;
}

Diagnostic mutation deleting the duty-holder line: LDC-E1305. Semantic differences are pinned as separate scenes.

Here the explicit non-performance fact applies to the whole achievement window. Raw action records are first bound to time; absence of an event in an incomplete journal is not such a fact.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.