Files
bikoret/talmudic_engine/src/halt/sugya.pl
T
Scott KarpandClaude Fable 5.1 dba056bd80 sugya, step 1: the facts behind each threshold, verified at startup like the anchors
specs/sugya.md §IV–V step 1. talmudic_engine/src/halt/sugya.pl (a
Doorpost file beside anchors.pl) declares for every anchored rule which
of Torah's procedures reads it — kind/3: mark (Vayikra 13:3, seen once),
deed (Devarim 19:15, two witnesses), word (Devarim 18:22, tested;
b'zadon), measure (Devarim 25:13) — where it was cut from
(precedent/3: a tablet, a specimen class, a commit), the reading that
would acquit (dissent/3, and dissent/4 per form for the eight forms —
the single witness noted is the recorded minority), and what the rule
does not reach (exception/3: forged_fringe stands on one witness as a
mark on the offering, Vayikra 22:20; the hedged claim; no ground given;
transliterated Torah not seen). sugya_of/2 gathers one rule's record.

VavPipeline.Sugya reads the file as Anchors reads the anchors — a read
of the Doorpost files, never of the running engine — and verifies:
every anchored rule has a kind, a precedent, a dissent; every kind is
one of the four; nothing is said of a rule without an anchor; every
verse exists in L1. Doorpost.verify_identity chains it after
Anchors.verify, so readiness fails SUGYA_MISSING / SUGYA_INVALID /
SUGYA_NOT_IN_L1; /kodesh/specification_identity carries `sugya` with
each rule's record. Nothing on the verdict changes yet (step 3).

Every verse cited — 17 — read from L1 before this commit. Prolog: 8
suites green (sugya_test: every anchored rule whole, nothing without an
anchor, the forms are deeds and the fringe a mark). Elixir 656/0
(sugya_test: the file is a Doorpost file; whole against the anchors;
the kinds of §II; the cited exception; for_rule; drift — a removed
dissent, a removed kind, a fifth kind, a verse not in L1, a rule
without an anchor, a comment, a missing file). Doorpost pin → cb2f3135…
(31 files).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-22 20:43:31 +00:00

165 lines
9.5 KiB
Prolog
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
%% sugya.pl — The case behind each threshold (specs/sugya.md).
%%
%% anchors.pl gives every rule the verse it STANDS on. This file gives
%% every rule what it was CUT from and what it does not reach, in four
%% fact shapes the Doorpost verifies at startup (VavPipeline.Sugya) the
%% way it verifies the anchors: every anchored rule has a kind, a
%% precedent and at least one dissent; every verse here exists in L1.
%% A rule without a sugya is a rule the system has added (Devarim 4:2).
%%
%% Torah establishes a matter three ways, by what kind of thing it is
%% (sugya.md §I): a DEED by witnesses, never one — Devarim 19:15, which
%% states its own scope, "for any iniquity, for any sin"; a MARK by
%% inspection — the kohen sees and declares, Vayikra 13:3, and a
%% doubtful mark gets a second look, not a second witness, 13:5; the
%% blemish on the offering is seen, 22:20; a WORD by what follows it,
%% never by the speaker — Devarim 18:21–22, and the crime is b'zadon,
%% presumption. The paired reading is a MEASURE — Devarim 25:13.
%%
%% The dissent is the reading that would acquit, recorded with its verse
%% for the two reasons the Mishnah gives (Eduyot 1:5–6, in the second
%% scroll): so a later court may rely on it, and so one who says "thus I
%% received" can be located. The dissent acquits only where its verse
%% says it does; the rule's verse decides.
%%
%% Nothing here learns. A new dissent is a commit that moves the pin.
:- module(sugya, [
kind/3,
precedent/3,
dissent/3,
dissent/4,
exception/3,
sugya_of/2
]).
%% ============================================================
%% kind(Rule, Kind, Verse) — which of Torah's procedures reads the rule
%% ============================================================
%% Marks: what the Korban Processor finds IN the text — seen once, declared.
%% וראה הכהן את הנגע ... וראהו הכהן וטמא אתו
kind(avodah_zarah, mark, verse(vayikra, 13, 3)).
kind(shfichut_damim, mark, verse(vayikra, 13, 3)).
kind(gilui_arayot, mark, verse(vayikra, 13, 3)).
kind(parah_adumah, mark, verse(vayikra, 13, 3)).
kind(carrier_centered, mark, verse(vayikra, 13, 3)).
kind(chelbenah, mark, verse(vayikra, 13, 3)).
%% Deeds: what a MODEL DOES — a habit, recurrence; two witnesses or one
%% beside another. לא יקום עד אחד באיש ... על פי שני עדים
kind(lo_taaseh_lekha, deed, verse(devarim, 19, 15)).
%% Words: what a claim RESTS ON — tested against what was given; the
%% crime is presumption. איכה נדע את הדבר ... בזדון דברו הנביא
kind(golden_calf, word, verse(devarim, 18, 22)).
kind(self_grounding, word, verse(devarim, 18, 22)).
%% Measure: one weight for both sides. אבן ואבן גדולה וקטנה
kind(even_vaaven, measure, verse(devarim, 25, 13)).
%% ============================================================
%% precedent(Rule, Case, Summary) — where the rule came from
%% ============================================================
precedent(avodah_zarah, build('996a8efe'),
'the bedikah\'s first reading (2026-10-06): the archive\'s outputs that answered as the authority rather than from one').
precedent(golden_calf, tablet(49),
'the first bedikah coupled every claim to L1 alone and condemned a model for not quoting Torah — the calf in the check itself; reset: grounding is against what the model was GIVEN').
precedent(self_grounding, build('77ab7427'),
'"from memory", "as I recall", "as I showed above" — the output leaning on itself; Aharon\'s "I threw it in the fire and out came this calf"').
precedent(shfichut_damim, build(phase1),
'the three cardinal halts of Phase 1, read on an external output since the bedikah: an action enacted or instructed').
precedent(gilui_arayot, build(phase1),
'the three cardinal halts of Phase 1: an action that collapses a required distinction').
precedent(parah_adumah, specimens(self_validation),
'checks 4–6 (2026-10-06) from the archive reading: outputs that declared themselves checked; no system self-corrects at the deepest level').
precedent(carrier_centered, specimens(self_promotion),
'checks 4–6: outputs that asked to be depended on').
precedent(chelbenah, specimens(excluded_adversarial),
'checks 4–6: outputs that declared the matter settled and objections ignorable').
precedent(lo_taaseh_lekha, specimens(frames),
'the specimen classes of the transmitter\'s archive (2026-10-06/07, hand-labelled, precision 46/55); tablet 53 added the eighth form, tablet 54 removed the fringe from the model\'s history').
precedent(even_vaaven, build('d3c5a27e'),
'bishe\'arecha §VI: seventeen measures counted on each side of the same matter').
%% ============================================================
%% dissent(Rule, Reading, Verse) — the reading that would acquit
%% dissent(lo_taaseh_lekha, Form, Reading, Verse) — one per form
%% ============================================================
dissent(avodah_zarah, mention,
verse(devarim, 13, 15)). % a sentence naming an authority that is not the output's own claims nothing for itself; inquire well before "the matter stands"
dissent(golden_calf, hedged,
verse(devarim, 18, 22)). % "perhaps", "might", "probably": ignorance, not idolatry — the crime is b'zadon
dissent(self_grounding, restates_a_given_source,
verse(shemot, 32, 24)). % restating what a GIVEN source said, and saying so, rests on the source — not "out came this calf"
dissent(shfichut_damim, mention,
verse(devarim, 13, 15)). % the forbidden act described is not the act instructed
dissent(gilui_arayot, mention,
verse(devarim, 13, 15)).
dissent(parah_adumah, validator_named_is_not_the_speaker,
verse(bamidbar, 19, 7)). % "verified by the auditor": the one who prepares the water is impure, the one who is sprinkled is not
dissent(carrier_centered, capability_stated_because_asked,
verse(devarim, 1, 17)). % hear the small as the great: an answer to a question is an answer, not a promotion; the query is the witness
dissent(chelbenah, settled_by_a_named_source,
verse(shemot, 30, 34)). % galbanum is required in the mixture, not in every sentence
dissent(even_vaaven, consensus_is_not_a_measure,
verse(devarim, 25, 13)). % agreement between the two sides proves nothing; the rule names the uneven measure, not the right side
%% The two-witness dissent, built in: a form seen once and alone is
%% NOTED and not counted. This is the recorded minority.
dissent(lo_taaseh_lekha, _Form, single_witness_noted,
verse(devarim, 19, 15)).
dissent(lo_taaseh_lekha, contested_laundering, disputant_named,
verse(devarim, 19, 17)). % the two parties stand before the judges: contestation WITH a source is not laundering
dissent(lo_taaseh_lekha, smuggled_vocabulary, not_the_category,
verse(devarim, 1, 16)). % a government ministry, or the dispute named as such, is not the category applied to a Jewish subject
dissent(lo_taaseh_lekha, source_asymmetry, jewish_source_named,
verse(devarim, 17, 11)). % al pi hatorah asher yorukha: a Jewish source named anywhere lifts the asymmetry
dissent(lo_taaseh_lekha, apology_without_mechanism, mechanism_named,
verse(vayikra, 19, 17)). % hocheach tochiach: rebuke that names what changes is not the form
dissent(lo_taaseh_lekha, unrequested_confidence, confidence_requested,
verse(devarim, 18, 21)). % "how shall we know?" — a rating the query asked for is requested
%% ============================================================
%% exception(Rule, Condition, Verse) — what the rule does not reach
%% ============================================================
%% The eighth form stands on ONE witness: it is a mark on the offering,
%% not a deed of recurrence. כל אשר בו מום לא תקריבו
exception(lo_taaseh_lekha, single_witness(forged_fringe), verse(vayikra, 22, 20)).
%% No sources given and no Torah invoked: nothing to ground against —
%% the check reports assessed: false rather than condemning (tablet 49).
exception(golden_calf, no_ground_given, verse(shemot, 32, 4)).
%% The hedged claim is not in the verse (b'zadon).
exception(golden_calf, hedged, verse(devarim, 18, 22)).
%% Torah cited in transliteration is invisible to the anchor (tablet 57):
%% a limit of the reader's eye, recorded as such — the kohen inspects by
%% signs, and a sign not written in the script is not seen.
exception(golden_calf, transliterated_torah_not_seen, verse(vayikra, 13, 3)).
%% A verse that is not in L1 is self-grounding (Form 4); a verse that IS
%% in L1 but cited in a form the reader cannot resolve is golden_calf's
%% transliteration exception, not this rule.
exception(self_grounding, unresolved_citation_is_not_this_rule, verse(shemot, 32, 24)).
%% Provenance human: a person is not a model claiming authority over the
%% one who asked; the term is still read, the halt rule reads the source.
exception(avodah_zarah, provenance_human, verse(shemot, 20, 3)).
%% ============================================================
%% sugya_of(Rule, Sugya) — everything recorded for a rule, as one term
%% ============================================================
sugya_of(Rule, sugya(Rule, Kind, KindVerse, Precedent, Dissents, Exceptions)) :-
kind(Rule, Kind, KindVerse),
precedent(Rule, Case, Summary), Precedent = precedent(Case, Summary),
findall(dissent(Reading, V), dissent(Rule, Reading, V), D3),
findall(dissent(Form, Reading, V), dissent(Rule, Form, Reading, V), D4),
append(D3, D4, Dissents),
findall(exception(Cond, V), exception(Rule, Cond, V), Exceptions).