Precedent: factors, precedent — argue and court absent as forms
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.
1. When to take it and when not to
Section titled “1. When to take it and when not to”| Instead of | Selection rule |
|---|---|
precedent vs a plain rule defeasible | A 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 rules | Which 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 set | Without 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 + priority | Holdings 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 |
2. Minimal example
Section titled “2. Minimal example”Package research.precedent.forced_holding: a one-line vocabulary, a general defeasible
rule, a π-side precedent with prefer over.
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):
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 не исполнены; код 0law 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.
3. Example by domain
Section titled “3. Example by domain”- Law (common): US advertisement-offer cases (package
us.caselaw.advertisement_offers, United States) — theOfferFactorsvocabulary, three precedentsLefkowitz,Carlill,Leonard, courts of three jurisdictions incomparable,prefer overonly onLefkowitzagainst the general rule (seecorpus-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 courtVS_RK, each withratioandprefer over. - Teaching case (binding):
research.precedent.forced_holding— the holding beats the general rule viaprefer over, answerTRUE_ONLY(check OK,law test2/2). - Teaching case (distinguishing):
research.precedent.distinguished— the same vocabulary; a case with an extra defendant factor quenches the holding vianot_known, the strict general rule gives the answer (FALSE_ONLY), while a clean case binds (TRUE_ONLY).
4. How the engine answers
Section titled “4. How the engine answers”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):
| Facts | Question | Answer | Why |
|---|---|---|---|
ad_clear | is_offer | TRUE_ONLY | the P1/holding holding fired, the P1/over/AdIsNotAnOffer priority beat the general rule |
| no facts | is_offer | NEITHER | the 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_open | is_offer | FALSE_ONLY | the holding stays silent (not_known(terms_open) unmet — distinguishing), the strict general rule decides |
ad_clear, general rule strict | is_offer | FALSE_ONLY | a 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
precedentquery kind:value— thefactorsMap (Y),precedents(each status,distinguishedBy,missing),constraint,caseBase,agreesWithRules; result kind —GRAPHwith an empty proof-graph root. - In
why_nota missing plaintiff factor givesNEITHER: the holding stays silent with its whole body at once (domain +X_s+not_knowncomplement), the profile would call thisINAPPLICABLEwithmissingby name (not verified via aprecedentquery). - Statuses for a precedent with a side-
soutcome under fact situationY = (Y_π, Y_δ):
| Condition | Status | Supplement |
|---|---|---|
X_s ⊆ Y_s and Y_s̄ ⊆ X_s̄, in force at legalTime | BINDING | — |
Y_s̄ ⊄ X_s̄ | DISTINGUISHED | distinguishedBy = Y_s̄ \\ X_s̄ |
Y_s̄ ⊆ X_s̄ but X_s ⊄ Y_s | INAPPLICABLE | missing = X_s \\ Y_s |
both inclusions hold, but on a side-s̄ judgment factor outside X_s̄ there is no adjudicated assertion | JUDGMENT_PENDING | open question |
case earlier than decided / from the overruled date on | NOT_YET / OVERRULED | window [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 pairA(fors),B(fors̄) withA_s ⊆ B_sandB_s̄ ⊆ A_s̄makesconsistent = false. - Normative lowering form, with deterministic identifiers:
rule <P>/holding(defeasible, body — domain +X_s+not_knowncomplement,effective— the force window,origin— thePid);priority_rule <P>/over/<R>for eachRfromprefer_over;priority_rule <P>/over/<Q>against a lower court of the same vocabulary; withratio—rule <P>/ratiounder the<V>/reason_modelreading (contestedstatus, 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.
5. Common mistakes
Section titled “5. Common mistakes”- General rule with
strictinstead ofdefeasiblestrength — the holding loses regardless of priority (pitfalls.md, item 1; confirmed by run). - Precedent factor outside the vocabulary —
LDC-E2701(pitfalls.md, item 2; confirmed by run). - Factor on both vocabulary sides —
LDC-E2702(pitfalls.md, item 3). ratiooutside the winning-side set —LDC-E2704(pitfalls.md, item 4).- Domain not binding all signature variables — the holding stays silent
(
pitfalls.md, item 5). - Expecting a persuasive precedent to beat any rival — incomparable
courts give an honest conflict (
pitfalls.md, item 6). - Searching for
argueandcourtas declarations — they are not in the grammar (pitfalls.md, item 7).
6. References
Section titled “6. References”- Corpus: package
us.caselaw.advertisement_offers(United States; the Lefkowitz/Carlill/Leonard line), packagekz.corpus.np_bank_loan_disputes(Kazakhstan; four vocabularies, fiveVS_RKprecedents). - Form-choice neighbours:
sources,interpretation,priority, judgment — the selection rule inboundaries.md.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.