Skip to content

lawref.evaluator.normconflict

§105.1/§105.2: конфликт нормативных ПОЗИЦИЙ — образцы, доказательство, исход.

Пункт 4 перечня §105.1 (power против immunity) здесь не считается: его стороны — позиция и ЭФФЕКТ, и он живёт в материализации §127.2 (effects.py). Здесь — пункты 1–3, а пункты 5–7 («две powers не конфликтуют», «две liberties не конфликтуют», «duty и claim-right — один вид») суть утверждения об ОТСУТСТВИИ конфликта и выражены тем, что ни один образец их не берёт; сторожат их отрицательные векторы, а не строка кода.

Три источника несовместимости и их старшинство — §105.2:

  1. СТРУКТУРНЫЙ (пункт 2): обязанность воздержания и свобода совершить ТО ЖЕ действие. Доказывать нечего — несовместимость есть тождество действия.
  2. ЯВНОЕ ОТНОШЕНИЕ urn:law:std#incompatible(A, B) над норм-ШАБЛОНАМИ: несовместимость есть свойство целей, а цели живут в шаблоне.
  3. SOLVER-ASSISTED в разрешимом фрагменте — только при solverProfile в манифесте И с сертификатом, который движок ПЕРЕПРОВЕРЯЕТ. Сертификат выпускается сюда же, в proof-граф (§105.1 требует его именно там), и независимо проверяем повторением: он называет предикат, ключевые позиции §45.1 и различающиеся столбцы.

Разрешимый фрагмент выбран не по удобству, а по тому, где вопрос РЕШАЕТСЯ без внешнего решателя: цели созданных позиций уже ground, поэтому совместная выполнимость двух целей сводится к вопросу о функциональной зависимости — две цели, требующие от ОДНОГО ключа §45.1 разных значений, совместно невыполнимы, и это проверяется сравнением, а не поиском. Всё вне фрагмента даёт UNKNOWN и ребра не создаёт (§105.1 дословно).

Attributes

NameDescription
STDNo description.

Functions

NameDescription
detectОбнаружить, доказать и разрешить конфликты §105.1 пунктов 1–3.

STDattributemodule attribute#

STD = 'urn:law:std#'

detectfunction#

def detect(positions: list[dict], nodes: list[dict], store, registry, issues: list[dict], rule_reach: dict[str, set[str]], manifest: dict, env: Any = None) -> None

Обнаружить, доказать и разрешить конфликты §105.1 пунктов 1–3.

Изменяет позиции НА МЕСТЕ: проигравшая приоритету получает DEFEATED и узел defeat в графе — тем же способом, что при дефитере §107.1, потому что это тот же §107, а не отдельный механизм.

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

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