УДК 519.716
С. С. Марченков1
О ФУНКЦИОНАЛЬНЫХ УРАВНЕНИЯХ ДЛЯ ФУНКЦИЙ ДЕЙСТВИТЕЛЬНЫХ ПЕРЕМЕННЫХ*
Рассматриваются функциональные уравнения, образованные для функций действительных переменных и содержащие только функциональные константы 0, 1, +, х. Исследуются выразительные возможности языка С функциональных уравнений. Доказано, что с сохранением класса определимых множеств язык С можно расширить путем добавления полной системы логических связок и кванторов по предметным переменным. Установлена алгоритмическая неразрешимость проблемы выполнимости для языка С. Средствами языка С определен ряд хорошо известных действительных чисел и непрерывных функций.
Ключевые слова', функциональные уравнения, функции действительных переменных.
Функциональные уравнения широко распространены в математике. Отличительной особенностью функциональных уравнений является то, что помимо предметных переменных, принимающих значения в основной области, уравнения содержат также функциональные переменные, значениями которых служат функции, заданные на основной области. Решения функциональных уравнений и систем функциональных уравнений рассматриваются относительно функциональных переменных, тогда как предметные переменные обеспечивают связи между функциональными переменными и функциональными константами, входящими в уравнения, и указывают на универсальный характер этих связей
1 Факультет ВМК МГУ, проф., д.ф.-м.н., e-mail: ssmarchenQyandex.ru
* Работа выполнена при финансовой поддержке РФФИ (проект 13-01-00958).
(предметные переменные в функциональных уравнениях всегда находятся под действием кванторов "для всех").
Разнообразные результаты по функциональным уравнениям можно найти в функциональном анализе, теории дифференциальных уравнений, универсальной алгебре и теории функций многозначной логики, теории моделей, теории автоматов, теории рекурсивных функций и других разделах математики. Однако, по-видимому, ни в одном из этих разделов вопрос об исследовании выразительных возможностей языка функциональных уравнений не ставился. Вместе с тем постановка и решение подобной проблемы позволили бы указать границы применимости языка функциональных уравнений, привлечь методы и результаты из алгебры, математической логики и сложности алгоритмов, а также найти общие приемы решения задач, возникающих при использовании языка функциональных уравнений. В отдельных случаях развитая техника теории формальных языков и теории алгоритмов могла бы привести к получению нижних оценок сложности решения некоторых массовых проблем, связанных с функциональными уравнениями, например, проблемы выполнимости.
Систематическое исследование выразительных возможностей языков функциональных булевых уравнений и уравнений многозначной логики (а также связанных с ними операторов замыкания) проводилось в работах [1-7]. В этих работах, в частности, полностью решен вопрос о зависимости множеств функций, определимых системами функциональных уравнений, от множества функциональных констант, используемых в уравнениях. Некоторые результаты об определимости множеств функций в языке функциональных уравнений счетнозначной логики получены в работе [8].
В настоящей статье мы хотим обратиться к функциональным уравнениям, содержащим функциональные переменные для функций действительных переменных. В самой общей постановке эта задача представляется слишком широкой. Поэтому мы изначально ограничились рассмотрением функциональных уравнений, которые содержат лишь четыре общеупотребительные функциональные константы: 0, 1, сложение и умножение. Эти функции (операции) образуют сигнатуру поля действительных чисел и поля рациональных чисел. Отчасти поэтому данные функции без каких-либо дополнительных обоснований используются практически в любых исследованиях, посвященных функциям действительных переменных.
Сформулируем основные цели статьи: введение языка С функциональных уравнений для функций действительных переменных (с функциональными константами 0, 1, +, х); максимальное обобщение языка С за счет добавления полной системы логических связок и кванторов по предметным переменным и построение языка 0,£С; доказательство эквивалентности языков С и <2£С; демонстрация выразительных возможностей языка 0.СС на примерах известных понятий из математического анализа. Кроме того, с использованием результатов из [8] мы доказываем, что проблема выполнимости для языков С, 0.СС алгоритмически неразрешима.
Введем необходимые понятия. Пусть К — множество действительных чисел, /р — множество всех (всюду определенных) функций на К. Для любого натурального п и любого множества М С Рц обозначаем через множество всех п-местных функций из М.
Определим язык С функциональных уравнений для функций действительных переменных. Пусть Х1,Х2, ■ ■ ■ — предметные переменные с областью значений К (иногда для большей выразительности в качестве предметных переменных используем переменные у, г, го). Наряду с предметными переменными рассматриваем функциональные переменные <р\п^. Областью значений функциональной переменной служит множество ■ В случае, когда это не приводит к недоразумению, верхние и нижние индексы у функциональных переменных будем опускать.
Язык С функциональных уравнений состоит из предметных переменных х^, г = 1,2,..., функциональных констант 0, 1, +, х (последнюю константу обозначаем также через •), функциональных
(п)
переменных <р\ , г, п = 1,2,..., знака равенства, левой и правой скобок и запятой.
Определим понятие терма языка С. Всякая предметная переменная есть терм языка С. Функциональные константы 0 и 1 суть термы языка С. Если ¿1, ¿2 — термы языка С, то + ¿2 и • ¿2 — также термы языка С. Если — термы языка С и — функциональная переменная, то
(£>^(¿1,..., ¿п) — терм языка С.
Равенством называем любое выражение вида = ¿2; где ¿2 — термы. Равенства = ¿2 и ¿2 = ¿1 не различаем. Равенства называем также функциональными уравнениями.
Пусть ¿1 = ¿2 — функциональное уравнение и ■ ■ ■, — все ФУнкЦиональные переменные,
входящие в ¿1 = ¿2- Решением уравнения = ¿2 называем систему функций {/1П1\ • • •, /т из Ра, которая после замены каждой функциональной переменной (рсоответствующей функцией превращает уравнение = ¿2 в тождество (относительно всех входящих в уравнение предметных переменных). Пусть Н — конечная система уравнений. Решением системы уравнений Н называем систему функций из Рц, которая является решением каждого уравнения, входящего в Н.
Мы хотим далее с помощью систем уравнений определять некоторые множества функций (от одного и того же числа переменных). С этой целью выделим одну из функциональных переменных системы
уравнений Н, которую назовем главной функциональной переменной системы Н. Пусть (р^ — главная
(п)
функциональная переменная системы уравнений Н, Р — подмножество множества . Будем говорить, что множество функций Р определяется системой уравнений Н, если Р является множеством всех тех п-местных функций, которые входят в решения системы Н как компоненты по переменной ■ Наконец, говорим, что множество функций Р определимо системой уравнений языка С (или /^-определимо), если существует система уравнений языка С, которая определяет множество Р.
Следующее простое утверждение устанавливает замкнутость класса /^-определимых (множеств) функций относительно операции суперпозиции.
Утверждение 1. Пусть множества функций
/.;, с Р(то) /Л С Р(п) /<• с Р(п)
С-определимы. Тогда С-определимо множество всех функций вида
9о(91(х1, ■ ■ -,Хп), ■ ■ -,9т(х1, ■ ■ -,хп)),
где до € Р0, дг € Рь ..., дт €
Доказательство. Пусть Н0, Н1,..., Нто — системы уравнений языка С с главными функ-
(т) (п) (п) -т
циональными переменными щ ,...,(р>т, которые определяют соответственно множества г0,
/•"1...../•",„. Будем предполагать, что системы уравнений Н0, Н1,..., Ет не имеют общих функциональных переменных. Систему уравнений, /^-определяющую искомое множество функций, зададим следующим образом: объединим все уравнения систем Н0, Н1,..., Ет и добавим новое уравнение
(р{хъ . . . ,Хп) = <Ро(<Р1(х!, ■ ■ .,хп), . . . ,<Рт(х1, . . .,Хп)),
где (р — новая главная функциональная переменная. Утверждение доказано.
Внесем некоторые изменения в первоначальный язык С функциональных уравнений. Именно добавим к исходным символам языка С логическую связку — конъюнкцию Вместо систем функциональных уравнений будем теперь рассматривать формулы, которые конъюнктивно составлены из данных уравнений. Определимость множеств функций в новом языке зададим так же, как в языке С, рассматривая вместо систем функциональных уравнений соответствующие им конъюнктивные формулы. Понятно, что новый язык функциональных уравнений по выразительным возможностям эквивалентен языку С. В дальнейшем нам будет удобно рассматривать именно такой язык, за которым мы сохраним обозначение С.
Расширим язык С логической связкой отрицанием -1. Полученный язык обозначим через СС. Поскольку конъюнкция с отрицанием образуют полную систему связок, в языке СС будем также свободно использовать логические связки — дизъюнкцию V и импликацию =>. Определимость множеств функций в языке СС формулируем аналогично определимости в языке С.
Теорема 1. Класс множеств, определимых в языке С, совпадает с классом множеств, определимых в языке СС.
Доказательство. Поскольку язык СС является расширением языка С, всякое £-определимое множество будет также £С-определимым. Установим обратное включение.
Определим в языке С некоторые простые функции. Очевидно, что уравнение
срг(х) + х = 0 (1)
определяет функцию —х. Далее, уравнению
<р2(х) • (ж2 + 1) = 1
удовлетворяет лишь функция 1/(ж2 + 1), которая принимает все значения из полуинтервала (0,1]. Поэтому если sg(ж) есть функция, задаваемая соотношениями
sg(0) = 0, sg(ж) = — 1 при х < 0, sg(ж) = 1 при х > О,
то функция sg определяется системой уравнений, которая состоит из уравнений (1), (2) и следующих пяти уравнений:
¥>з(0) = О, (р3(х2 + 1) = 1, (р3((р2(х)) = 1, ср^ср^х2 + 1)) = ¥>1(1), (р3((р1((р2(х))) = ¥>1(1). С использованием функции sg определяем функцию |ж|:
\х\ = х ■ sg(ж).
Теперь заметим, что формула ^(¿1 = 12) эквивалентна формуле sg|íl — 12\ = 1 (функции |ж| и —х уже определены в языке С). Поэтому если мы сумеем выразить в языке С дизъюнкцию вида
(и = ¿2) &... & (*2в_! = г2з) V (¿; = 4) &... & (4Г_! = 4.), (з)
то в силу известных правил логики всякую формулу языка СС можно будет преобразовать в эквивалентную формулу языка С (при этом, разумеется, потребуются дополнительные уравнения, которые определяют необходимые вспомогательные функции). Однако дизъюнкция (3) эквивалентна формуле
sg(sg|гl - г2| •... • sg|г2s_l + - г2| • • • • • - ¿У) = 1.
Это завершает доказательство теоремы.
Проведем дальнейшее обобщение языка СС: добавим в него кванторы существования и общности (по предметным переменным). Получившийся в результате этого обобщения язык обозначим через О.СС. Чтобы в формулах языка О.СС одновременно не иметь дела со свободными и связанными переменными, в вопросах определимости множеств функций в языке О.СС будем рассматривать только замкнутые формулы, т. е. формулы без свободных предметных переменных.
Теорема 2. Классы множеств, определимых в языках СС, О.СС, совпадают. Доказательство. Поскольку язык О.СС является расширением языка СС (здесь формулы языка СС, определяющие множества функций, можно считать замкнутыми формулами с кванторами общности по всем предметным переменным), далее рассматриваем лишь редукцию формул языка О.СС к формулам языка СС.
Пусть Ф — произвольная замкнутая формула языка О.СС, которая определяет множество Р. Будем предполагать, что формула Ф приведена к пренексному виду
((2IX1) . . . ((¿пХп)®1,
где (¿1,..., С}п — кванторы 3 или V, х\,..., хп — все предметные переменные формулы Ф, а формула Ф1 (языка СС) не содержит кванторов. Покажем, как из формулы Ф получить формулу Ф' языка СС, которая определяет множество Р. Проведем элиминирование кванторов в формуле Ф.
Предположим сначала, что кванторная приставка в формуле Ф начинается с квантора существования, (З1 = • • • = = Э и либо = V, либо я = п. Для устранения кванторов Зх\,..., Зх3 введем 5 новых одноместных функциональных переменных ¥>1, • • •, ¥'« и образуем формулу
(%1)(%2)(¥>1(У1) = ¥>1(3/2) & ••• & ¥>®Ы = <Рв(У2)), (4)
где у1, у2 — различные переменные, не входящие в множество {х1,... ,хп}. Понятно, что формуле (4) удовлетворяют только наборы из в функций-констант (не обязательно различных). Поэтому если к формуле (4) конъюнктивно добавить формулу
(Уж1) ... (Ух3)(С23+1х3+1)...((] )ф2,
где формула Ф2 образована из формулы Ф1 заменой каждого вхождения переменной ж*, 1 ^ г ^ 5, термом ^pi(xi), то получится формула, которая будет определять исходное множество Р.
Итак, далее можно предполагать, что кванторная приставка формулы Ф начинается с квантора общности. Если в приставке отсутствуют кванторы существования, то при отбрасывании в формуле Ф кванторной приставки образуется формула Ф' языка СС, которая, очевидно, также определяет множество Р.
Пусть теперь в квапторпой приставке имеются кванторы существования. В этом случае применяем известный в математической логике прием, основанный на разрешающих функциях Сколема [9, 10]. Именно рассмотрим в формуле Ф произвольную переменную ж*, которая связана квантором существования. Пусть ,..., ж^ — все переменные формулы Ф, которые в кванторой приставке предшествуют переменной х$ и связаны кванторами общности. Вводим новую ¿-местную функциональную переменную заменяем в бескванторной части формулы Ф каждое вхождение переменной х,1 термом (рг(х:-]1,1..., ) и удаляем квантор Зац из кванторной приставки.
После проведения описанной процедуры для всех переменных ж*, связанных кванторами существования, образуется формула Ф' языка О.СС, которая не содержит кванторов существования и которая, как нетрудно видеть, определяет исходное множество Р. Действительно, по правилам логики утверждение о существовании значений переменной х^ (стоящей после переменных х:-}1,..., х$г, которые связаны кванторами общности) эквивалентно утверждению о существовании ¿-местной функции, дающей по произвольным значениям переменных ,..., Xjt некоторое значение переменной ж*. Вместе с тем при определении истинности формулы Ф' как раз и используется пункт о существовании ¿-местной функции, соответствующей функциональной переменной Остается заметить, что формула Ф', не содержащая в кванторной приставке кванторов существования, с содержательной точки зрения может рассматриваться как искомая формула языка СС. Формально же в формуле Ф' необходимо опустить кванторную приставку. Теорема доказана.
На основании теорем 1, 2 заключаем, что класс множеств, определимых системами равенств языка С, совпадает с классом множеств, определимых формулами вида
(3^1) . . . (Зсрт)^^!) . . . {С}пжп)ф(жь . . . , Жп, (р, Ч>1, . . . , (рт),
где Ф — формула языка СС, х\,...,хп — все предметные переменные формулы Ф, (р,(р 1, ■ ■ ■, (рт — все ее функциональные переменные, (р — главная функциональная переменная и С}п — кван-
торы 3 и V. Данное представление следует рассматривать как наиболее общую форму представления множеств, определимых системами равенств языка С.
Пусть С^, Ъ, N — множества соответственно рациональных, целых и натуральных (включающее нуль) чисел. Наша следующая цель — выразить формулами языка О.СС отношения принадлежности множествам Ц, Ъ, N. Это будет сделано посредством представления отношений с помощью характеристических функций. Если М С Е, то характеристической функцией отношения ж € М называем функцию, которая принимает лишь значения 0 и 1, причем значение 1 — только на множестве М.
Сначала определим характеристические функции для арифметических отношений ж < у и ж ^ у:
1 — — — яг)|, sg|l-sg(a;-y)|.
Теперь выразим формульно характеристическую функцию отношения х & 2:
(<Р!(х) = О V <р 1(ж) = 1) к (¥>1(0) = 1)&(0<ж&ж<1^> <р!(х) = 0) к ж + 1) = Ы®)). (5)
В приведенной формуле для упрощения записи опущен квантор общности по ж, а отношения 0 < ж и ж < 1 заменяют равенства единице соответствующих характеристических функций.
На основе отношений х £ 2 ж х ^ 0 легко определить характеристическую функцию отношения ж € N. Характеристическую функцию отношения ж € зададим формулой
(<р2{х) = 0 V Ыж) = 1) & (Ы®) = 1) ^ (3у)((у Ф0)к (Му) = 1) & Ы® • у) = 1))),
где переменная (р\ удовлетворяет формуле (5).
С использованием подобных конструкций нетрудно построить формулу языка О.СС, которая определяет множество всех (действительных) алгебраических чисел заданной степени.
Поскольку в языке О.СС определима характеристическая функция отношения ж € ^ а функциональные константы 0, 1, х+у принадлежат языку О.СС, можно использовать довольно широкие выразительные возможности, которые дает язык функциональных уравнений счетнозначной логики [8]. Так, в языке функциональных уравнений счетнозначной логики определимы не только произвольные общерекурсивные функции, но также арифметические (по Клини-Мостовскому) отношения и отношения из класса Е} аналитической иерархии Клини (определения см. в [11]). Поэтому если в формулах языка О.СС предметные переменные ограничить множеством N (используя соответствующую характеристическую функцию), то в языке О.СС также можно будет определять указанные функции и отношения. Это позволяет оценить сложность проблемы выполнимости для языка О.СС, которая состоит в том,
чтобы по произвольной (замкнутой) формуле языка QCC выяснить, существуют ли функции из множества PR, удовлетворяющие данной формуле по всем ее функциональным переменным. На основе, например, определимости в языке QCC произвольных общерекурсивных функций и с использованием теорем 1, 2 получаем следующий результат.
Теорема 3. Проблема выполнимости для каждого из языков £, СС, QCC алгоритмически неразрешима.
Теорему 3 интересно сравнить с результатом А. Тарского о разрешимости элементарной теории поля действительных чисел (см. [12, 13]).
Продолжая исследование выразительных возможностей языка Q£C, обратимся к понятию непрерывности. С использованием имеющихся функций и отношений нетрудно построить формулу языка QCC, которой удовлетворяют только одноместные функции, непрерывные на всем множестве R:
(Vy)(3z)(Vw)(y > 0 => (z > 0) к (|ж - ги| < z => |<р(х) - <p(w)| < у))
(аналогичные формулы можно, конечно, построить для непрерывных функций от любого числа переменных). Эту формулу можно релятивизировать, ограничивая область непрерывности функций некоторым подмножеством множества R, характеристическая функция которого определима формулой языка QCC. Кроме того, на базе этих же идей можно определять множества функций, которые имеют заданное число производных.
Из мощностных соображений следует, что далеко не всякое подмножество множества непрерывных функций (и даже не всякую непрерывную функцию) можно определить подходящей формулой языка QCC. Ниже мы изложим прием, который позволяет определять достаточно разнообразные непрерывные функции и множества непрерывных функций. В основе приема лежит возможность определять непрерывные функции путем задания их только на (всюду плотном) множестве рациональных чисел.
Будем определять действительные числа с помощью сходящихся последовательностей рациональных чисел. Такой способ задания действительных чисел, разумеется, не сужает множества определяемых чисел, но позволяет использовать при их задании достаточно сложные дискретные функции (например, из класса S] аналитической иерархии Клини).
Итак, пусть (pi — главная функциональная переменная некоторой формулы языка Q£C, определяющей функцию (точнее, множество функций) /(ж, у), которая обладает следующим свойством: для любого рационального числа х последовательность чисел /(ж, 0),/(ж, 1),... является сходящейся последовательностью рациональных чисел. Используя функциональную переменную срi, построим формулу языка QCC с главной функциональной переменной ср2, определяющую множество всех
одноместных функций, которые для любого рационального числа ж принимают значение lim/(ж, у)
у
(переменная у пробегает множество значений N):
(yx)(yz)(3y)(yw)(x GQ&00^(j/GN)&(w6N&w>|/^ \<Pi(x,w) - <р2(х)\ < z)). (6)
Понятно, что построенной формуле по переменной ср2 удовлетворяют, вообще говоря, функции, не являющиеся непрерывными, — здесь необходимы дополнительные условия на функцию /, которые обеспечат непрерывность определяемой функции. Трудности принципиального характера при формализации таких условий не возникают.
Если функция д(ж) удовлетворяет формуле (6) (по переменной (р2) и является непрерывной на множестве Q, то дальнейшее преобразование функции д в функцию, непрерывную уже на всем множестве R, происходит следующим образом. Строится формула языка Q£C, которая задает функцию, совпадающую с д на множестве Q и доопределяемую по непрерывности (на основе значений функции д) во всех остальных точках множества R. На этом пути формулами языка QCC можно определить функции ху (при ж > 0), ех, sin ж, log2 ж, In ж и другие элементарные функции.
В русле этих же идей находится построение формул языка QCC, осуществляющих суммирование сходящихся рядов. Для простоты рассмотрим суммирование рядов с рациональными членами. Пусть функция /(ж) задает сходящийся ряд с рациональными членами: для всякого ж из N значение /(ж) принадлежит множеству Q и ряд ^ /(ж) сходится. Предположим далее, что функция / определяется
x£N
некоторой формулой языка QCC с главной функциональной переменной <pi. Сначала построим формулу языка QCC с главной функциональной переменной ср2, которая определяет частичные суммы ряда
£ т--
xGN
(ср2( 0) = ¥>i(0)) к (Ух)(х eN=> tp2(x + 1) = <р2(х) + (pi (х + 1)).
Затем, как мы это уже делали выше, строим формулу, определяющую характеристическую функцию суммы рассматриваемого ряда (квантор по х опускаем):
(ср3(х) = 0У ср3(х) = 1)к
к (<р3(х) = 1 (Vy)(3z)(Vw)(y > 0 =Ф> (z € N) к (w G N kw > z =Ф> \x - <p2(w)\ < y))).
С использованием приведенной техники суммирования рядов с рациональными членами можно определить формулами языка QCC числа е, 7г, In г, sin г, где г — положительное рациональное (либо иррациональное, но определимое формулой языка QCC) число. Кроме того, на основе суммирования рядов можно определять интегралы функций, которые задаются формулами языка QCC.
СПИСОК ЛИТЕРАТУРЫ
1. Марченков С. С., Фёдорова B.C. О решениях систем функциональных булевых уравнений // Дискретный анализ и исследование операций. 2008. 15. № 6. С. 48-57.
2. Марченков С.С., Фёдорова B.C. О решениях систем функциональных уравнений многозначной логики // Докл. РАН. 2009. 426. № 4. С. 448-449.
3. Марченков С. С., Фёдорова B.C. Решения систем функциональных уравнений многозначной логики // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2009. № 4. С. 29-33.
4. Марченков С.С. Оператор замыкания в многозначной логике, базирующийся на функциональных уравнениях // Дискретный анализ и исследование операций. 2010. 17. № 4. С. 18-31.
5. Марченков С. С. О классификациях функций многозначной логики с помощью групп автоморфизмов // Дискретный анализ и исследование операций. 2011. 18. № 4. С. 66-76.
6. Марченков С. С. FE-классификация функций многозначной логики // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2011. № 2. С. 32-39.
7. Фёдорова В. С. О сложности проблемы выполнимости системы функциональных булевых уравнений // Дискретный анализ и исследование операций. 2013. 20. № 3. С. 84-100.
8. Марченков С. С., Калинина И. С. Оператор FE-замыкания в счетнозначной логике // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2013. № 3. С. 42-47.
9. Ершов Ю.Л., Палютин Е. А. Математическая логика. М.: Наука, 1979.
10. Клини С. К. Математическая логика. М.: Мир, 1973.
11. Роджерс X. Теория рекурсивных функций и эффективная вычислимость. М.: Мир, 1972.
12. Tarski A. Arithmetical classes and types of mathematical systems, mathematical aspects of arithmetical classes and types, arithmetical classes and types of Boolean algebras, arithmetical classes and types of algebraically closed and real closed fields // Bull. Amer. Math. Soc. 1949. 55. P. 63-64.
13. Ершов Ю.Л., Лавров И. А., Тайманов А. Д., Тайцлин M. А. Элементарные теории // Успехи матем. наук. 1965. 20. № 4. С. 37-108.
Поступила в редакцию 05.11.13
ON FUNCTIONAL EQUATIONS FOR REAL VARIABLE FUNCTIONS
Marchenkov S. S.
The functional equations intending for real variable functions and containing the functional constants 0, 1, +, x are considered. The expressive possibilities of the functional equations language £ are investigated. It is proved that the language £ may be equivalently extended by the full system of logical connectives and quantifiers for object variables. The algorithmic unsolvability of satisfiability problem for the language £ is proved. The series of well known real numbers and continuity functions are in the language £ defined.
Keywords: functional equations, real variable functions.