Найти тему

О некоторых вопросах рекуррентных замыканий в юридической технике

В большом количестве примеров, скажем, из вот этой подборки:

Юридические парадоксы | По праву. Марк Болдырев | Дзен

мы встречаемся с некоторой ситуацией, когда один раз запущенный процесс становится нескончаемым. Вообще говоря, ничем не оканчиваемый, скажем, судебный процесс (и существующий, но неоконченный) всегда создаёт некоторую правовую неопределённость (по крайней мере для суда, так как суду запрещено предрешать исход процесса; это чисто принципиальный запрет, вводимый в логику рассуждений именно для суда, то обстоятельство, что этот принцип постоянно нарушают то здесь, то там... не говорит о том, что этого принципа нет), а значит, противоречит принципу правомерности нормы.
Да, я обратил внимание, что этот принцип часто понимается интуитивно и думаю, что придётся заняться написанием статьи для его
определения. Наверное, это важно. Я, кстати, не вполне уверен, что мне удастся такое определение. Но сейчас можно ограничиться интуитивностью, которая сводится к тому, что нормы не могут писаться так, чтобы не вести к какому-то конечному результату в результате какого-то выбора. Они должны вести не к процессу, а регулировать деяния субъектов (именно субъектов, то есть свободных в выборе причём с тернарной логикой свободы) так, чтобы они вели к некоторому в принципе предсказуемому состоянию любого субъекта.

Замечу сразу, что нормы эти — не алгоритмы, как иногда хочется представить некоторым юристам или вообще некоторым людям. Любые положительные нормы суть не алгоритмы, а ограничения, так как само по себе право как порождение свободы воли не нуждается ни в каких положительных нормах.

Тем не менее, как мы видим, ситуации оказываются именно в правовом смысле неопределёнными, а, следовательно, набор норм, который их регулирует, оказывается не вполне правовым.

В чём же там, в частности, дело?

А дело там в том, что при их составлении не учитывается нечто важное, что хорошо видно математикам, но из-за специфики образования не всегда — юристам. Что? А вот что.

Рекурсия

Есть такое понятие в математике (но не только в математике), как рекурсия.
Рекурсия это такое определение (описание, изображение) какого-либо объекта или процесса, которое производится внутри самого этого объекта или процесса. В рекурсии объект или процесс является частью самого себя. Сам по себе термин «рекурсия» используется самыми разными областями знаний — от лингвистики до математики, в логике, но наиболее широкое применение находит в математике и информатике (логика и информатика, по крайней мере, в части теоретического программирования, между прочим, являются, если подходить к ним строго и предельно формально — разделами математики).

Очень простым примером рекурсивного определения в математике, известное любому, кто учился в средней школе, является аксиоматика Пеано натуральных чисел.

А вот простое (формальное!) определение физического лица из юриспруденции (одно из возможных!):

любой объект вида homo sapiens — физическое лица,
любой прямой потомок физического лица — физическое лицо.

В этом случае, заметим, что даже если прямым потомком homo sapiens оказывается не homo sapiens (ну, скажем, в результате генной модификации, не важно — искусственной или естественной), всё равно такой потомок оказывается физическим лицом по этому определению.

Другое дело, что в этом простом формальном определении, скажем, Полиграф Полиграфович Шариков не будет являться физическим лицом, так как не является прямым потомком homo sapiens, а дельфины не попадают в физические лица за пределами законодательства, скажем, Индии (в Индии начало, основание рекурсии будет выглядеть иначе). Тогда надо говорить о суженности определения, оправданной или неоправданной. Но мы сейчас говорим не о лицах, а о рекурсии, и я предлагаю приведённые примеры именно как примеры, иллюстрации рекурсии и воспринимать.

А вот вам лингвистика: «я думала, что он думал, что я думала, что он думал...»

Я оглянулся посмотреть,
не оглянулась ли она,
чтоб посмотреть,
не оглянулся ли я...

Кстати, считается, что рекурсия характерна для всех языков на Земле... так считалось, но пришёл поручик Ржевский лингвист Дэниел Леонард Эверетт и всё испортил: он не обнаружил в языке пирахан возможности рекурсий. Правда, Ноам Хомский тут же заявил, что такого не может быть, потому что не может быть никогда и что раз он, Ноам Хомский, считает, что рекурсия является универсальной вообще для всех человеческих языков, то это значит, что она должна быть и у пирахан. Я бы согласился с Ноамом Хомским, что его теория действительно лингвистически всесильна, но он не смог доказать пока, что она... верна.

Надо иметь в виду, что рекурсия резко отличается от итерации, хотя и похожа на неё. Между ними то общее, что и бесконечная рекурсия и бесконечная итерация предусматривают именно бесконечное количество деяний, но если рекурсия обращается к самой себе, то итерация обращения к себе не имеет.

На самом деле есть класс рекурсий, которые могут быть адекватно представлены в виде итераций, чем, кстати, в теоретическом программировании активно пользуются, например, устраняя, так называемые «хвостовые рекурсии» в алгоритмах (зачем их устранять и заменять на итерации? Ну это чисто технический вопрос. Дело в том, что для вычисления рекурсии необходима постоянно растущая часть памяти, организованная как стек, а для итераций этого не надо).

Например, факториал целого неотрицательного числа можно определить с помощью рекурсии как умножение факториала предыдущего числа на это целое неотрицательное число, а факториал ноля равен 1;
а можно определить итерационно: факториал целого неотрицательного числа есть результат произведения всех натуральных чисел, не превышающих это число, а факториал ноля равен 1

Вот рекурсивное определение факториала m:
m! = 1, если m = 0;
m×(m – 1)!, если m > 0.

А вот итерационное определение всё того же факториала m:
m! = 1, если m = 0;
m! = ₁ͫ x, если m > 0,
ну или так:
m! = 1, если m = 0;
m! = 1×2×3×4×5×...×(m-1)×m, если m > 0.

Но далеко не все рекурсии устранимы путём преобразования в итерации.

Вообще говоря, рекурсиями математики занимаются всерьёз. По мере необходимости изучения было выделено огромное количество различных рекурсий. Ну вот один из видов — «хвостовую рекурсию» я уже упомянул. «Хвостовая рекурсия» выделена в отдельный вид потому, что существует гарантированно корректный и алгоритмически разрешённый способ преобразования её даже не просто в итерацию, а в плоскую итерацию.

А ещё рекурсии бывают, например, примитивные.
Интересно, что определение примитивных рекурсий примитивно рекурсивно: оно задаёт набор примитивных отображений и набор правил; отображение является примитивно рекурсивным, если оно может быть представлено как комбинация примитивно рекурсивных отображений, образованная по этим правилам.
Между прочим, если принять свойство начальных правил и отображений как
«правомерное», то можно увидеть теорему конечной правомерности:

И можно даже переформулировать эту теорему рекуррентным образом:

Правомерно то, что последовательно правомерно получается из правомерного.

Но далеко не все рекурсии примитивны. Любой математик, который не забыл уже совсем то, чему его учили, конечно, помнит так называемую функцию Аккермана. Особенно с историей её публикации.

В 1926 году великий Давид Гильберт (я не шучу, это действительно великий математик, он даже когда заблуждался, то и заблуждения у него были великими, а мысли космические, на меньшее он никогда не был согласен) сделал вполне правдоподобное предположение, что каждая вычислимая функция примитивно-рекурсивна. Проще говоря, каждую вычислимую функцию можно построить из базового набора при помощи нескольких очень простых правил, причём продолжительность вычисления может быть оценена заранее. Дело в том, что Давид Гильберт очень хотел построить единое здание математики (прямо как Н. Бурбаки затем), причём так, чтобы в нём не было непроходимых комнат: это же такое счастье, когда можно всё взять и посчитать, как завещал другой Великий (не вспомните его имя?)!

Ну, то, что нашлись поручики Ржевские, которые пришли и испортили всю светлую мечту, понятно. Уже в 1926 году Вильгельм Фридрих Аккерман взял и опубликовал пример вычислимой, рекуррентно определённой, но точно непримитивной функции, правда, определение его было довольно громоздким. Но уже в 1935 году Рожа Петер (первая женщина, которая была избрана в Венгерскую академию наук, между прочим, первоначально учившаяся на химика, и неплохая поэтесса), которая, кстати, и считается автором теории рекуррентных функций, значительно упростила определение В.Ф. Аккермана, удалив параметр в определении и сведя его к современному виду:
А(0,m) = m+1;
A(n+1,0) = A(n,1);
A(n+1,m+1) = A(n, A(n+1,m))

Кто хочет, может попытаться строго доказать, что функция Аккермана не является примитивно-рекурсивной. Я тут этого делать не буду, но замечу, что доказательство это вовсе не что-то умонепостигаемое и при желании любой человек с десятилетним средним образованием, то есть достаточно просто школы (это я для юристов, которые имеют всё же высшее или среднее специальное образование, то есть заведомо имеют образование среднее, но при этом любят придуриваться, что задачи восьмого-девятого классов им просто не по зубам и надо бежать к экспертам!), в состоянии с ним, по крайней мере, разобраться, если не построить его.

Но и на этом дело, понятно, не закончилось, так как мечты о вычислимости остались, то было введено понятие частично-рекурсивной функции и сделано предположение, что любая частично-рекурсивная функция является как раз алгоритмически вычислимой и наоборот (тезис Чёрча-Тьюринга). Ну, поскольку понятие алгоритмической вычислимости, строго говоря, интуитивное, то доказывать это не приходится. Поэтому и тезис, а не гипотеза.

Всё это я написал для того, чтобы стало понятно, что когда речь заходит о рекурсиях, особенно о рекурсивных процессах, то, с одной стороны, вовсе не всё так печально, и математики уже имеют изрядное количество инструментов для работы с рекурсиями, в том числе и для проверки, например, вычислимости при добавлении какого-либо определения.

Проблема заключается в том, однако, что никто никогда в истории человечества всерьёз не занимался именно этим в юриспруденции. Мы даже не знаем корректных способов формализации юридических отношений. Нет, пусть не тотально всех, но хотя бы на выделенной области. Мало того, до сих пор нет единого преставления о том, что именно регулируют нормы — только деяния или состояния тоже, а если не все состояния, то какие именно? Или так: какие именно состояния и деяния возможно регулировать так, чтобы создаваемая и созданная уже система норм оказывалась бы корректной? При этом надо иметь в виду уже сказанное, что нормы не представляют собой алгоритмы, а, скорее, грамматики, ограничения.

Например, чисто математически можно показать, что если нормы заданы так, что при любом их применении возникает уменьшение ограниченного в значениях параметра, использованного в применении, с точки зрения, например, лексикографического порядка (отношение линейного порядка на множестве слов над некоторым упорядоченным алфавитом Σ), то они задают вполне вычислимую грамматику, которая хотя бы и содержала рекурсию, но не вела бы к невычислимости. А тогда можно говорить о корректности корпуса норм. С другой стороны, тут же, между прочим, возникнет вопрос о том, что, может быть, указанное ограничение не вполне оправданно, так как вычислимость не является непременным императивом, и уменьшение параметра также не обязательно и есть какие-то иные области, которые будут обладать корректностью, уменьшая неправомерность, и при этом там нет отношения линейного порядка, например.

PS Для развлечения: на гербе РФ присутствует рекурсия. Далеко не на всяком гербе есть рекурсии. Найдите её на гербе РФ.

Здесь есть рекурсия
Здесь есть рекурсия

<продолжение следует>