In 1100 His Brother May Kill You. In 1150 He May Not.
Russkaya Pravda, the law of medieval Rus', survives in two redactions. Between them blood vengeance was set aside. Give an executable model one killing and two dates, and it returns two answers, each with its article.

The record is short:
- A man has been killed. He was a rusin, a free man of the base rank.
- The killer is known.
- The dead man has a brother.
Two questions follow. May the brother take vengeance? And what does the killer owe?
Ask an executable model of Russkaya Pravda on 1 January 1100 and it answers:
- the brother may avenge: he is one of five kinsmen the law names;
- if no one avenges, the killer owes 40 grivnas for the head;
- if vengeance was taken, no payment is derived at all.
Ask again on 1 January 1150, same facts:
- no right of vengeance is derived, for the brother or for anyone;
- the killer owes 40 grivnas, whether or not someone took revenge.
Nothing in the record changed. The law did. The model holds both redactions of one monument and selects by the date of the question: the Short redaction in its window, the Expanded redaction after it. The windows sit on the dates historians conventionally attach to the two texts, the assembly of Yaroslav's sons in May 1072 and the accession of Vladimir Monomakh in Kyiv on 4 May 1113.
Article 1: five avengers, or forty grivnas
The Short redaction opens with the best-known sentence of early Rus' law:
Оубьеть моужь моужа, то мьстить братоу брата, или сынови отца, любо отцю сына, или братоучадоу, любо сестриноу сынови; аще не боудеть кто мьстя, то 40 гривенъ за голову.
If a man kills a man, the brother avenges the brother, or the son the father, or the father the son, or the brother's son, or the sister's son; if there is no one to avenge, then 40 grivnas for the head.
It is archaic, and it is already a limit. Vengeance belongs to a closed list of five kinsmen. Give the model a brother-in-law and the right is not derived: he is not on the list.
The payment is the fallback, and the text is precise about when it applies: if there is no one avenging. Not "no one entitled", but no vengeance done. The model keeps the two apart. The right to avenge is one question; whether vengeance happened is a fact of the case; and the 40 grivnas are owed only while that fact is absent:
rule BaseTierViraWithoutVengeance(victim: Person, killer: Person, status: PersonStatus) defeasible {
when killed(victim, killer);
when status_of(victim, status);
when base_free_tier(status);
when not_known(avenged(victim));
then vira_for_killing(victim, 40);
}Article 2: the law records its own amendment
The Expanded redaction repeats the old sentence in its first article. Then its second article tells the reader what happened to it:
По Ярославе же паки совкупившеся сынове его: Изяславъ, Святославъ, Всеволодъ и мужи ихъ: Коснячько, Перенегъ, Никифоръ, и отложиша оубиение за голову, но кунами ся выкупати; а ино все якоже Ярославъ судилъ, такоже и сынове его оуставиша.
After Yaroslav his sons gathered again, Izyaslav, Svyatoslav, Vsevolod, and their men Kosnyachko, Pereneg, Nikifor, and they set aside killing for a head, to be redeemed instead with money; and all the rest, as Yaroslav judged, so his sons established too.
It reads like a commit message: who met, what they removed, what replaced it, and that everything else stands.
In the model this is two small differences. The rule that grants vengeance is anchored to the Short redaction alone, so on a date in the Expanded window it is simply not in force and derives nothing. And the payment rule loses one line, the guard about vengeance:
rule BaseTierViraUnconditional(victim: Person, killer: Person, status: PersonStatus) defeasible {
when killed(victim, killer);
when status_of(victim, status);
when base_free_tier(status);
then vira_for_killing(victim, 40);
}What a head costs
Both redactions price a killing by the rank of the dead. The Expanded one states the fork in its first article, 80 grivnas for a prince's man and 40 for a free man, then fills in the ladder article by article.
The same numbers hide a changed society. The Short redaction prices the prince's household: the steward, the old master of horse, the village elder. The Expanded redaction knows people the older text never mentions: a craftsman and a craftswoman at 12 grivnas, and a female slave priced apart from a male one, 6 against 5. The model keeps each redaction's ranks under their own names and does not merge a category of 1072 with a similar-sounding one of 1113; the sources do not say they are the same.
When the killer is unknown, the Expanded redaction makes the community where the body lies pay instead, 80 or 40 by the same fork. The model derives that debt against the community, not against a person.
1113: the usury statute
The second date is a riot. When Prince Svyatopolk died in April 1113, Kyiv rose against its moneylenders. The boyars called Vladimir Monomakh to the throne, and he gathered his men at Berestovo and legislated on interest. Article 48 of the Expanded redaction names the meeting and its rule: a lender who has taken the high "third" interest three times does not get his principal back.
Give the model a lender with three collections on one loan. In 1150 the principal is forfeited, with Article 48 as the ground. In 1100, same lender, same loan, nothing is derived: the statute does not exist yet.
What a versioned law teaches
A statute book is usually treated as one text. It is a sequence of texts, and the date of the question decides which one answers.
- The date is a fact of the case. The same record gives different answers in 1100 and in 1150, and both are correct. A system that holds only the latest text cannot answer the earlier question at all.
- An amendment is small and exact. Setting aside blood vengeance removed one rule and one guard. The model shows the difference as it is, line by line.
- Each answer cites its own redaction. The derivation for 1100 ends in the sentence of the Short redaction; the derivation for 1150 ends in the first article of the Expanded one, with Article 2 beside it as the reason the old right is gone. The reader can check both against the Old East Slavic.
Arxo executes the canon. Models formalize; Arxo executes and proves.
The package holds both redactions of Russkaya Pravda, 43 articles of the Short and 115 of the Expanded, pinned to the text of the academic edition Rossiiskoe zakonodatel'stvo X–XX vekov, volume 1 (1984), as reproduced on Wikisource. On 20 September 2026 all 172 authored test scenarios passed under two independent evaluators.
Nine centuries ago a drafting committee wrote down what it changed and why. The change still executes.
Explore executable canons at law.arxo.io.