lawref.amend_guards
Структурные шаблоны amend: типизация и разбиение окна §87, DECISION-0179.
Значения условий исполняет обычный evaluate. Здесь только проверка формы операции и построение канонического CLIR; алиасы типов не разворачиваются.
Attributes
| Name | Description |
|---|---|
GUARD_OPS | No description. |
OPPOSITE | No description. |
ORDERED | No description. |
TEMPORAL_OP | No description. |
Functions
| Name | Description |
|---|---|
guard_rule | No description. |
split_exclusion | ¬(A∧B) → две непересекающиеся strict-ветви: ¬A; A∧¬B. |
split_from | Узкий шаблон: strict без входящих ссылок, конечное полуоткрытое окно. |
valid_condition | No description. |
GUARD_OPSattributemodule attribute#
GUARD_OPS = {'compare_threshold', 'restrict_interval', 'exclude_conjunction'}OPPOSITEattributemodule attribute#
OPPOSITE = {'eq': 'ne', 'ne': 'eq', 'lt': 'ge', 'ge': 'lt', 'le': 'gt', 'gt': 'le'}ORDEREDattributemodule attribute#
ORDERED = {
urn:law:std#{n} for n in ('Integer', 'Natural', 'Decimal', 'Money', 'Quantity', 'Date', 'Instant', 'Rational')
}TEMPORAL_OPattributemodule attribute#
TEMPORAL_OP = 'exclude_enum_value_from'guard_rulefunction#
def guard_rule(rule: dict, edits: list[dict], enums: dict) -> dict | Nonesplit_exclusionfunction#
def split_exclusion(document: dict, rule: dict, edit: dict, enums: dict) -> list[dict] | None¬(A∧B) → две непересекающиеся strict-ветви: ¬A; A∧¬B.
Прямой body/or не входит в исполнимый срез. Для N условий строим N ветвей с общим прежним телом; не меняем движковую семантику формул.
split_fromfunction#
def split_from(document: dict, rule: dict, edit: dict, enums: dict) -> list[dict] | NoneУзкий шаблон: strict без входящих ссылок, конечное полуоткрытое окно.
Старый id сохраняется до D, новый id с исключением — с D. Оба узла сохраняют scope/anchors/interpretations и лежат внутри прежнего окна.
valid_conditionfunction#
def valid_condition(rule: dict, condition: dict, enums: dict) -> boolDocumentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.