Логика предикатов
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
КЕМЕРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Юридический факультет
Кафедра философии
РЕФЕРАТ
ПО ЛОГИКЕ
на тему:
"Логика предикатов"
Выполнил: студент гр. Ю-993
Грибанов Ю.Ю.
Проверил:
Овчаров А.А.
Кемерово 1999
СОДЕРЖАНИЕ
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Основные понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
§1. Логика предикатов с одним переменным . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
§2. Практика по решению проблемы разрешимости формул, содержащих
предикаты от одного переменного . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
§3. Поиск доказательств в натуральном интуиционистском исчислении
предикатов с e-символом и предикатом существования. . . . . . . . . . . . . . . . . . . .11
Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
ВВЕДЕНИЕ
Проблема разрешимости — эта проблема ставится для формул исчисления предикатов, лишённых символов постоянных предметов и символов индивидуальных предикатов. В последующем изложении предполагается, что рассматриваемые формулы таковы (если не сделано специальных оговорок).
Каждая такая формула представляет собой определённое утверждение, истинное или ложное, когда оно относится к определённому полю M.
Если такая формула истинна для некоторого поля M и некоторых предикатов, на нём определённых, мы будем называть её выполнимой.
Если формула истинна для данного поля M и для всех предикатов, определённых на M, мы будем называть её тождественно истинной для поля M.
Если формула истинна для всякого поля M и для всяких предикатов, будем называть её тождественно истинной или просто истинной.
Формула называется ложной или невыполнимой, если ни для какого поля ни при каких замещениях предикатов она не является истинной. Легко показать, что если формула U тождественно истинна, то формула > > ложна, и наоборот.
Постановка проблемы разрешимости для логики предикатов аналогична постановке этой проблемы для алгебры высказываний. Её решение и является целью данной курсовой работы. Итак, проблема ставится следующим образом: дать эффективный способ для определения — является ли данная формула выполнимой или нет.
Умея решать вопрос о выполнимости, мы тем самым сможем решать и вопрос об истинности любой формулы. В самом деле, если формула U истинна, то формула > > невыполнима, и обратно. Поэтому, доказав выполнимость или невыполнимость > >, мы тем самым проверим истинность U. Проблема разрешимости для логики предикатов является усилением проблемы разрешимости для исчисления высказываний, так как все формулы исчисления высказываний входят в число формул логики предикатов. Однако в то время как решение проблемы разрешимости для исчисления высказываний никаких трудностей не представляет, проблема разрешимости для логики предикатов оказалась связанной с серьёзными трудностями.
Современные исследования пролили свет на природу этих затруднений. В настоящее время представляется достаточно ясным, что решение этой проблемы в указанном смысле вообще невозможно. Иначе говоря, не может существовать никакого конструктивного правила, которое позволяло бы определять для любой формулы логики предикатов, является ли она тождественно истинной или нет. Для некоторых частных типов формул, однако, проблема разрешимости решается. Мы рассмотрим наиболее важный тип формул, для которых решение проблемы разрешимости может быть осуществлено, это формулы логики предикатов, зависящие от одного переменного.
Основные понятия
Пусть M - некоторое множество предметов и a, b, c, d - какие-то определённые предметы из этого множества. Тогда высказывания об этих предметах мы будем обозначать в виде
P(a), Q(b), R(c, d) и т.д.
P(a) обозначает высказывание о предмете a, Q(b) - высказывание о предмете b, R(c, d) - высказывание о предметах c и d и т.д.
Такие высказывания могут быть как истинны, так и ложны, обозначаемые соответственно символами И и Л. Эти значения ставятся в соответствие определённым предметам или группам предметов.
Пусть M - произвольное непустое множество, а x представляет собой произвольный предмет из этого множества. Тогда выражение F(x) обозначает высказывание, которое становится определённым, когда x замещено определённым предметом из M. F(a), F(b), ... уже представляют собой вполне определённые высказывания. Например, если M натуральный ряд, то F(x) может обозначать: " x есть простое число".
Это неопределённое высказывание становится определённым, если x заменить некоторым числом, например: "3 простое число", "4 простое число" и т. д.
Пусть S(x,y) обозначает: " x меньше y".
Это высказывание становится определённым, если x и y заменить числами: "1 меньше 3", "5 меньше 2" и т. д.
Так как с нашей точки зрения каждое определённое высказывание представляет собой И или Л, то выражение F(x) означает, что каждому предмету из M поставлен в соответствие один из двух символов И или Л. Иначе говоря, F(x) представляет собой функцию, определённую на множестве M и принимающую только два значения И и Л. Таким же образом неопределённое высказывание о двух и более предметах H(x, y), G(x, y, z) и т. д. предвтавляет собой функцию двух, трёх и т. д. переменных. При этом переменные x, y, z пробегают множество M, а функция принимает значения И и Л. Эти неопределённые высказывания, или функции одного или нескольких переменных, мы будем называть логическими функциями или предикатами. Предикатом с одним переменным можно выразить свойство предмета, например " x есть простое число", " x - прямоугольный треугольник" и т.д.
Все понятия, которые мы будем вводить, относятся всегда к некоторому произвольному множеству M, которое мы будем называть полем. Элементы этого поля будем обозначать малыми латинскими буквами (иногда эти буквы мы будем снабжать индексами). Буквы конца латинского алфавита
x, y, z, u, v, x>1>, x>2>, ...
обозначают неопределённые предметы поля. Их мы будем называть предметными переменными. Буквы начала алфавита
a, b, c, a>1>, a>2>, ...
обозначают определённые предметы поля. Их мы будем называть индивидуальными предметами или предметными постоянными.
Большими латинскими буквами
A, B, ..., X, A>1>, A>2>, ...
мы будем обозначать переменные, принимающие значения И и Л. Их мы назовём переменными высказываниями. Мы будем также рассматривать и постоянные высказывания. Их мы будем также обозначать большими латинскими буквами, как-нибудь отмеченными или просто с дополнительной оговоркой.
Большие латинские буквы и символы предикатов как индивидуальных предметов, так и от предметных переменных мы будем называть элементарными формулами.
Мы будем говорить, что в формулах
("х) U(х) и ($х) U(х)
кванторы ("х) и ($х) относятся к переменному х или что переменное х связано соответствующим квантором.
Предметное переменное, не связанное никаким квантором, мы будем называть свободным переменным.
Формулы, в которых из операций алгебры высказываний имеются только операции > >, > > и > >, а знаки отрицания относятся только к элементарным предикатам и высказываниям, будем называть приведёнными формулами.
Приведённая формула называется нормальной, если она не содержит кванторов или если при образовании её из элементарных формул операции связывания квантором следуют за всеми операциями алгебры высказываний.
Если две формулы U и B, отнесённые к некоторому полю M, при всех замещениях переменных предикатов, переменных высказываний и свободных предметных переменных соответственно индивидуальными предикатами, определёнными на M, индивидуальными высказываниями и индивидуальными предметами из M, принимают одинаковые значения И или Л, то мы будем говорить, что эти формулы равносильны на поле M.
Если две формулы равносильны на любых полях M, то мы будем их называть просто равносильными.
Нормальную формулу, равносильную некоторой формуле U, мы будем называть нормальной формой формулы U.
§1. Логика предикатов с одним переменным
Мы будем рассматривать формулы логики предикатов, содержащие предикаты, которые зависят только от одного переменного. Логика, в которой употребляются только такие выражения, соответствует той, которая описана Аристотелем и вошла как традиционный элемент в систему гуманитарного образования. Известные формы высказываний этой логики и формы умозаключений, так называемые «модусы силлогизмов», выражаются полностью в символике логики предикатов от одного переменного.
Теорема. Если формула логики предикатов, содержащая только предикаты от одного переменного, выполнима на некотором поле M, то она выполнима на поле > >, содержащем не более > > элементов, где n - число предикатов, входящих в рассматриваемую формулу.
Пусть формула U(A>1>, ..., A>n>), содержащая только символы предикатов A>1>, ..., A>n>, каждый из которых зависит от одного переменного, выполнима на некотором поле M. эту формулу мы можем предполагать представленной в нормальной форме, а все предметные переменные в ней связанными. В самом деле, какова бы ни была формула U, мы можем, произведя над ней преобразования, привести её к виду, в котором все кванторы предшествуют остальным символам формулы, при этом состав её предикатов и предметных переменных не изменяется. Если в U есть свободные предметные переменные, то можно связать их квантором общности.
Итак, допустим, что U – нормальная формула. Тогда мы можем представить её следующим образом:
(s x>1>)(s x>2>)...(s x>p>) B(A>1>, ..., A>n>, x>1>, ..., x>p>),
где каждый из символов (s x>i>) обозначает квантор ("x>i>) или ($x>i>), а формула
B(A>1>, ..., A>n>, x>1>, ..., x>p>)
кванторов не содержит.
В формуле B(A>1>, ..., A>n>, x>1>, ..., x>p>) все переменные x>1>, ..., x>p> входят в предикаты A>1>, ..., A>n>, и её можно записать в виде
B(A>1>(>>), ..., A>n>(>>)),
где i>1>, ..., i>n> – числа от 1 до p. Однако, будет удобнее пользоваться выражением
B(A>1>, ..., A>n>, x>1>, ..., x>p>),
если иметь в виду, что B является логической функцией предикатов A>k>, а каждый предикат A>k> зависит от какого-то одного переменного > >.
Покажем, что если для некоторого поля M существуют индивидуальные предикаты
>>,..., > >,
для которых формула U(>>,..., > >) истинна, то эта формула истинна и на некотором подмножестве этого поля, содержащем не более > > элементов, так как иначе наше утверждение тривиально. Разобьём элементы множества M на классы следующим образом. Для каждой последовательности, содержащей n символов И и Л в произвольном порядке (И, Л, Л, ..., И,), существует часть (может быть, пустая) множества M, содержащая те и только те элементы x, для которых последовательность значений предикатов > >(x), > >(x), ..., > >(x) совпадает с данной последовательностью символов И и Л.
Обозначим через > >>1>, > >>2>, ...,>>>n>
последовательность символов И и Л, где > >>i> представляет собой И или Л, а соответствующий этой последовательности класс элементов x обозначим
>>>>, > >, ..., > >.
Некоторые из этих классов могут оказаться пусты, так как может случиться, что для некоторой последовательности > >>1>, > >>2>, ...,>>>n> не существует такого элемента, для которого предикаты > >, > >, ..., > > принимают соответствующие значения > >>1>, > >>2>, ...,>>>n >. Вместе с тем каждый элемент множества M принадлежит одному из классов > >, и различные классы общих элементов не имеют. Число всех классов (пустых и непустых) равно числу последовательностей > >>1>, > >>2>, ...,>>>n>, т. е. > >. Следовательно, число q непустых классов > > не превышает > >. Выберем из каждого непустого класса по одному элементу и обозначим эти элементы
a>1>, a>2>, ..., a>q>.
Множество всех этих элементов обозначим > >.докажем, что если формула U(>>, ..., > >) истинна на поле M, то она истинна и на поле > > (так как > > – часть поля M, то предикаты > > определены на > >). каждому элементу x поля M поставим в соответствие элемент из > >, принадлежащий тому же классу, что и х. В > > существует один и только один такой элемент. Элемент из > >, поставленный в соответствие х, обозначим > >(х). Можно сказать, что мы построили функцию, определённую на множестве M и принимающую значения из множества > >.
>>Легко видеть, что имеет место следующая равносильность:
>>(х) ~ > >(>>(х)).
Действительно, > >(x) принадлежит тому же классу > >, что и x. Но, по определению, для элементов одного и того же класса каждый предикат > > принимает одно и то же значение. Отсюда следует, что если в формуле U(>>, ..., > >) для каждого предметного переменного t заменить каждое выражение > >(t) через > >(>>(х)), то формула U(>>, ..., > >) перейдёт в формулу > >(>>, ..., > >), равносильную первой. Написание формулы > > отличается от U только тем, что все предметные переменные x, y, z, …, u формулы U замещены соответственно через > >(х), > >(y), ..., > >(u). Это следует из того, что по условию формула U(>>, ..., > >) содержит только предикаты > >, и поэтому всякое предметное переменное входит только под знаком одного из этих предикатов.
Пусть R (x, y, ..., u) – предикат, определённый на поле M. Введём обозначение
>> R (x, y, ..., u).
Под этим выражением мы будем понимать предикат, зависящий от y, z, ..., u (или высказывание, если, y, z, ..., u отсутствуют) и принимающий значение И, когда R (y, z, ..., u) имеет значение И для данных y, z, ..., u и для всех x, принадлежащих полю > >, и принимающий значение Л в противоположном случае. Введём также выражение
>> R (x, y, ..., u),
которое представляет собой предикат от y, ..., u и принимает значение И, когда R (x, y, ..., u) имеет значение И для y, ..., u и по крайней мере для одного значения x из поля > >, и значение Л в противоположном случае. Знаки > > и > > будем называть ограниченными кванторами. Если мы все переменные предиката R (x, y, ..., u) свяжем ограниченными кванторами, например
>>...>> R (x, y, ..., u),
то получим формулу, отнесённую к полю > >. покажем, что выражение
("x) R (>>(х), y, ..., u)
равносильно выражению
>> R (x, y, ..., u).
Пусть ("x) R (>>(х), y, ..., u) имеет значение И. В таком случае R (>>(х), y, ..., u) имеет значение И для данных y, ..., u и для каждого x. Но так как функция > >(х) пробегает всё поле > >, когда x пробегает поле M, то R (x, y, ..., u) имеет значение И для данных y, ..., u и для всех x из > >. В силу определения > > R (x, y, ..., u) также принимает значение И. Обратно, если > > R (x, y, ..., u) принимает значение И, то R (x, y, ..., u) имеет значение И для данных y, ..., u и для каждого x из > >. В таком случае выражение R (>>(х), y, ..., u) имеет значение И для данных y, ..., u и для каждого x из M, так как > >(х) для любого x принадлежит > >.
Аналогичным образом можно показать, что выражения
(>>) R (>>(х), y, ..., u) и (>>) R (x, y, ..., u)
также равносильны.
Рассмотрим формулу U(>>, ..., > >), которую можно представить в форме
(s x>1>)(s x>2>)...(s x>p>) B(>>, ..., > >, x>1>, ..., x>p>).
B(>>, ..., > >, x>1>, ..., x>p>)
представляет собой предикат, определённый на поле M и зависящий от p переменных x>1>, ..., x>p>. Каждое из этих переменных входит в формулу B только через предикаты > >, ..., > >. С другой стороны, мы видели, что предикаты > >(х) и > >(>>(х)) равносильны. Поэтому если в формуле B(>>, ..., > >, x>1>, ..., x>p>) мы заменим x>i> на > >(х>i>), то получим равносильное выражение:
B(>>, ..., > >, x>1>, ..., x>p>) ~ B(>>, ..., > >,>>(x>1>), ..., > >(x>p>)).
Отсюда следует, что
(s x>p>) B(>>, ..., > >, x>1>, ..., x>p>) ~ (s x>p>) B(>>, ..., > >, > >(x>1>), ..., > >(x>p>)).
Далее можно заключить, что
(s x>p>) B(>>, ..., > >, > >(x>1>), ..., > >(x>p>)) ~
~ > > B(>>, ..., > >, > >(x>1>), ..., > >(x>p-1>), x>p>).
Рассуждая аналогичным образом, мы получим
(s x>p-1>) (s x>p>) B(>>, ..., > >, x>1>, ..., x>p-1> , x>p>) ~
~>> B(>>, ..., > >, > >(x>1>), ..., > >(x>p-2>), x>p-1>, x>p>)
и, наконец, придём к следующему:
(s x>1>)(s x>2>)...(s x>p>) B(>>, ..., > >, x>1>, ..., x>p>) ~
~ > >>> B(>>, ..., > >, x>1>, ..., x>p>).
Правая часть последней равносильности, согласно смыслу символа > >, представляет не что иное, как формулу
(s x>1>)...(s x>p>) B(>>, ..., > >, x>1>, ..., x>p>),
отнесённую к полю > >.
Таким образом, мы доказали, что формула U(>>, ..., > >) сохраняет своё значение, если её отнести к полю > >, и теорема, таким образом, доказана.
С л е д с т в и е. Если формула U, содержащая только предикаты, зависящие от одного переменного, является тождественно истинной для всякого поля, не превышающего > > элементов, где n – число предикатов в U, то формула U тождественно истинна (т. е. истинна для любого поля). В самом деле допустим, что U не является тождественно истинной формулой. В таком случае её отрицание > > выполнимо на некотором поле. Так как > > также удовлетворяет условиям теоремы, то найдётся поле, содержащее не более > > элементов, на котором формула > > выполнима. Следовательно, U не может быть истинной на этом поле, что противоречит условию. Итак, предположение, что U не является тождественно истинной, приводит к противоречию, что и требовалось доказать.
§2. Практика по решению проблемы разрешимости формул,
содержащих предикаты от одного переменного
Доказанная (в предыдущем параграфе) теорема позволяет решать проблему разрешимости для формул, содержащих только предикаты, зависящие от одного переменного. Из следствия видно, что для того, чтобы установить, является ли формула U тождественно истинной или нет, достаточно проверить, является ли она тождественно истинной для всякого поля, содержащего не более чем > > элементов.
Заметим, что достаточно проверить, является ли данная формула U тождественно истинной на поле, состоящем ровно из > > элементов. Это следует из того, что для формул рассматриваемого типа имеет место следующее: если формула U тождественно истинна на некотором поле, то она тождественно истинна на всякой его части.
Рассмотрим произвольное поле, содержащее ровно > > элементов: > >, > >, ..., > >. Легко видеть, что всякая формула, имеющая вид:
("x) B(x),
отнесённая к данному полю, равносильна формуле
B(>>) & B(>>) & ... & B(>>).
А формула, имеющая вид:
(>>x) B(x),
равносильна формуле
B(>>) > > B(>>)>> ... > > B(>>).
В таком случае произвольная формула U, отнесённая к полю {>>, ..., > >}, равносильна формуле > >, в которой все кванторы заменены операциями логического произведения и логической суммы. Если в U входили только предикаты A>1>, ..., A>n>, зависящие от одного переменного, то > > представляет собой формулу, образованную только операциями алгебры высказываний над выражениями A>i>(x>j>), 1 ? i ? n, 1 ? j ? > >. Так как предикаты A>i>(x) совершенно произвольны, то выражения A>i>(x>j>) представляют собой совершенно произвольные высказывания. Формулу > > тогда можно рассматривать как формулу алгебры высказываний, у которой A>i>(x>j>) являются элементарными переменными высказываниями. Тогда вопрос о тождественной истинности U на поле > >, > >, ..., > > оказывается эквивалентным вопросу о тождественной истинности > >, как формулы алгебры высказываний с переменными высказываниями A>i>(x>j>).
Заметим, что формула алгебра высказываний > > по существу не зависит от того, каковы элементы поля {>>, ..., > >}, а зависит только от их числа, так как если мы возьмём другое поле {>>¢, ..., > >¢}, то в > > произойдёт только перемена обозначений переменных высказываний A>i>(x>j>) на A>i>(x>j>¢). В силу этого мы можем сказать, что если > > тождественно истинна, как формула алгебры высказываний, то формула U тождественно истинна на любом поле из p элементов, и обратно. С другой стороны, был получен конструктивный способ определять – является произвольная формула алгебры высказываний тождественно истинной или нет. Применяя этот критерий, мы можем установить, будет ли произвольная формула U, содержащая только предикаты от одного переменного, тождественно истинной на любом поле, содержащем p = > > элементов. В таком случае в силу высказанного выше положения мы можем решить также и вопрос о том, будет формула U тождественно истинной или нет.
Разберём это конкретно на примерах.
П Р И М Е Р 1: Итак, пусть дана формула U, имеющая вид:
("x)[P(x)>>( > >>>P(x))],
отнесённая к некоторому полю L. Для того, чтобы установить тождественную истинность этой формулы, нам достаточно проверить, является ли она тождественно истинной на поле, содержащем ровно > > элементов (см. выше). В данном случае число предикатов (n) равно 2, т.е. L может быть представлено как { a>1>, a>2>, a>3>, a>4> }.
Легко видеть, что формула U равносильна: ("x)[P(x)>>(Q(x)>>P(x))], которая, отнесённая к полю L, равносильна > >: [P(>>)>>(Q(>>)>>P(>>))]>> > >[P(>>)>>(Q(>>)>>P(>>))] > > [P(>>)>>(Q(>>)>>P(>>))] > > [P(>>)>>(Q(>>)>> > >P(>>))].
Таким образом, > > представляет собой формулу, образованную только операциями алгебры высказываний над выражениями P(>>) и Q(>>), где i=>>, т.е. её можно рассматривать как формулу алгебры высказываний, у которой P(>>) и Q(>>) являются элементарными переменными высказываниями. Значит, ответив на вопрос о тождественной истинности > >, мы сможем сказать, является ли формула U тождественно истинной или нет.
>> является тождественно истинной в алгебре высказываний > > U также тождественно истинная формула на поле, содержащем > > элементов. Это оэначает, что U тождественно истинна.
П Р И М Е Р 2: Доказать, что формула U, отнесённая к некоторому полю L, представленная как
[("х)( > >>> Q(x)) > >P(x)],
является тождественно истинной.
Для этого она должна быть тождественно истинной на поле, содержащем ровно > > элементов. В данном случае n = 2, т.е. L можно опять определить как { a>1>, a>2>, a>3>, a>4> }.
Применяя равносильные преобразования над U, можем заключить её равносильность формуле: ($х)[(>>>>Q(x))>>P(x)], которая, отнесённая к полю L, равносильна > >: [(>>>>Q(>>))>>P(>>)] > > [(>>>>Q(>>))>>P(>>)] > > [(>>>>Q(>>))>>P(>>)] > > [(>>>>Q(>>))>>P(>>)].
Легко видеть, что > >, как и в предыдущем примере, представляет собой формулу, образованную только операциями алгебры высказываний над выражениями P(>>) и Q(>>), где i=>>, а поэтому её можно отнести к формулам алгебры высказываний, у которой P(>>) и Q(>>) являются элементарными переменными высказываниями. Является ли формула > > тождественно истинной?
Формула > > представляет собой дизъюнкции некоторых формул. Поэтому всякий раз, когда одна из них истинна, сама > > (по определению дизъюнкции) будет тождественно истинной. Составим таблицу истинности:
P |
Q |
>> |
>>>>Q |
(>>>>Q)>>P |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
Таким образом, формула (>>>>Q)>>P является выполнимой, следовательно, > > является тождественно истинной формулой в алгебре высказываний > > U также тождественно истинная формула на поле, содержащем > > элементов. Это означает, что U тождественно истинна.
§3. Поиск доказательств в натуральном интуиционистском исчислении предикатов с e-символом и предикатом существования
Существуют два типа систем натурального вывода: с прямым и непрямым правилом удаления квантора существования. Прямое правило удаления квантора существования по существу формулируется с использованием языка с эпсилон-символом. Классическое исчисление предикатов с прямым правилом удаления квантора существования элегантно и является хорошей основой для организации систематической процедуры поиска доказательств. Мною была предложена процедура поиска доказательств для классического исчисления предикатов с прямым правилом удаления квантора существования [7]. А.В. Смирнов и А.Е. Новодворский [3] реализовали ее на компьютере. Хотелось бы построить интуиционистское исчисление предикатов с прямым правилом удаления квантора существования и на этой основе сформулировать алгоритм поиска доказательств. Однако на этом пути мы встречаемся с определенными трудностями. Если мы заменим классические пропозициональные правила интуиционистскими, то в результате получим логическую систему, более богатую, нежели интуиционистское исчисление предикатов. Действительно, допустим, что имеет место $xA(x). По правилу удаления квантора существования получим A(exA(x)). По правилу введения импликации будем иметь $xA(x)ÉA(exA(x)). Из последней формулы по правилу введения квантора существования получаем $y($xA(x)ÉA(y)). Запишем этот вывод формально
1 $xA(x) допущение
2 A(exA(x)) $у; 1
3 $xA(x)É A(exA(x)) Éв; 1-2
4 $y($xA(x)É A(y) $в; 3
Но как хорошо известно, последняя формула не доказуема интуиционистски. Аналогично в этой системе может быть доказан принцип конструктивного подбора Маркова
Где в этих доказательствах неинтуиционистские шаги? Ответ, видимо, неоднозначен. В книге [5] я предлагал наложить ограничения на непрямые правила вывода: потребовать, чтобы e-термы не входили в устраняемые допущения и заключение. Однако это ограничение слишком стеснительно и неэлегантно. А.Г. Драгалин [1], а затем Д. Скотт ввели другое ограничение: в правилах введения квантора существования и удаления квантора общности мы должны потребовать, чтобы вводимый или исключаемый терм был не пуст. Это более изящное решение проблемы. В настоящей статье я предлагаю формулировку интуиционистского исчисления предикатов с e-символом и предикатом существования в виде субординатного вывода. Затем обсуждается проблема систематического поиска выводов в этом исчислении.
Язык интуиционистского натурального исчисления с e-символом NeI строится с помощью двух типов индивидных переменных: свободных - v,v1,v2,... и связанных - x,y,z,. . ., x1, x2, . . ., предикатных знаков, логических связок &,Ú,É,Ø, знака абсурдности ^, предиката существования E, кванторов " и $, e-символа, скобок и запятой. Одновременной индукцией определяем понятия квазитерма и квазиформулы. Термами и формулами являются квазитермы и кваиформулы, не содержащие свободных вхождений связанных переменных. Под подстановкой вместо свободной переменной v квазитерма t в квазиформулу или квазитерм имеется в виду замещение каждого вхождения свободной переменной v в квазитерм или квазиформулу квазитермом t. Подстановку будем обозначать Fv/t A и Fv/t t1. Подстановка правильна, если ни одна связанная переменная, имеющая свободные вхождения в t не находится в области действия кванторов или e-оператора по этой переменной. Ниже мы будем иметь дело только с правильными подстановками. Отметим, что каждая подстановка терма правильна. Каждую формулу, начинающуюся с квантора мы можем представить в виде "xFv/xA и $xFv/xA. Следуя Гильберту и Бернайсу, будем говорить, что терм t1 вложен в терм t2, если t2 имеет вид Fv/t1 t3, где подстановка, естественно, правильна. Например, терм exD(x) вложен в терм eyA(exD(x), y). Квазитерм exB(x,y) подчинен квазитерму eyA(y,exB(x,y)),т.е. первый квазитерм имеет свободные вхождения связанной переменной, по которой образован второй терм. В дальнейшем мы будем иметь дело с выводами, посылки и заключение которых не будут содержать e-термов. Поэтому в NeI в выводы не будут входить формулы с подчиненными друг другу квазитермами.
Вывод имеет вид субординатного вывода, при этом каждый вспомогательный вывод будет иметь не более одного допущения. Определим, что мы будем понимать под субординатной последовательностью формул (c-последовательность), вхождением в нее формулы и ее последней формулой:
1. Пустая последовательность есть с-последовательность, она не имеет последней формулы и ни одна формула не входит в нее.
2. Если A формула, то A есть последовательность формул, A есть последняя формула и формула A входит в нее.
3. Если a есть с-последовательность и A формула, то
a
A есть с-последовательность, A её последняя формула и формула B входит в нее, если она входит в a или графически равна A.
4. Если a, b и g суть с-последовательности формул и A формула, то
a a
b и b суть с-последовательности, A их
A g
A
последняя формула и формула B входит в них, если она входит в a или графически равна A.
Будем говорить, что формула C непосредственно выводима из формулы A (A и B), если
>>
есть одно из правил прямого вывода; формула C непосредственно выводима из пустого множества формул, если C есть аксиома, т.е. имеет место правило > >.
Теперь введем понятие натурального вывода для системы NeI.
1. A есть вывод из последовательности посылок A, A входит в A и A есть его последняя формула.
2. Если A есть аксиома, то A есть вывод из пустой последовательности посылок, A есть его последняя формула и входит в вывод.
3. Если a есть вывод из последовательности посылок G и A посылка, то
>>
есть вывод из последовательности посылок GA, A есть его последняя формула и формула B входит в вывод, если B входит в a или графически равно формуле A.
4. Если a есть вывод из последовательности посылок G, формула C непосредственно выводима из формул, входящих в a ( или является аксиомой), то
>>
есть вывод из последовательности посылок G, C его последняя формула и B входит в вывод, если оно входит в a или графически равно C. На применение правила введения квантора общности накладываем ограничение: если a есть вывод из последовательности посылок G, формула A(w) входит в вывод a, но в формулы из G не входит собственная переменная w, то
a
"xFw/x A(w)
есть вывод из последовательности посылок G.
5. Если a есть вывод из последовательности посылок G и b есть вывод из посылок D,A и все формулы из D входят в a, B есть последняя формула, то
>>
есть вывод из посылок G и AÉB есть его последняя формула.
6. Если a есть вывод из посылок G, b есть вывод из посылок D>1>,A и g есть вывод из посылок D>2>,B,формулы D>1 >и D>2> входят в a, формула C есть последняя формула b и g, то
>>
есть вывод из посылок G и C есть его последняя формула.
7. Если a есть вывод из последовательности посылок G,A и ^ есть его последняя формула, то
>>
есть вывод из посылок G и ØA есть его последняя формула.
Чтобы определение вывода NeC было полным необходимо сформулировать прямые правила вывода. Прежде всего есть правило тождественного перехода: из A выводима A, обозначим его буквой I. Остальные правила вывода подразделяются на правила введения и удаления логических констант. В приводимой ниже таблице правил вывода мы для полноты записываем и непрямые правила (хотя они сформулированы в определении вывода).
Кроме основных будем использовать в качестве официальных также два производных правила Éе1 и Éi2:
>> и > >
Теперь перейдем к процедуре писка вывода. Поиск начинается с формулировки задачи: из посылок A1,...,An требуется вывести формулу В. Мы исходим из допущения, что ни посылки, ни заключение не содержат e-символов и предиката существования. Не нарушая общности можно также допустить, что они не содержат свободных переменных. Задача поиска вывода записывается в виде
>>
Это, естественно, не вывод. Построение ( поиск ) вывода совершается с помощью двух типов шагов: синтетических и аналитических. Синтетический шаг состоит в применении некоторого прямого правила вывода. Аналитический шаг сводит задачу к подзадачам.
Сформулируем аналитические и синтетические правила поиска вывода для импликации. Задача вывода формулы AÉB из некоторой последовательности посылок сводится к подзадаче построения вывода формулы B из того же множества посылок и дополнительного допущения A. Это аналитическое правило введения импликации. Мы его запишем в виде
>>
где n наибольший номер в первоначальной задаче. В анализе указаны официальные правила вывода (не правила поиска вывода). Аналитическое правило удаления импликации состоит в сведении задачи вывода формулы C из формулы AÉB, стоящей выше знака выводимости, к двум подзадачам: выводу формулы A из прежних посылок и выводу формулы C из прежних посылок и формулы B. Символически
>>
Синтетическое правило удаления импликации разрешает написатьвыше знака выводимости формулу B, если формулы A и AÉB входят в фигуру заключения выше знака выводимости:
>>
Для симметрии можно сформулировать и синтетическое правило введения импликации: если в фигуру выше знака выводимости входит формула A, то непосредственно над знаком выводимости можно написать формулу BÉA. Однако формулу B надо указать дополнительно. Символически
>>
Если в фигуру поиска вывода выше знака выводимости входит формула A и A стоит ниже знака выводимости, то знак выводимости выбрасывается - это правило исключения знака выводимости
>>
Если A стоит непосредственно над |-, то нижнее вхождение A и знак выводимости опускаются.
Специфически интуиционистскими являются аналитические правила удаления импликации, введение дизъюнкции, правило добавления заключения (вместо классического аналитического правила удаления отрицания), а также правила для кванторов и, естественно, правило для предиката существования. При формулировке кванторных правил используются временные переменные, e -термы и свободные переменные. К сожалению, мы не можем обойтись без свободных переменных и сформулировать правило введения квантора общности в виде
если A(exùA(x)), то "xA(x).
Помимо перечисленных в таблице правил поиска вывода, имеются также два правила удаления знака ú-:
>>>> ,
правило введения произвольной формулы
>>>>
и, наконец, правило глобальной подстановки вместо временных переменных термов: во всем дереве поиска вывода разрешается заменить все вхождения временной переменной на терм.
В отличие от классической логики интуиционистские правила не обратимы. Поэтому не безразличен порядок применения правил поиска вывода. Например, пусть требуется из AÚB вывести BÚA. Если мы начнем решать задачу, применив сначала аналитическое правило введения дизъюнкции, то мы придем в тупик и не решим решаемую задачу. Однако задача последовательности применения правил поиска вывода решаема. По существу система аналитических правил есть иная формулировка логистического секвенциального исчисления. С.К. Клини [2] исследовал проблему перестановочности применений логических правил для интуиционистской логики. Опираясь на его результаты, мы можем разбить правила на следующие группы:
1.Правила удаления |- ;
2.Синтетические правила и аналитические правила введения конъюнкции, импликации, отрицания, квантора общности, аналитическое правило удаления дизъюнкции;
3.Аналитическое правило введения квантора существования;
4.Аналитические правила удаления импликации и отрицания;
5.Аналитическое правило введения дизъюнкции;
6.Правило введения произвольной формулы.
В каждом вспомогательном выводе отдается предпочтение правилам группы с меньшим номером. Если порядок применения правил нарушается, то поиск вывода может не дать искомого результата.
В отличие от классической логики, для поиска выводов в которой имеется одна фигура, в предложенной системе поиска для интуиционистской логики имеется правила “или”-ветвления. Это требует разработки новых программных средств по сравнению с классической логикой
ЛИТЕРАТУРА:
1. Асмус В. Ф. Проблема интуиции в философии и математике. — М.: Мысль, 1965.
2. Новиков П. С. Элементы математической логики. — М.: Государственное издательство физико-математической литературы, 1959.
3. Овчаров А. А. Интуиция в модальной логике. — Кемерово: Кузбассвузиздат, 1997.
4. Овчаров А. А. Введение в идеал-реалистическую теорию интуицию. Логика социальных изоморфов. — Кемерово: Кузбассвузиздат, 1999.
5. Целищев В. В., Карпович В. Н., Поляков И. В. Логика и язык научной теории. — Новосибирск: Наука, 1982.