Серия «Математика»
2011. Т. 4, № 3. С. S3—9S
Онлайн-доступ к журналу: http://isu.ru/izvestia
УДК 519.7
Надстуктура классов
самодвойственных к-значных функций *
В. Б. Ларионов
ООО «Атес Медика Софт»
В. С. Федорова
Московский государственный университет имени М. В. Ломоносова, факультет вычислительной математики и кибернетики
Аннотация. В статье приведено полное описание решетки замкнутых классов, содержащих произвольный класс самодвойственных функций многозначной логики.
Ключевые слова: многозначная логика; самодвойственная функция; надструкту-ра.
Пусть Ек = {0,— 1}. Функция / (х\,... ,хп) : Ек ^ Ек на-
зывается функцией к-значной логики (к ^ 2). Множество всех функций к-значной логики обозначим через Рк. В работе рассматриваются замкнутые относительно операции суперпозиции классы функций.
Определение 1. Пусть р(х1,... ,хт) — некоторый предикат, определенный на Ет, /(у1,..., уп) — функция из Рк. Говорят, что функция / (у1,..., уп) сохраняет предикат р(х1,..., хт), если для любых п наборов (ц = (ал,..., аіт) (і Є {1,..., п}), удовлетворяющих предикату р, набор /(а11,..., ап1), ..., /(а1т,..., апт) также удовлетворяет предикату р. По определению будем считать, что тождественно ложный предикат сохраняет любая функция.
Обозначим через Ро1(р) множество функций, сохраняющих предикат
р.
* Работа выполнена при поддержке ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг.
1. Основные определения
На множестве предикатов вводятся следующие операции: отождествление переменных, проекция или добавление квантора существование по какой-либо переменной, конъюнкция. Для произвольного множества предикатов P через [P] будем обозначать замыкание P относительно указанных операций. Подробное определение этих операций можно найти в [2] и [3].
Приведем вначале несколько вспомогательных фактов, касающихся свойств предикатов.
Лемма 1 ([2]). Если p1 е [p2], то Pol(p2) С Pol(p1).
Лемма 2 ([2]). Пусть p — предикат местности n > 1. Если существуют различные номера i,j е {1,...,n} такие, что для любого набора а из p(a) = TRUE следует ai = aj, то справедливо
Po1(p(xi, . . .,Xn)) = Po1(3yp(xi, . . . , Xj-1, y, Xj+1,.. .,Xn)).
Лемма 3 ([5]). Пусть p = p1 & ■ ■■ & pm, где предикаты pi,... ,pm не имеют общих переменных. Тогда
m
Pol p = pi Pol pi.
i=1
Обозначим предикат d(x1,x2) = (x1 = x2).
Лемма 4. Пусть предикат R таков, что d е [R], A — произвольный замкнутый класс, содержащий Pol R. Тогда для любого предиката p е Inv A справедливо p е [R].
Доказательство. Согласно [2] Inv Pol R = [R]. Используя соотношение Pol R С A, получаем Inv A С Inv Pol R = [R]. Отсюда для любого p е Inv A выполнено p е [R]. □
Пусть на множестве Ek задана некоторая подстановка а.
Определение 2. Функция k-значной логики f (x1,..., xn) называется самодвойственной относительно подстановки а, если выполнено следующее тождество: f (x1,..., xn) = a-1(f (a(x1),..., a(xn))), где через а-1 обозначена подстановка, обратная к а.
Известно [4], что множество всех функций из Pk, самодвойственных относительно а, является замкнутым классом. Обозначим этот класс через Sa. Указанный класс является предполным тогда и только тогда, когда подстановка а распадается в произведение циклов одинаковой длины, являющейся простым числом [4].
Зафиксируем некоторую подстановку а на Ek. Обозначим множество Md = {а е Ek : аЛ(а) = a}, где d > 0. Иными словами, Md — множество элементов Ek, образующих циклы подстановки а, длины которых кратны числу d. Тот факт, что число а делится на число b, будем обозначать через b|a.
Лемма 5. Пусть элементы множества Md образуют циклы подстановки а с длинами m1,..., mp, тогда Md = Мнок (mi m ).
Согласно последней лемме, мы можем рассматривать только множества Md, где число d равно наименьшему общему кратному длин циклов подстановки а, элементы которых образуют рассматриваемое множество Md. Обозначим множество указанных чисел d через Da. Через ha обозначим наименьшее общее кратное длин всех циклов подстановки а.
Введем двухместные предикаты Rd,i такие, что Rd,i(a,b) = TRUE тогда и только тогда, когда a,b е Md и b = а^а). Обозначим классы Sdi = Pol Rd,i. Из [5] следует, что Sha i = Sai. Обозначим предикат
Ra = Rha, 1.
Лемма 6. Для произвольных d,j > 0 выполнено Sa С Sd,j.
Доказательство. Согласно нашим обозначениям Sa = Pol Ra, Sd,j = Pol Rd,j.
По определению предикатов Rdj справедливо следующее соотношение:
Rd,j = ^У1, . . .,yj+d-2Ra (x1,y{) & Ra (У1,У2) & ... & Ra (yj-1,x2) &
(1.1)
& Ra (x1,yj )& Ra (yj, yj+1) & ... & Ra (yj+d-2,x1).
Получаем, что Rdj е [Ra]. Использование леммы 1 завершает доказательство. □
Лемма 7. Для произвольного d > 0 и i,j> 0 таких, что i|j, выполнено Sd,i С Sd,j.
Доказательство. Напомним, что Sd}i = Pol(Rd,i) и Sd,j = Pol(Rd,j). Пусть j = ih. По определению предикатов Rdm имеем: Rdj (x1,x2) = 3y1,. ..,yh-1Rd,i(x1,y1)& Rd,i(y1,y2)& ... & Rd,i(yh-1,x2). В силу леммы 1 получаем утверждение леммы. □
Следствие 1. Если c = ab (mod d), где d е Da, то Sd,a С Sd,c.
Доказательство. По лемме 7 получаем, что Sd,a С Sd,ab. Но поскольку по определению числа d справедливо аab(x) = ас^) для любого x е Md, то Rd,ab = Rd,c. Получаем, что Sd,ab = Sd,c. □
Лемма 8. Пусть d е Da, 1 < i < d, j = НОД(^). Тогда справедливо
Sd,i = Sd,j.
Доказательство. Из условия и алгоритма Евклида [1] получаем, что существуют целые числа a,b такие, что справедливо ad + bi = j. Это эквивалентно bi = j (mod d). По следствию леммы 7 получаем Sd,i С Sd,j. С другой стороны, непосредственно из условия данной леммы и леммы 7 следует, что Sd,j С Sdti. □
Следствие 2. Любой класс вида Б^,г, где і не делит й, совпадает с некоторым классом Б^, где і\й.
Используя данное следствие и лемму 5, будем рассматривать только классы Б^і и предикаты Я^г, где і — делитель числа й, й Є Оа.
2. Вспомогательные утверждения
Рассмотрим некоторые понятия, связанные с графами.
Определение 3. Путем из вершины У\ в вершину у2 в ориентированном графе С будем называть любую последовательность ребер вида {^і,иі), (иі,и2), (и2,из),...,(ит^2)} (вершины и ребра в последовательности могут повторяться). Ориентация ребер указанной последовательности может быть любой. Замкнутым называется путь, в котором первая и последняя вершины совпадают. Циклом называется замкнутый путь, в котором каждая вершина встречается не более одного раза (кроме первой и последней). Длиной пути будем называть разность количества ребер, пройденных в прямом направлении, и количества ребер, пройденных в обратном.
Лемма 9. Пусть все циклы связного орграфа С имеют длины е1,...,ея. Тогда для любой вершины V и любого целого а в графе С существует замкнутый путь длины ас, где с = НОД(\с1\,...,\ся\), проходящий через вершину V. Замкнутых путей с другими длинами в графе С нет.
Доказательство. Поскольку знак чисел сг зависит от направления обхода соответствующего цикла, будем считать, что все сг > 0.
Докажем вначале, что для любых целых а1,...,ая граф С содержит замкнутый путь длины ^г=і агсг.
Мы можем пройти аі раз цикл длины сі (знак числа аі указывает направление обхода). Поскольку граф связный, существует путь Б' от какой-нибудь вершины указанного цикла к какой-то вершине цикла длины с2. Пройдем по нему в прямом направлении, пройдем а2 раз цикл длины с2, затем вернемся по Б' к первому циклу. Получим замкнутый путь длины аісі + а2с2 (поскольку длина пути Б' из-за его прохождения в прямом и обратном направлении будет присутствовать в сумме с плюсом и с минусом). Рассуждая аналогично для циклов с длинами сз,. ..,ся, получим, что в графе С существуют замкнутые пути с длинами ?=і агсг для всевозможных целых чисел аі,..., ая.
Покажем теперь, что других замкнутых путей в С нет.
Рассмотрим произвольный замкнутый путь С в С. Пусть V — некоторая вершина, входящая в путь С. Пойдем по ребрам С из указанной вершины. Если некоторая вершина и встретится второй раз (возможно
и = V), то разрежем С на два замкнутых пути: Ті — участок пути С между двумя вхождениями вершины и и замкнутый путь Сі = С \ Ті. По построению каждая вершина входит в Ті один раз. Возможны варианты: либо Ті представляет собой замкнутый путь, состоящий из одного ребра, проходимого в прямом и обратном направлении, либо Ті — цикл графа С. Проделаем теперь аналогичную процедуру для замкнутого пути Сі и так далее. В итоге мы разобъем замкнутый путь С на множество циклов графа С, а также вырожденные замкнутые пути, состоящие из одного ребра, проходимого два раза. Длины последних путей равны
0, поэтому исключим их из рассмотрения. Поскольку каждое ребро С войдет в некоторый цикл или вырожденный замкнутый путь длины
0, то получаем, что длина пути С равна сумме длин некоторых циклов графа С, то есть длина С имеет вид ^і=і агсг (каждый цикл в С может проходиться несколько раз).
Пусть теперь с = НОД(сі, ...,сч). Согласно алгоритму Евклида, существуют целые числа Ьі,...,Ьд такие, что ^2 і=і Ьгсг = НОД(сі, ...,сч) = с. По доказанному выше в графе С существует замкнутый путь длины с. Учитывая связность графа С, получаем требуемое. □
Определение 4. Пусть все циклы связного орграфа С имеют длины сі,..., ся. Через с(С) будем обозначать величину НОД(\сі\,..., \ся\).
Следствие 3. Пусть в связном орграфе С из вершины V в вершину и существует путь длины I. Тогда любой путь из вершины V в вершину и имеет длину I + ас(С), где а — некоторое число.
Лемма 10. 1. Пусть Сі,С2 — связные орграфы. Обозначим через
С3 граф, полученный склейкой некоторой вершины V графа Сі и вершины и графа С2 (при этом считаем, что множества вершин графов Сі и С2 не пересекаются). Тогда с(С3) = НОД(с(Сі), с(С2)).
2. Пусть С — связный граф. Обозначим через Сі граф, полученный склейкой некоторых вершин V и и графа С. Пусть в С между вершинами V и и — путь длины I. Тогда с(Сі) = НОД(с(С),1).
Доказательство. Докажем первое утверждение леммы. Отметим, что по определению цикла в графе Сз присутствуют только циклы, имеющиеся в графах Сі, С2. Но тогда по лемме 9 и определению величины с(С) справедливо с(С3) = НОД(с(Сі),с(С2)).
Перейдем ко второму утверждению. Любой цикл графа Сі либо является циклом графа С, либо получается из некоторого пути в графе С между вершинами V и и. По лемме 9 длины сі,...,ся всех циклов графа С кратны числу с(С). По следствию 3 любой путь между вершинами V и и имеет длину I+ас(С), где а — некоторое целое число. Отметим, что в графе С найдется хотя бы один путь указанного вида без повторений вершин и ребер. Данный путь образует цикл в графе Сі. Обозначим его длину I + аос(С).
Получаем, что граф G имеет циклы с длинами c1,..., cq, l + a0c(G) и возможно еще циклы с длинами вида l + ac(G), где а — целые числа (i G {1,...,p}, p ^ 0). Окончательно имеем
c(Gi) = НОД(cl, ...,cq,l + a0c(G),l + a\c(G), ...,l + apc(G)) =
= НОД(c(G),l).
□
Пусть предикат p G [Ra], где Ra — предикат, задающий класс самодвойственных функций Sa. Пусть F — формула, реализующая предикат p над {Ra}. Везде далее будем считать, что в формуле F вынесены вперед все кванторы существования. Сопоставим F ориентированный граф G(F) по следующему правилу: между множеством вершин G(F) и множеством переменных F (учитываем и свободные и связанные) существует взаимно однозначное соответствие. Вершину, соответствующую переменной х, пометим символом "x если переменная x свободная и "Зх если связанная. Данную вершину для краткости изложения будем обозначать vx. В графе G(F) есть ориентированное ребро (vx,vy) тогда и только тогда, когда в формуле F содержится запись Ra (y,x).
Отметим, что по графу формулы G(F) формула F с вынесенными вперед кванторами существования восстанавливается однозначно. Поэтому вместо выражения c(G(F)) будем для краткости писать c(F).
Пусть vyi,...,vyN — все вершины графа G(F). Предположим, что длины всех путей от вершины vi до vj образуют множество Dij. Оставим в каждом таком множестве по одному минимальному неотрицательному элементу di,j. Отметим, что по лемме 9 множество Dij содержит числа (di j + ac(F)) (mod ha) для всех а, откуда 0 ^ di j < c(F).
Условимся, что первые n переменных из множества {yi,...,yN} и только они являются свободными переменными предиката p.
Лемма 11. Предикату p(y1,..., yn) удовлетворяют все наборы (adi’1 (b), adi’2 (b),..., adi’i-1 (b), b, adi’i+1 (b),..., adi’n (b)) и только они, где b — произвольный элемент множества Mc(F), произвольное i G {1,... ,n}.
Доказательство. Пусть набор а таков, что p(a1,..., an) = TRUE. Рассмотрим некоторую компоненту ai указанного набора. По лемме 9 существует замкнутый путь длины c(F), проходящий через вершину vyi. По определению графа Gf получаем, что ac(F)(ai) = ai, откуда ai G Mc(F). Пусть j G {1,...,n}, i = j. Между вершинами vyi и vyj существует путь длины di j. Следовательно, должно выполняться соотношение aj = adi’j(b). Получаем, что никакие наборы, кроме тех, что указаны в формулировке леммы, не могут удовлетворять предикату p.
Пусть теперь набор а удовлетворяет формулировке леммы. Зафиксируем некоторое число i G и обозначим ai = b. Присвоим
каждой переменной yj предиката p (свободной и связанной) значение, равное adij (b). Покажем далее, что р(а) = TRUE.
Рассмотрим произвольное вхождение сомножителя Ra(yj ,yq) в формулу F, задающую предикат p над {Ra}. Переменные yj и yq примут соответственно значения aj = adij (b) и aq = adi’q (b). Сомножителю Ra(yj,yq) в G(F) соответствует ребро (vyq,vyj). Отметим, что в графе G(F) существуют пути от вершины vyi к вершинам vyq и vyj с длинами соответственно di,q и di,j. Составим новый путь из вершины vyi в вершину vyj через vyq длины diq + 1. По следствию 3 существует целое число а такое, что ditj = diq + 1 + ac(F).
Учитывая, что aq G Mc(p), получаем
aj = adi,j (b) = adi,q+1+ac(F)(b) = a1+ac(F)(aq) = a(aq),
откуда Ra(aj ,aq) = TRUE. При описанном присвоении произвольный сомножитель в формуле F истинен, откуда р(а) = TRUE. □
Обозначим через Gdj графы, соответствующие формулам Fd,j из выражения (1.1), задающим предикаты Rdj над {Ra}.
Лемма 12. Пусть P = {Rd1,ii,---,Rdm,im}, do = НОД^1,...^т), Md0 = 0- Тогда для любых целых чисел ai, bi (i G {1,..., m}) справедливо
m m
Rtp G [P], где t = НОД^о, ajij) и p = bjij (mod p).
j=1 i=1
Доказательство. Рассмотрим следующий предикат:
Rdo (x) = 3yi ,...ymRdi,ii (x, yi) & Rd2,i2 (x,y2) ■■■ & Rdm.im (х,Ут). (2.1)
Указанный предикат можно реализовать формулой F0 над {Ra}, полученной подстановкой в выражение (2.1) формул Fdj,ij (выражение (1.1)) для предикатов Rdjij. Отметим, что граф Gf0 получается соединением графов Gdjij по одной вершине. Используя лемму 10, получаем, что c(F0) = НОД^1,..., dm) = d0. Откуда по лемме 11 имеем, что Rdo (b) = TRUE тогда и только тогда, когда b G Mdo.
Введем следующие предикаты
Щ j (x1, x2) = (22)
3yi,..., yn-1Rdj ij (X1,y{) & Rdj ij (У1,У2) & ... & Rdj ij (yn-1, x2),
Ra(x) =
3yu..^ ys-1 Rdj1 j (X У1) & Rj j (У1,У2)& ... & Radjs j (Уs-1,x2),
(2.3)
где — номера всех ненулевых чисел из множества {аі,ат}.
Мы подразумеваем, что все связанные переменные предикатов Е^, .. различны и отличны от связанных переменных уі,..., у3-і из формулы
(2.2).
Обозначим через ЕЩ.г. формулу для предиката ЕЩ. г ., получающуюся подстановкой формул Еа.,гв выражение (2.2). По лемме 10 справедливо еЩ г. ) = (I]. Аналогично обозначим через Еа формулу для предиката Еа, получающуюся подстановкой формул ЕЩ. г. в выражение (2.3).
__ т
По лемме 10 справедливо е(Га) = НОД^^, ^ а]і]). Используя
__ ]=1
лемму 11, имеем Еа(Ъ) = ТЕиЕ тогда и только тогда, когда Ъ Є Мс^ ).
Обозначим Т1(х) = Еа0 (х) & Еа(х). Заметим, что Ма0[) Мс(-р ) = М^ откуда получаем, что Ті(Ь) = ТЕиЕ тогда и только тогда, когда Ъ Є Мі. Введем теперь предикат
ЕЬ(Х1,Х2) =
Зуь..- Уг-1Еа?1, гп (ХЬ Уі ) & (Уі,У2)& ... & Щ7г, г3г (Уг-Ъ х2),
(2.4)
где 8і,...,зг — номера всех ненулевых чисел из множества {Ьі,..., Ът}. Мы опять подразумеваем, что все связанные переменные предикатов Е^ г. различны и отличны от связанных переменных Уі,...,Уг-і из формулы (2.4).
Обозначим через Еь формулу для предиката Еь, получающуюся подстановкой формул ЕЩ. г. в выражение (2.4). По лемме 10 справедливо е(ЕЬ) = НОД(^51, ..^ й3г), а по лемме 11 — ЕЬ(х1,х2) = Ес(рь)Р-
В силу Мі С М(е(ЕЬ)) справедиво Еі,р(х1,х2) = Т1(х1)& ЕЬ(х1,х2). Остается заметить, что согласно выражениям (2.1), (2.2), (2.3), (2.4) предикаты Еа0, Еа, Еь реализуются формулами над множеством предикатов Р. Следовательно, справедливо Еір Є [Р]. □
Лемма 13. Пусть классы Ба1>г1 и Ба2,г2 таковы, что справедливо М^1 С М^2 и НОД(^1, і2) не делит і1. Тогда существует функция Е, удовлетворяющая следующим условиям:
1. Е Є Баї ,іі ;
2. для любого (13 Є Оа такого, что Ма1 ^ Ма3, выполнено Е є Ба3 т, где т — любое число;
3. для любого d4 Є Оа такого, что Ма2 С Ма4, и г такого, что і2г делит Н, выполнено Е є Ба4,І2Г.
Доказательство. Обозначим пі = агї, п2 = аг2. Пусть множество Ма1 состоит из элементов, входящих в циклы подстановки пі с длинами ті,..., тр. Возьмем в каждом из указанных циклов по произвольному элементу аі,. ..,ар, пусть Ъд = пі(ад), д = 1,...,р.
Поскольку НОД(^1,*2) не делит i1, то d1 = i1, откуда п1 — не тождественная подстановка на множестве Mdl. Получаем, что у подстановки ni на множестве Mdl существует цикл длины, большей 1. Пусть элемент d принадлежит этому циклу.
Обозначим через F p-местную функцию, равную d на наборах а = (а1,..., ар) и b = (b1,...,bp); на любом наборе с = (c1,...,cp) таком, что существует число m: cq = n2m(aq) для всех q = 1,...,p или cq = n2m(bq) для указанных q, значение функции равно n2m(d) (в дальнейшем множество наборов данного вида вместе с наборами а и b будем обозначать C), на остальных наборах F(X) = жь Докажем корректность определения указанной функции.
Во-первых, покажем, что не существует чисел а, в таких, что п^(а) =
(b). Предположим противное, тогда для всех q = 1,... ,p аг2(а-в (aq) = bq или a%2(a-e')-%l (aq) = aq . Предположим, что элементы a1,...,ap входят в циклы исходной подстановки а с длинами m1,..., m'p,, откуда mj|(i2(а — в) — i1) для любого j G {1,... ,p'}. А поскольку мы условились, что d1 = НОК(т1,..., т'р,), то d1l(i2(a — в) — i1). Следовательно, существуют константы к1,к2 такие, что справедливо k1i2 + k2d1 = i1, откуда НОД(dl, i2) делит i1. Получаем противоречие с условием леммы.
Во-вторых, если для некоторого t справедливо п2 (aq) = aq для всех q G {1,... ,p}, то для функции F должно выполняться
d = f (a) = f (п2 (a1),...,n2 (ap)) = п2 (d),
что обеспечивается выбором элемента d.
Покажем теперь, что построенная функция удовлетворяет сформулированным условиям.
Согласно выбору элемента d, выполнено n1(d) = d. Заметим, что элементы aq (q G {1,... ,p}) принадлежат множеству Mdl, следовательно, указанному множеству принадлежат и все элементы bq. Поскольку bq = n1(aq), то Rdl,il(aq,bq) = TRUE для любого q G {1,... ,p}. Итак, получаем, что рассмотрение наборов a = (a1,..., ap) и b = (b1,...,bp) = (п^),.. .,n1(ap)) для предиката Rduh дает F / Pol RdlM = Sduil.
Пусть Mdl ^ Md3. Следовательно, существует цикл Ct подстановки а длины mt, элементы которого принадлежат множеству Mdl и не принадлежат Md3. Рассмотрим любые два p-местных набора X и у, покомпонентно удовлетворяющие предикату Rd3,m, где m — любое число. Из сказанного выше и того факта, что t-я компонента любого набора из множества C принадлежит циклу Ct, следует, что X,y / C. Получаем, что Rd3,m(F(X),F(y)) = Rd3,m(x1,y1) = TRUE. Следовательно, F G
Po1 Rd3 ,m — Sd3 ,m.
Пусть, наконец, Md2 Q Md4, i2,r удовлетворяют условиям леммы. Снова возьмем два произвольных набора X, у, покомпонентно удовлетворяющих предикату Rd4,-i2r.
Предположим, что X G C. Следовательно, существует m: X = (nm(a1),
.. .,nm(ap)), откуда у = (п2т+г(a1),... ,n2m+r(ap)) (либо указанные соотношения справедливы для набора b). Получаем, что у G C. Итак, либо оба набора X, у принадлежат множеству C, либо оба не принадлежат
C. Во втором случае Rd4,i2r(F(X),F^)) = Rd4,i2r^1,у1) = TRUE. В первом случае будет выполнено
Rd4,i2r(F(X), F(y)) = Rd^r(F(nm(a)),F(nm+r(a)) =
= Rd4,i2r (d'n (d')) = TRUE,
где d' = n2m(d) (поскольку d G Mdl, то d! G Mdl, откуда d! G Md4).
Окончательно получаем, что F G Pol Rd4,i2r = Sd4,i2r. □
Лемма 14. Пусть классы Sdl,il и Sd2,i2 таковы, что справедливо Mdl С Ek, и у подстановки а существует цикл L Q Md2 \ Mdl длины l, удовлетворяющей условию l| HOK(i2,d1). Тогда существует функция G, удовлетворяющая условиям:
1. G / Sdl,il;
2. для любого d3 G Da такого, что Mdl ^ Md3, выполнено G G Sd3 m, где m — любое число;
3. для любого d4 G Da такого, что Md2 Q Md4, и r такого, что i2r делит hd4, выполнено G G Sd4,i2.
Доказательство. Доказательство аналогично предыдущему. Обозначим П1 = ail, П2 = аг2, возьмем по элементу ai из каждого цикла подстановки П1 на множестве Mdl и составим из указанных элементов p-местный набор a = (a1,.. .,ap). Пусть элемент d G L. Определим p-местную функцию G следующим образом. Положим G(a) = d; на любом наборе с = (c1,...,cp) таком, что существует число m: cq = n2m(aq) для всех q = 1,...,p, функция G равна n2m(d). Обозначим указанное множество p-местных наборов (вместе с с) через C. На всех остальных наборах положим g^ il L(X) = X1.
Снова покажем корректность определения функции. Пусть число r
— минимальное, удовлетворяющее условию п2 (aq) = aq для всех q G {1,...,p}. Следовательно, элементы a1,...,ap входят в циклы исходной подстановки а, длины которых делят число i2r. Число d,1 G Da равно наименьшему общему кратному длин циклов исходной подстановки а, элементы которых образуют множество Mdl. Получаем, что (h^r, или существует число t такое, что выполнено i2r = td1. Но поскольку r — минимальное число, удовлетворяющее условию п2(aq) = aq для всех q G {1,...,p}, то ни для какого числа r' < r не справедливо d1li2r', откуда
i2r = td1 = НОК(i2,d1). (2.5)
По определению числа r для корректности определения функции G должно выполняться следующее соотношение:
d = G(a) = G(nr(a1),..., п2(ap)) = п2(d) = ari2(d).
Указанное равенство выполнено тогда и только тогда, когда элемент d принадлежит циклу подстановки а, длина l которого делит число ri2. Но по условию l| НОК^^), откуда, согласно (2.5), получаем l|i2r. Корректность определения функции G доказана.
Покажем, что функция G удовлетворяет сформулированным требованиям. Пусть b = (n1(a\),...,n1(ap)). Первый пункт вытекает из соотношения Rdltil(G(a),G(b)) = Rdl}il(d,G(b)) = FALSE (поскольку d / Mdl). Доказательства второго и третьего пунктов полностью повторяют аналогичные доказательства в предыдущей лемме. □
Докажем теперь важные следствия рассмотренных утверждений.
З. Классы, содержащие Sa
Теорема 1. В решетке замкнутых классов k-значной логики над классом самодвойственных функций Sa находятся только классы вида Sdi и их пересечения.
Доказательство. Из леммы 6 следует, что все классы Sdi содержат класс Sa. Поэтому нам достаточно показать, что любой замкнутый класс A, содержащий класс Sa, совпадает с одним из указанных классов.
Рассмотрим один из предикатов p, который сохраняют все функции системы A, то есть p Є Inv(A). По лемме 4 получаем, что предикат p реализуется некоторой формулой F над {Ra}. Сопоставим формуле F граф Gf .
Рассмотрим вначале случай, когда граф Gf связен.
Покажем, что замкнутый класс Pol p совпадает с одним из классов вида Sd,i.
Перенумеруем вершины графа Gf. Будем предполагать, что первые n вершин vXl,... ,vXn (n ^ 1) графа Gf соответствуют свободным переменным xl,...,xn формулы F, остальные — связанным. Обозначим через dij минимальное неотрицательное расстояние от вершины vXi до вершины vXj.
Рассмотрим теперь следующие случаи.
Пусть предикат p — одноместный (n = 1). По лемме ll получаем, что p(x) = TRUE тогда и только тогда, когда x Є Mc(f). Согласно лемме 5 мы можем взять число d Є Da такое, что Mc(F) = Md. Тогда
имеем p(x) = Rd,d, откуда Polp = Sd,d. Отметим, что в данном случае мы получили либо Pk, либо предполный центральный класс.
Пусть теперь предикат p двухместный (п = 2). Из леммы 11 следует, что p(a,b) = TRUE тогда и только тогда, когда a,b G Mc(F)^ и b = adl’2(a). Снова по лемме 5 возьмем число d G Da такое, что Mc(F) = Md, а по следствию из леммы 8 число i — делитель d такое, что Sc(F) d12 =
Sd,i.
Пусть теперь п > 2. Покажем, что в данном случае существует двухместный предикат R' такой, что p G [R'], R' G [p], то есть Pol(p) = Pol(R') (согласно лемме 1), а предикат R' относится ко второму случаю.
Рассмотрим множество элементов d,1,1,..., d1,n. Если среди них найдутся два равных d1,i и d1,j, то согласно лемме 11 в любом наборе a G En, удовлетворяющем предикату p, компоненты ai и aj будут равны. По лемме 2 мы можем перейти к предикату, задающему тот же класс Polp, в котором все числа d1,1,..., d1,n различны.
Применив алгоритм Евклида, получим, что существуют целые числа b1,...,bn такие, что
n
d = НОД((м, ..., d1,n) = Y1 bid1,i. (3.1)
i=1
По лемме 12 справедливо Rc(F),dli = Rc(F),Sid G [Rc(F),d]. По леммам 11 и 12 получаем
p(x1, . . . , xn) Rc(F),dl,2 (x1, x2)& Rc(F),dl,3 (x1, x3)& ... & Rc(F),dl,n (x1, xn),
откуда p G [Rc(F),d].
Справедливость следующего соотношения вытекает непосредственно из леммы 11.
Rc(F),bidl,i (x1j x2) = 3y)p(x1, У1..., vLuVi^i+u ...,vn )&
& p(Vi ,V2 ..., Vi-1,Vi,yi+1, ...,уП )&
&p(Vi,V2...,у!-1,у!,у!+1, ...,уП)& ... &
& p(ylbi-1, У2 ...,У- 1,x2,yi+1,..., уП ), где под символом 3yj подразумевается существование всех переменных, имеющих вид Vji и встречающихся в формуле.
Далее имеем Rc(F),d G [{Rc(F),bidl,l ,...,Rc(F),bidl,n}] в силу (3.1) и леммы 12, откуда окончательно Rc(F),d [p].
Пусть теперь граф Gf несвязен. В этом случае каждая компонента связности GF соответствует некоторой формуле Fi, задающей предикат
m
p-i, i G {1,... ,m}. По лемме 3 получаем, что Polp = f| Polpi, то есть
i=1
класс Pol p совпадает с некоторым пересечением классов из рассмотренных семейств. □
4. Структура надрешетки класса So-
Теорема 2. Sd2,i2 С Sdl,il тогда и только тогда, когда выполнены следующие условия:
1. Mdl с Md2;
2. НОД(І2,dl)|il;
3. для любого цикла L длины l подстановки а на множестве Md2\Mdl число l не делит НОК^2, d1).
Доказательство. Если нарушается первое требование, то существует цикл L1 подстановки а, элементы которого принадлежат множеству Mdl \ Md2,. Возьмем два элемента a, b, принадлежащие указанному циклу, такие что b = ail (a) (при этом возможна ситуация, когда a = b). Пусть d — некоторый элемент, не принадлежащий циклу L1. Рассмотрим следующую функцию:
, | d, если x = a;
u(x) = <
x, иначе.
На множестве Md2 справедливо u(x) = x, откуда u(x) G Sd2,i2. Из соотношений Rdl>il(a,b) = TRUE, Rdl,il(u(a),u(b)) = Rdl,il(d,b) = FALSE (поскольку элементы d, b принадлежат разным циклам подстановки а) следует, что u(x) / Sdlil.
Если нарушается второе требование, то выполнены условия леммы 13, и существует функция F G Sd2,i2 \ Sdl,il. Если нарушается третье требование, то выполняются все условия леммы 14. Следовательно, существует функция G G Sd2,i2 \ Sdl,il.
С другой стороны, пусть перечисленные в формулировке условия выполнены.
Напомним, что по лемме 12 для любых чисел a, b справедливо Rt,p G
[Rdl,il], где t = НОД^^^), p = bi2(mod t). Положив a = НОК2(^1) , имеем t = НОД((2, НОК^2, d1)).
В силу первого условия d1ld2. Очевидно, d1l НОК(i2,d1). Получаем, что d1lt, то есть существует число а такое, что t = ad1. Покажем, что Mdl = Mt.
Пусть b G Mdl, то есть элемент b принадлежит циклу подстановки а длины l', делящей d2. Но тогда l'l@d1 = t. Получаем, что b G Mt. С другой стороны, пусть b G Mt. В этом случае длина l' цикла подстановки а, содержащего элемент l', делит число t = НОД (d2, НОК (i2,d1)). Но тогда l' делит оба числа d2 и НОК (i2, d1). Из l'ld2 следует, что b G Md2, а из l'l НОК (i2, d1) и третьего условия теоремы следует, что b / Md2\Mdl. Получаем, что b G Mdl.
Из второго условия и алгоритма Евклида следует, что существуют целые числа t1,t2,t3 такие, что выполнено
i1 = t1 НОД^2, d1) = t2i2 + Ud1.
Положив b = t2, имеем p = i1 — t3d1(mod t). Следовательно, существует число в такое, что p = i1 —t3d1 + fit = i1 — t3d1 + @ad1 = i1 + jd1, откуда i1 = НОД(p, d1).
Из Mt = Mdl следует, что Rt,p = Rdl ,p. По нашему соглашению d1 G Do. Из i1 = НОД(p, d1) и леммы 8 следует, что Rt,p = Rdl,p = Rdl,il. Окончательно получаем, что Rdl,il G [Rd2,i2]. В силу леммы 1 имеем
Sd2,i2 С Sdi,ii. О
Следствие 4. Для любого фиксированного числа d G Do решетка замкнутых классов Sd,i изоморфна решетке делителей числа d относительно свойства делимости.
Следствие 5. Решетка классов самодвойственных функций Soi изоморфна решетке делителей числа ho относительно свойства делимости.
Лемма 15. Пусть P = {Rdl,ii,..., Rdm,im}, Rd,i — произвольный предикат, A = {Rdl,il,..., Rdi,ii} — подмножество из предикатов множества P, для которых Md С Mdj,. Пусть d = НОД (djl ,...,djl),
i = НОД (iji, ...,iji). Тогда Pol P С Sd,i = Pol Rd,i тогда и только тогда, когда справедливо S-^j С Sd,i.
Доказательство. Из леммы 12 следует, что R^j G [A], откуда по лемме
1 имеем, что Pol A С PolRjj = S^j. Получаем, что из S^i С Sdi следует Pol P С Pol A С Sd-t С Sdi.’ ’ ’ ’
Пусть теперь выполнено Pol P С Sd,i. Предположим, что Sd i ^ Sd,i. Поскольку Md = MdjiP\ ... П Mdjt и справедливо Md С M^, то нарушается либо второй, либо третий пункт теоремы 2. Следовательно, справедливы условия либо леммы 13, либо леммы 14. Получаем, что существует функция f G Sd i \ Sd, i (это либо функция F, либо функция G) с описанными в указанных леммах свойствами.
Возьмем произвольный предикат Rd,j G P \ A. По определению множества A справедливо Md ^ Md'. Согласно второму пункту лемм 13 и 14 справедливо f G Pol Rd' i'. Пусть теперь Rd',i' G A. В этом случае справедливо M^ С Md'. По определению числа i справедливо ii = ti, где t — некоторое число. В силу третьего пункта лемм 13 и 14 опять получаем справедливость f G Pol Rd'i .
Итак, мы показали, что f G Pol P. С другой стороны f / Sd,i. Получаем противоречие с соотношением Pol P С Sd,i. □
По теореме l любой класс из надструктуры класса самодвойственных функций Sa имеет вид Sibdl f| ...C\SiS’ds , или Pol (Rdl’il, . .., Rds’is ).
Из леммы 15 получаем следующую теорему.
Теорема 3. Пусть A = Pol (Rd1,i1,.., Rds,is), B = Pol (Rt1j1,..., Rtm,jm). Для произвольного p Є {1,..., m} обозначим через Ip множество номеров n чисел из {d1,..., ds}, удовлетворяющих Mtp С Mdn. Пусть dp, ip
— НОД чисел с номерами из Ip из множеств {d1,..., ds} и {i1,...,is} соответственно.
A С B тогда и только тогда, когда для любого p Є {1,...,m} справедливо Sd г С Stptjv (то есть для рассматриваемой пары классов выполнены указанные в теореме 2 условия).
Несмотря на громоздкость полученного критерия, он дает простой алгоритм проверки вложения для двух классов из надструктуры класса самодвойственных функций (см. теоремы 2 и З).
Список литературы
1. Арнольд И. В. Теоретическая арифметика / И. В. Арнольд. - М. : Учпедгиз, 1938. - 480 с.
2. Теория Галуа для алгебр Поста / В. Г. Боднарчук, В. А. Калужнин, В. Н. Котов, Б. А. Ромов // Кибернетика. - 1969. - № 3. - С. 1-10; - № 5. - С. 1-9.
3. Марченков С. С. Замкнутые классы булевых функций / С. С. Марченков. - М. : Физматлит, 2000. - 128 с.
4. Яблонский С. В. Функциональные построения в к-значной логике / С. В. Яблонский // Тр. мат. ин-та им. В. А. Стеклова АН СССР. - 1958. - Т. 51. -С. 5-142.
5. Яблонский С. В. Предполные классы в многозначных логиках / С. В. Яблонский, Г. П. Гаврилов, А. А. Набебин. - М. : Издат. дом МЭИ, 1997. - 144 с.
V. B. Larionov, V. S. Fedorova
Structure of classes of selfdual k-valued functions
Abstract. This paper contains full description of structure of classes, that contain arbitrary class of selfdual functions of multivalued logic; also main properties of this structure are proved.
Keywords: multivalued logic; selfdual function; structure.
Ларионов Виталий Борисович, кандидат физико-математических наук, ООО «Атес Медика Софт» ([email protected])
Федорова Валентина Сегеевна, кандидат физико-математических наук, Московский государственный университет имени М. В. Ломоносова,
факультет вычислительной математики и кибернетики, 119991, Москва, ГСП-1, Ленинские горы, факультет ВМК МГУ имени М. В. Ломоносова, тел.: (495) 939-53-92 ([email protected])
Larionov Vitaly, Ates Medica Soft ([email protected]) Fedorova Valentina, Moscow State University, faculty of computational mathematics and cybernetics, 119899, Moscow, Vorobyevy Gory, Moscow state university, faculty of computational mathematics and cybernetics, Phone: (495) 939-53-92 ([email protected])