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
| Name | Description |
|---|---|
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.