Skip to content
docs
Arxo ↗

Precedent: factors, precedent — argue and court absent as forms

For LLMs6 sections

In one sentence: the factors + precedent link answers the question “which past decision binds in this case and how the new case differs from it”: the vocabulary pins a line’s closed factor set with an attributed side and a court preorder, a precedent holds one decision’s factor sets and its outcome, and the compiler generates an executable holding and priorities from the precedent. Take them when the outcome must follow from case similarity (a fortiori), not from statutory-norm text.

Honest executability-status pin: the profile executes on the installed law (semantics law.core/0.2). A trial package with factors/precedent gives check OK, law test passes. There is NO argue keyword in the grammar (verified against the grammar), and there is no separate court declaration either — court exists only as an item inside precedent. Hence “argue” and “court” in this directory are described as absent forms (see boundaries.md), and the examples build on factors/precedent.

Past decisions bind through case similarity: vocabularies of factors, precedents with outcomes, compiler-generated holdings and priorities. No other page covers precedent — this catalogue closes that gap.

Instead ofSelection rule
precedent vs a plain rule defeasibleA rule reads facts directly; a precedent reads case similarity: binding checks two set inclusions X_s ⊆ Y_s and Y_s̄ ⊆ X_s̄, and mismatch is named by name (distinguishedBy, missing). One decision applied to changing cases is precedent; a one-off norm over facts is rule
prefer over in a precedent vs priority between rulesWhich general (statutory) rule beats the holding is known by the author, not the compiler: holding-over-statute priority is declared as a prefer over item inside precedent. Compiler-generated holding-vs-holding priority of the same vocabulary comes from court rank and dates — never written by hand
ratio vs the winning side’s full setWithout ratio the result model binds (all of X_s); with ratio the compiler additionally builds a ratio rule under the <V>/reason_model reading (contested status), and the reading choice decides which outcome binds. The court named the ground — write ratio; it did not — do not invent
factors/precedent vs sources + interpretation + rule + priorityHoldings and distinguishing are expressible in base means. The profile is taken when its named answers are needed: binding statuses, constraint, base consistency, agreesWithRules checkability. Only the conclusion needed — base forms suffice

Package research.precedent.forced_holding: a one-line vocabulary, a general defeasible rule, a π-side precedent with prefer over.

Arxo Law
entity Deal { label ru-KZ official "Сделка"; }
relation ad_clear(c: Deal) kind empirical { label ru-KZ official "объявление ясно и определённо"; }
relation terms_open(c: Deal) kind empirical { label ru-KZ official "условия оставлены открытыми"; }
relation is_offer(c: Deal) kind institutional { label ru-KZ official "объявление есть оферта"; }
factors OfferLine {
label ru-KZ official "словарь линии «объявление как оферта»: за оферту — ясность; против — открытые условия";
for c: Deal;
domain ad_clear(c);
plaintiff ad_clear;
defendant terms_open;
courts HIGH; LOW;
}
rule AdIsNotAnOffer defeasible {
label ru-KZ official "Общее правило: ясное объявление само по себе офертой не является";
for c: Deal;
when ad_clear(c);
then not is_offer(c);
}
precedent P1 of OfferLine {
label ru-KZ official "Ясное объявление без открытых условий есть оферта (учебное решение)";
court HIGH;
decided @2020-06-01;
plaintiff ad_clear;
outcome is_offer(c);
prefer over AdIsNotAnOffer;
}

Case facts: ad_clear(urn:case:research:precedent:deal1) with origin case_input. Query: evaluate truth(is_offer(...)) at legal_time @2026-01-01.

Observed engine answer (installed law, semantics law.core/0.2):

Output
law test research.precedent.forced_holding: мир research.precedent.forced_holding
ok [research.precedent.forced_holding#authored] tests/01-bound.lawtest / urn:query:research-precedent-01
ok [research.precedent.forced_holding#authored] tests/02-factor-missing.lawtest / urn:query:research-precedent-02
итого: 2 проверено, 2 прошли, 0 не прошли, 0 не исполнены; код 0

law engine check — check OK, no warnings. Sensitivity: removing the ad_clear fact changes the expectation from TRUE_ONLY to NEITHER (tests/02-factor-missing.lawtest) — the example is not vacuous: without the plaintiff factor neither the holding domain nor the general rule fires.

Nearest wrong outcome (verified by run during this research): writing the general rule with strict strength instead of defeasible makes the same 01-bound test give FALSE_ONLY instead of TRUE_ONLY — a strict rule beats the generated holding regardless of the generated priority. The reverse would be the mistake: expecting prefer over to outrank any rule strength.

  • Law (common): US advertisement-offer cases (package us.caselaw.advertisement_offers, United States) — the OfferFactors vocabulary, three precedents Lefkowitz, Carlill, Leonard, courts of three jurisdictions incomparable, prefer over only on Lefkowitz against the general rule (see corpus-forms.md).
  • Law (KZ, a normative resolution as precedent): package kz.corpus.np_bank_loan_disputes (Kazakhstan) — four vocabularies (VinaKreditoraFactors, VinaDolzhnikaFactors, SnizhenieNeustoykiFactors, NesorazmernostZalogaFactors) and five precedents of one court VS_RK, each with ratio and prefer over.
  • Teaching case (binding): research.precedent.forced_holding — the holding beats the general rule via prefer over, answer TRUE_ONLY (check OK, law test 2/2).
  • Teaching case (distinguishing): research.precedent.distinguished — the same vocabulary; a case with an extra defendant factor quenches the holding via not_known, the strict general rule gives the answer (FALSE_ONLY), while a clean case binds (TRUE_ONLY).

Table — observed runs of this directory’s examples (installed law, semantics law.core/0.2; truth-kind queries, i.e. baseline execution of the generated holdings):

FactsQuestionAnswerWhy
ad_clearis_offerTRUE_ONLYthe P1/holding holding fired, the P1/over/AdIsNotAnOffer priority beat the general rule
no factsis_offerNEITHERthe holding domain and the general rule stay silent; the profile would call the precedent INAPPLICABLE with missing (not verified via a precedent query)
ad_clear + terms_openis_offerFALSE_ONLYthe holding stays silent (not_known(terms_open) unmet — distinguishing), the strict general rule decides
ad_clear, general rule strictis_offerFALSE_ONLYa strict rule beats the generated holding regardless of priority (research finding)

Beyond the table, per the profile (these statuses were not run via a precedent query during the research — “not verified” marks):

  • The profile’s own answer is available ONLY via the precedent query kind: value — the factors Map (Y), precedents (each status, distinguishedBy, missing), constraint, caseBase, agreesWithRules; result kind — GRAPH with an empty proof-graph root.
  • In why_not a missing plaintiff factor gives NEITHER: the holding stays silent with its whole body at once (domain + X_s + not_known complement), the profile would call this INAPPLICABLE with missing by name (not verified via a precedent query).
  • Statuses for a precedent with a side-s outcome under fact situation Y = (Y_π, Y_δ):
ConditionStatusSupplement
X_s ⊆ Y_s and Y_s̄ ⊆ X_s̄, in force at legalTimeBINDING—
Y_s̄ ⊄ X_s̄DISTINGUISHEDdistinguishedBy = Y_s̄ \\ X_s̄
Y_s̄ ⊆ X_s̄ but X_s ⊄ Y_sINAPPLICABLEmissing = X_s \\ Y_s
both inclusions hold, but on a side-s̄ judgment factor outside X_s̄ there is no adjudicated assertionJUDGMENT_PENDINGopen question
case earlier than decided / from the overruled date onNOT_YET / OVERRULEDwindow [decided, T)
  • Binding conflict: a higher or equal later court with the opposite outcome dominates; the total is FORCED_FOR / FORCED_AGAINST / CONFLICT / UNCONSTRAINED. Base consistency: a pair A (for s), B (for s̄) with A_s ⊆ B_s and B_s̄ ⊆ A_s̄ makes consistent = false.
  • Normative lowering form, with deterministic identifiers: rule <P>/holding (defeasible, body — domain + X_s + not_known complement, effective — the force window, origin — the P id); priority_rule <P>/over/<R> for each R from prefer_over; priority_rule <P>/over/<Q> against a lower court of the same vocabulary; with ratio — rule <P>/ratio under the <V>/reason_model reading (contested status, choice by reading).

Example sensitivity (verified by run): in research.precedent.forced_holding removing the ad_clear fact gives TRUE_ONLY → NEITHER, swapping the general rule’s strength defeasible → strict gives TRUE_ONLY → FALSE_ONLY. In research.precedent.distinguished adding the terms_open fact gives TRUE_ONLY → FALSE_ONLY (distinguishing). Both examples react to exactly one fact change — not vacuous.

  1. General rule with strict instead of defeasible strength — the holding loses regardless of priority (pitfalls.md, item 1; confirmed by run).
  2. Precedent factor outside the vocabulary — LDC-E2701 (pitfalls.md, item 2; confirmed by run).
  3. Factor on both vocabulary sides — LDC-E2702 (pitfalls.md, item 3).
  4. ratio outside the winning-side set — LDC-E2704 (pitfalls.md, item 4).
  5. Domain not binding all signature variables — the holding stays silent (pitfalls.md, item 5).
  6. Expecting a persuasive precedent to beat any rival — incomparable courts give an honest conflict (pitfalls.md, item 6).
  7. Searching for argue and court as declarations — they are not in the grammar (pitfalls.md, item 7).
  • Corpus: package us.caselaw.advertisement_offers (United States; the Lefkowitz/Carlill/Leonard line), package kz.corpus.np_bank_loan_disputes (Kazakhstan; four vocabularies, five VS_RK precedents).
  • Form-choice neighbours: sources, interpretation, priority, judgment — the selection rule in boundaries.md.

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

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