Skip to content

lawref.divergence

Divergence report §158: расхождение аутентичных языковых редакций (D3).

Норма-повод: аутентичность нескольких языков одного акта (Конституция РК ст. 9 — казахский и русский). §158 требует не «сверить тексты», а показать, что языковые редакции ведут к РАЗНЫМ ВЫВОДАМ: расхождение перевода значимо ровно тогда, когда меняет результат применения нормы.

Механика — надстройка над интерпретациями §152–§157, а не новая семантика: interpretation KkReading of ART_KK привязывает набор правил к фрагменту конкретной языковой редакции, а interpretation_group §155 делает выбор обязательным. Отчёт вычисляет каждую языковую альтернативу ИЗОЛИРОВАННЫМ прогоном (та же дисциплина, что у analysis mode §156: альтернативы никогда не смешиваются — смешение дало бы BOTH там, где на деле есть две разные редакции) и сравнивает результаты.

Сравниваются РЕЗУЛЬТАТЫ, а не документы: manifest изолированных прогонов различается выбором интерпретации всегда, и сверка документов целиком объявляла бы расхождением сам факт выбора.

Отложено: divergence по частям одного результата (какой именно конъюнкт разошёлся) — требует сопоставления proof-графов разных прогонов.

Functions

NameDescription
divergence_report§158: отчёт о расхождении аутентичных языковых редакций.
interpretation_languages{id интерпретации: язык её якорей} — None, если языка нет либо якоря
language_groups{язык: [интерпретации этого языка]}; порядок детерминирован.

divergence_reportfunction#

def divergence_report(ir: dict, case: dict, query: dict, evaluate: Callable[..., dict] | None = None, options: dict | None = None) -> dict

§158: отчёт о расхождении аутентичных языковых редакций.

Каждый язык вычисляется изолированно (selectedInterpretations — только его интерпретации), результаты сравниваются по проекции. Возвращает:

  • languages — языки, для которых нашлись интерпретации-якоря;
  • byLanguage — проекция результатов каждого языка;
  • diverged — различаются ли выводы;
  • issuesByLanguage — коды issues каждого прогона (расхождение бывает и в том, что один язык дал вывод, а другой остановился).

diverged=False при одном языке: расхождение требует минимум двух аутентичных редакций, а не отсутствия второй.

interpretation_languagesfunction#

def interpretation_languages(nodes: list[dict]) -> dict[str, str | None]

{id интерпретации: язык её якорей} — None, если языка нет либо якоря указывают на разные языки (такая интерпретация не является языковой и в отчёт не входит: молча выбрать один из языков значило бы решить за автора).

language_groupsfunction#

def language_groups(nodes: list[dict]) -> dict[str, list[str]]

{язык: [интерпретации этого языка]}; порядок детерминирован.

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

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