Глава 6. Научная теория. Модели научного объяснения
§ 1. Гипотетико-дедуктивная модель научной теории
В современной философии науки существует некоторая стандартная модель научной теории, созданием которой мы в основном обязаны неопозитивизму (см. ниже). Она носит название гипотетико-дедуктивной, или синтаксической, модели научной теории. В этой модели теория отождествляется только с синтаксисом некоторого специального языка. В простейшем случае это язык исчисления предикатов первого порядка. Что же касается семантики языка, разного рода моделей, то все эти конструкции считаются некоторыми внешними образованиями по отношению к теории. Таким образом, это формально-логическая модель научного знания. Теоретическое знание в такой модели считается чем-то принципиально гипотетичным, по настоящему не существующим. Вот почему такое знание можно отождествить только с синтаксисом языка. Подлинность этому знанию может придать лишь семантика, но семантика сама уже к научной теории как чисто синтаксическому образованию не относится, представляя из себя по преимуществу результаты эмпирического познания. Синтаксис теоретического знания организован дедуктивно. Соединение гипотетичности и дедуктивности и дает название этой модели научного знания.
Хотя развитие философии науки сегодня вышло далеко за границы неопозитивизма, но предложенная в этом философском направлении модель строения научного знания по-прежнему остается некоторой точкой отсчета, с которой так или иначе вынуждены соотносить себя другие – альтернативные - модели теоретического знания. Вот почему важно представлять себе основные положения и структуры гипотетико-дедуктивной модели научной теории.
При построении гипотетико-дедуктивной модели используют некоторый формальный язык, например язык первого порядка. Как это было описано выше, строят алфавит и выражения языка, определяют его логику. Ниже мы кратко опишем эти три этапа для некоторого языка первого порядка L.
1. Алфавит языка первого порядка L. Алфавит представляет из себя множество символов следующих видов:
(1) x, y, z, … - символы переменных (они могут использоваться также вместе с различными индексами, например, х1, х2, y5, z* и т.д.)
(2) с1, с2, … - константы
(3) f, g, h,… - функциональные символы (могут использоваться с различными индексами)
(4) P, Q, R,… - предикатные символы (также могут использоваться с различными индексами)
(5) ù, Ú, $ - символы логических связок
(6) (, ) - скобки
В алфавите обязательно должны присутствовать символы вида (1), (4), (5) и (6). Остальные символы могут отсутствовать. Для каждого из функциональных или предикатных символов должна быть задана местность, т.е. то число аргументов, для которых этот символ определен. Например, функциональный символ f местности 2 служит именем для некоторой двуместной функции, например сложения +. Предикатный символ Р местности 1 служит именем для некоторого свойства (одноместного предиката), определенного в той или иной структуре, и т.д. Часто предполагают также, что среди предикатных символов должен присутствовать двуместный символ, обозначающий отношение равенства на элементах структуры.
Алфавит языка первого порядка строится так, чтобы его элементы могли служить именами для различных составляющих математической структуры. Константы призваны обозначать какие-то отдельные элементы структуры, функциональные символы – функции, предикатные символы – предикаты. Нужно различать имя объекта и сам объект. Например, функциональный символ f в языке – это еще не функция, это только этикетка, символ для обозначения какой-то функции. Поэтому, описывая алфавит, нужно помнить, что мы имеем дело с чистыми знаками, которые еще не обозначают каких-то конкретных объектов. В этом проявляется формальность языка первого порядка. Он похож на некоторое собрание символов, которые еще не наполнены содержанием, еще только могут что-то обозначить, но пока выступают пустыми формальными оболочками возможных будущих смыслов.
2. Выражения языка L. На основе алфавита далее выстраивается множество выражений языка L. Все выражения можно разделить на два класса – термы и формулы. Термы – это имена элементов структуры, формулы – имена суждений о структуре. Каждое из этих множеств строится на основе индуктивных определений. Здесь нам понадобятся переменные метаязыка L*, которые в качестве своих частных значений могут становиться различными выражениями языка первого порядка L. Договоримся переменные метаязыка обозначать жирным шрифтом:
a, b, c,… - переменные по термам
x, y, z, … - переменные (метаязыка L*) по переменным (языка L)
е, e1, e2, e3, … - переменные по константам
f, g, h, … - переменные по функциональным символам
P, Q, R, … - переменные по предикатным символам
A, B, C, … - переменные по формулам
Х, Y, Z, … - переменные по любым выражениям языка L
Например, переменная А обозначает любую формулу языка первого порядка L, переменная b – любой терм языка L, и т.д. Переменная х означает любую переменную х, y, z,… языка L. Переменные метаязыка L* называют еще метапеременными, или синтаксическими переменными. Переменные объектного языка L – объектными переменными.
2.1. Множество термов языка L. Для определения множества термов используется следующее индуктивное определение:
1) Базис индукции: любая переменная х или любая константа е языка L есть терм этого языка.
2) Индуктивное предположение: Если а1, а2, …, an – уже построенные термы языка L, f – функциональный символ местности n языка L, то f(а1, а2, …, an) – терм языка L.
3) Индуктивное замыкание: никаких иных термов в языке L нет.
Таким образом, термы языка L получаются на основе стартового множества переменных и констант и всех последующих подстановок уже построенных термов в различные функциональные символы языка L, в согласии с их местностью.
2.2. Множество формул языка L. Для определения множества формул используется следующее индуктивное определение:
1) Базис индукции: Если а1, а2, …, an – уже построенные термы языка L, Р – предикатный символ местности n языка L, то Р(а1, а2, …, an) – формула (атомарная формула) языка L.
2) Индуктивное предположение:
2.1) Если А – уже построенная формула языка L, то ùА – формула языка L,
2.2) Если А, В – уже построенные формулы языка L, то АÚВ – формула языка L,
2.3) Если х – переменная, А – уже построенная формула языка L, то $хА - формула языка L.
3) Индуктивное замыкание: никаких иных формул в языке L нет.
Таким образом, формулы языка L получаются на основе
стартового множества атомарных формул, полученных подстановками термов в
предикатные символы, в согласии с их местностью, и всех последующих действий
логических связок отрицания (ù),
дизъюнкции (Ú) и квантора существования ($) на уже построенные формулы языка L. Под выражением АÙВ будем понимать формулу ù(ùАÚùВ),
под выражением АÉВ –
формулу ùАÚВ, под выражением АºВ – формулу ù(ù(ùАÚВ)Úù(ùВÚА)), под выражением "xA – формулу ù$xùA. Далее для краткости эти выражения также можно называть формулами
языка L.
3. Логика языка L. Для построения логики языка L среди всех его формул выбирают некоторое подмножество формул, которое называют аксиомами языка L. Среди всех этих формул можно в свою очередь выделить логические и нелогические аксиомы. Логические аксиомы выражают общие законы формальной логики, которые должны выполняться в любой научной теории. Нелогические аксиомы должны обозначать какие-то специальные законы и принципы, характерные только для данной научной теории. Выделяются также правила логического вывода, позволяющие из одних формул выводить другие формулы языка L. Эти правила, как уже не раз отмечалось ранее, должны переносить истинность при задании семантики языка L (о семантике см. ниже). Теперь можно определить понятия «доказательство» и «теорема» в языке L.
Под доказательством формулы А в языке L имеют в виду последовательность формул А1, А2, …, Аn языка L, где
- Аn есть формула А
- каждая из формул А1, А2, …, Аn-1 есть либо
- аксиома языка L,
- либо выведена по правилам логического вывода из одной или нескольких формул, стоящих ранее этой формуле в списке формул А1, А2, …, Аn-1.
Формула А языка L называется теоремой языка L, если существует доказательство этой формулы в языке L.
Часто используется также понятие «выводимости» формулы А из формул В1, B2, …, Bm в языке L.
Под выводимостью формулы А из формул В1, B2, …, Bm в языке L имеют в виду последовательность формул А1, А2, …, Аn языка L, где
- Аn есть формула А
- каждая из формул А1, А2, …, Аn-1 есть либо
- аксиома языка L,
- либо одна из формул В1, B2, …, Bm,
- либо выведена по правилам логического вывода из одной или нескольких формул, стоящих ранее этой формуле в списке формул А1, А2, …, Аn-1.
Выводимость от доказательства отличается тем, что в состав выводимости в качестве новых аксиом могут быть добавлены формулы В1, B2, …, Bn, которые называются посылками выводимости. Доказательство формулы А есть выводимость А из аксиом языка L.
Теперь можно сказать, что теория Т с языком L есть множество всех теорем языка L. Пока нам не понадобилось никакой конкретной математической структуры, чтобы наполнить значениями формальные выражения языка L. Это приводит и к чисто формальному пониманию теории – как множества некоторых систем символов, которые еще не известно, что обозначают. На этом определение теории в рамках гипотетико-дедуктивной модели можно считать законченным. Следующий шаг – определение семантики теории – считается чем-то внешним по отношению к чисто знаковой природе научной теории.
4. Семантика теории Т с языком L. В общем случае семантика языка может определяться по-разному. В гипотетико-дедуктивной модели научной теории принимается так называемая экстенсиональная семантика, впервые точно определенная в работах польского математика и логика Альфреда Тарского. Определение экстенсиональной семантики теории Т предполагает соотнесение языка L с некоторой математической структурой S = <M,F,P>, состоящей из множества элементов М, множества F функций и множества Р предикатов.
Во-первых, структура S должна быть подходящей для языка L в том смысле, что для каждой константы, функционального и предикатного символа из алфавита L должны найтись элементы, функции и предикаты из S соответствующей местности. Например, если е – константа языка L, то для этой константы должен найтись некоторый элемент из М. Обозначим этот элемент через Sem(e) – семантика константы е. Аналогично, если f – функциональный символ местности n, P – предикатный символ местности m из L, то Sem(f) – какая-то функция местности n, Sem(P) – какой-то предикат местности m из структуры S. Эти первоначальные соответствия назовем базисным семантическим соглашением. Таково первое условие возможности интерпретации языка L на структуре S. Определенным препятствием на пути экстенсиональной интерпретации языка L на структуре S считаются также разного рода объектные переменные, которые могут входить в различные выражения L, но считаются чисто синтаксическими объектами, не имеющими семантических аналогов. В связи с этим необходимо принятие некоторого правила, которое позволило бы нейтрализовать «семантическую пустоту» переменных языка L. В качестве такого правила принимается соглашение об определенном параметре, от которого зависит интерпретация выражения языка L. Пусть Х – некоторое выражение, терм или формула, из L. Х может содержать различные объектные переменные. Из них особенно важны так называемые свободные переменные, не стоящие в выражении Х после действующих по ним кванторов. Если в Х найдутся такие переменные, то договариваются определять семантику не самого выражения Х, а такого объекта Хg, в котором семантика свободных переменных задается через некоторые элементы структуры S. В этом случае символ g выражает правило, согласно которому каждой объектной переменной х из L ставится в соответствие какой-то элемент g(х) из структуры S. Правило g называется функцией присваивания. Таким образом, семантика выражения Х всегда задается с точностью до некоторой функции присваивания g, позволяющей нейтрализовать «семантическую пустоту» объектных переменных. В свою очередь компенсировать такое сужение в определениях экстенсиональной семантики можно рассмотрением не одной, а всех возможных функций присваивания, которые можно образовать относительно множества объектных переменных языка L и множества элементов М структуры S.
Теперь мы готовы к тому, чтобы дать индуктивное определение семантики выражений языка L. Для выражения Х и функции присваивания g будем через Sem(X,g) обозначать семантику Х при задании g. В экстенсиональной семантике по Тарскому в качестве семантики термов выступают различные элементы структуры S. Семантикой формул из L являются истинностные значения.
1. Семантика термов.
1) Базис индукции:
- если е – константа, то Sem(e,g) = Sem(e)
- если х – переменная, то Sem(х,g) = g(x)
Таким образом, для констант семантика определена по базисному семантическому соглашению. Для переменных семантика полностью определяется функцией присваивания.
2) Индуктивное предположение: если семантики Sem(a1,g), Sem(a2,g), …, Sem(an,g) для термов а1, а2, …, an уже определены, то семантика терма f(а1, а2, …, an) определяется по следующему правилу:
Sem(f(а1, а2, …, an),
g) = Sem(f)(Sem(a1,g), Sem(a2,g),
…, Sem(an,g))
Иными словами, чтобы получить семантику функционального терма f(а1, а2, …, an), нужно по базисному семантическому соглашению определить функцию Sem(f) и затем подставить в нее уже определенные семантики Sem(a1,g), Sem(a2,g), …, Sem(an,g) термов а1, а2, …, an.
2. Семантика формул.
1) Базис индукции. Если семантики Sem(a1,g), Sem(a2,g), …, Sem(an,g) для термов а1, а2, …, an уже определены, то семантика атомарной формулы Р(а1, а2, …, an) определяется по следующему правилу:
Sem(Р(а1, а2, …, an), g) = 1 если только если Sem(Р)(Sem(a1,g), Sem(a2,g), …, Sem(an,g)) верно.
Это правило означает, что для получения семантики атомарной формулы Р(а1, а2, …, an) нужно по базисному семантическому соглашению определить предикат Sem(Р) и затем определить его на уже определенных семантиках Sem(a1,g), Sem(a2,g), …, Sem(an,g) термов а1, а2, …, an. Тогда семантика Р(а1, а2, …, an) будет равна логической единице 1 в том и только том случае, когда предикат Sem(Р) окажется верным на элементах Sem(a1,g), Sem(a2,g), …, Sem(an,g).
Для последующего определения семантики формул введем две логические функции Fù и FÚ, определив их по следующим правилам:
Fù(1) = 0 и Fù(0) = 1 – функция Fù переворачивает истинностные значения, логическому нулю сопоставляет единицу, логической единице – ноль.
FÚ(1,1) = 1, FÚ(0,1) = 1,
FÚ(1,0) = 1, FÚ(0,0) = 0
Функция FÚ дает ноль, только на двух нулях. В остальных случаях она равна единице.
2) Индуктивное предположение.
2.1) Если семантика формулы А определена как Sem(A,g), то семантика формулы ùА равна Sem(ùA, g) = Fù(Sem(A,g))
2.2) Если семантики формул А и В определены как Sem(A,g) и Sem(В,g), то семантика формулы АÚВ равна: Sem(АÚВ, g) = FÚ(Sem(A,g), Sem(В,g)).
Теперь остается последний пункт определения семантики формул с кванторами вида $хА. Здесь введем одно понятие, которое понадобится нам для такой семантики. Если g – какая-либо функция присваивания, то через g[a/x] обозначим новую функцию присваивания, отличающуюся от g только тем, что она объектной переменной х сопоставляет элемент а структуры S.
2.3) Если семантика формулы А определена как Sem(A,g), то семантика формулы $хА определяется следующим образом:
Sem($хА,g) = 1 если только если найдется хотя бы один элемент а структуры S, такой, что Sem(А,g[a/x]) = 1
Формула А из L считается истинной на структуре S, если Sem(A,g) = 1 для любой функции присваивания g. В частности, все логические аксиомы языка L формулируются таким образом, чтобы они были истинными в любой структуре этого языка.
Структура S называется моделью теории Т с языком L, если язык L может быть проинтерпретирован на S (может быть выполнено базисное семантическое соглашение) и если любая нелогическая аксиома теории Т истинна на S.
Так в очень строгой манере может быть определена семантика языка L на математической структуре S.
В Приложении 1 приводится пример
построения некоторой теории первого порядка, средствами которой можно выразить
простейшую логику медицинского диагноза.