Если в процедуре ГЕНЕРИРОВАТЬ (жизнь) описывать определенные события и с некоторым опережением задавать их в процедуре ГЕНЕРИРОВАТЬ (сон/зеркало), получим эффект вещих снов (зеркал, книг). Аналогичное можно выполнить и с прошлым. Если постепенно сближать описания событий в этих двух процедурах и в итоге генерировать один заключительный текст, получится как бы слияние предсказанного будущего (или известного прошлого) с настоящим. Подобный прием наблюдаем у многих писателей. Маркес в своем рекурсивном романе "Сто лет одиночества" заканчивает повествование эпизодом, когда последний из рода Буэндиа расшифровывает последние страницы волшебной книги Мелькиадеса, оказавшейся описанием событий рода Буэндиа и города Макондо. По мере приближения к концу поднимается ураган, тоже описанный в книге, и с последней строчкой все исчезает — город Макондо, род Буэндиа и вещая книга. Опять у Борхеса в рассказе "Чернильное зеркало" правитель зачарованно наблюдает собственную смерть в чернильном отражении. Когда палач в зазеркалье опускает меч на голову осужденного, правитель тоже падает мертвый. В "Мастере и Маргарите" Булгакова события прошлого алгоритмический модуль Иешуа — Пилат — вызываются из основной темы. Здесь действует одна рекурсивная процедура Р (х), функционирующая аналогично программе жизнь — сон. Процедура Р (Мастер и Маргарита) вызывает процедуру Р (Иешуа и Пилат). В конце все времена встречаются в последнем пристанище. Можно пойти дальше. Любые игры с переменными допустимы. Можно задавать независимые или зависимые друг от друга изменения локальных и глобальных переменных в программе жизнь — сон. Можно в качестве имен добавлять новые миры. Таким способом можно получать странные переходы жизни в сон,
— --------------
(96) Кортасар Х. Другое небо. — С. 70.
(97) Анисимов А. В. Информатика. Творчество. Рекурсия. — С, 136–151.
— ------------=
сна в жизнь, исчезновения и появления жизни или сна, другие измерения, метущееся мелькание или медленное таяние глобальных объектов среди снов и жизни. Это эксперименты для будущего XXI в. Путь указан. Таким образом, писатели и сны убетдают: бытие инвариантно относительно дискретно-непрерывных преобразований симметрии жизнь-сон-зеркало-жизнь. Все дело только в двух названиях, нескольких переменных величинах и законах их изменения. "Быть может, всемирная история — это история различной интонации при произнесении нескольких метафор" (98). Перейдем к рекурсивным снам. В процедуре Р (х) сон вызывается после сравнения локальной величины и со значением жизнь. Такое однозначное сравнение происходит только а случае абсолютно нормального функционирования процессов жизни и сна. Но часто механизм запуска сна задается более сложными законами; например, возможен вызов сна в процессе сна. Поэтому в описании программы жизнь — сон следует заменить условие ижизнь на предикат а(х), учитывающий и другие возможности вызова сна. Явное задание для этого предиката физиологам еще неизвестно.
ПРОГРАММА жизнь — сон; глобальная переменная v: (жизнь, сон); ПРОЦЕДУРА Р (х: (жизнь, сон)); локальная переменная и:(жизнь, сон); НАЧАЛО и: х; ГЕНЕРИРОВАТЬ (и); l: ЕСЛИ а(и) ТО вызвать Р (сон) ИНАЧЕ вернуться; v: жизнь; ГЕНЕРИРОВАТЬ (и); ПЕРЕХОД на l; КОНЕЦ (* процедуры Р *) НАЧАЛО (* тело программы *) вызвать Р (жизнь) КОНЕЦ
Как уже отмечалось, предикат а (и) может принимать значение истина и в случае, когда и равно сон. Поэтому возможны рекурсивные сны. Например, задаваемые следующей последовательностью операторов, образованных при выполнении программы.
— -------------
(98) Борхес Х. Л. Сфера Паскаля// Проза разных лет. — С. 202.
— ------------=
* Погружения в сон идут внутри сна, поэтому они часто не фиксируются сознанием. Окончание сна всегда сопровождается установкой значения глобальной переменной v, равного жизни. Несоответствие сна и установки на жизнь вызывает сильное чувство страха.
СОН ЧАРТКОВА
Н. В. Гоголь. "Портрет вызвать Р (жизнь); и1.: жизнь; ГЕНЕРИРОВАТЬ (жизнь)
…Таким образом, Чартков совершенно неожиданно купил старый портрет… Он опять подошел к портрету, с тем чтобы рассмотреть эти чудные глаза, и с ужасом заметил, что они точно глядят на него…
вызвать Р (сон); и2.: сон; ГЕНЕРИРОВАТЬ (сон); пусто вызвать Р (сон); и3.: сон; ГЕНЕРИРОВАТЬ (сон); пусто
вызвать Р (сон);
и4.: сон;
ГЕНЕРИРОВАТЬ (сон);
… Он видит ясно: простыни уже нет… портрет открыт весь и глядит мимо всего, что ни есть вокруг, прямо в него, глядит просто к нему вовнутрь. У него захолонуло сердце. И видит: старик пошевелился и вдруг уперся в рамку обеими руками… Чартков силился вскрикнуть — и почувствовал, что у него нет голоса, … — видно, старик вспомнил, что не доставало одного свертка…
вернуться;
Полный отчаяния стиснул он всею силою в руке своей сверток, употребил все усилие сделать движенье, вскрикнул — и проснулся.
v: жизнь; ГЕНЕРОРОВАТЬ (сон);