Искусственные языки. Формальные языки

Когда была познана (или частично познана) сущность языка, совершенно естественно стали пытаться с той или иной целью строить искусственные языки. Примером ис­кусственного языка может служить «международный» язык эсперанто. Этот язык в 1887 г. был создан варшавским вра­чом Л. Заменгофом и получил даже некоторое распростра­нение. На эсперанто существуют литературные и научные произведения и даже издаются журналы. Его грамматика очень проста и легко поддается изучению. Тем не менее этот, хотя и искусственный язык, очень близок по своим особен­ностям к естественным языкам и с нашей точки зрения име­ет мало преимуществ перед ними.

С другой стороны, в составе естественных языков мож­но выделить подъязыки, которые с нашей точки зрения очень хороши. Например, чем плох подъязык русского язы­ка, фразы которого являются названиями чисел, такие как tдевять тысяч восемьсот девяносто пять» и т. п. Даже более того, хороша некоторая более широкая часть русского язы­ка, с помощью которой мы можем говорить о числах и от­ношениях между ними (к этой части принадлежит, напри­мер, фраза «тринадцать — простое число» или «число тринадцать меньше числа семнадцать»). Мы убеждаемся, таким образом, что «достоинства» языка вовсе не связаны с путем его возникновения.

Выбирая некоторые предложения естественного языка, мы можем получить вполне удовлетворяющий нас язык. Но, конечно, можно построить и искусственный язык, удоб­ный для целей теории алгоритмов. Каким же должен быть этот язык? Во-первых, потребуем от языка, чтобы он подчинялся вполне строгим и точно сформулированным син­таксическим правилам. Во-вторых, число этих правил долж­но быть конечно, и эти правила никак не должны зависеть от смысла получаемых с их помощью или используемых в соответствии с ними предложений или их частей. В-третьих, будем требовать, чтобы между формой предложений и их смыслом существовало однозначное соответствие. Можно мириться с тем, чтобы различные предложения имели один и тот же смысл, но нельзя допустить, чтобы некоторое пред­ложение имело несколько смыслов. Если даже какое-либо предложение может быть получено несколькими путями, это не должно делать его многозначным.

Наконец обязательным условием, которому должен удовлетворять язык, будем считать невозможность появле­ния в нем парадоксов, выражающих противоречие между формой и содержанием.

Простейший способ избавиться от подобных парадоксов заключается в отказе от языков, которые допускают пред­ложения описывающие другие предложения этого же язы­ка. В данной книге мы ограничимся этим простейшим слу­чаем Для описания какого-либо языка-объекта мы всегда будем пользоваться другим языком (метаязыком), причем будем следить за тем, чтобы язык-объект и метаязык не об­разовывали замкнутых цепочек, подобных описанным выше. Иногда бывает удобно для описания языка-объекта при­менять два метаязыка, один из которых предназначен для описания синтаксиса и называется метаситаксическим, а другой — для описания семантики и называется метасемантическим.

Языки, удовлетворяющие перечисленным требованиям, будем называть формальными языками. Если формальный язык получен путем отбора некоторого подмножества пред­ложений естественного языка, то будем этот язык называть формализованным. Таким образом, формализованный язык — это формальный язык, являющийся подъязыком не­которого неформального языка. Говорить о сильно формали­зованных или слабо формализованных языках с нашей точ­ки зрения бессмысленно, подобно тому как бессмысленно говорить о некотором языке, что он более французский, чем другой язык (хотя в обыденной речи подобные обороты до­пускаются).

Интересно отметить, что первый формальный, четко определенный язык был построен с целью обоснования мате­матики и на этом языке были сформулированы основные аксиомы теории множеств. При этом зародилась новая математическая дисциплина — метаматематика, или теория доказательств.

Идея обоснования математики заключалась в том, что­бы, записав на формальном языке все ее аксиомы, забыть далее смысл этих аксиом и с помощью правил вывода кон­струировать всевозможные, вытекающие из этих аксиом теоремы, как результат преобразования одних строк симво­лов в другие. Совокупность аксиом, правил вывода и полу­чающихся теорем называется при этом теорией. Такой под­ход к обоснованию математики называется формалисти­ческим (после построения теорем смысл их можно вспомнить).

При этом возникает идея языков, не обладающих ни­каким смыслом, и теорий, которые ничего не значат, но тем не менее являются «правильными» и полезными в том смыс­ле, что все их «теоремы» выводимы из «аксиом» с помощью определенных «правил вывода».

Если в какой-нибудь области науки или практики мы находим предметы или явления такие, что, поставив их и их свойства во взаимно однозначные соответствия с аксио­мами и правилами вывода формальной теории, мы превра­щаем эти аксиомы и правила вывода в истинные предложе­ния, то мы говорим, что имеет место интерпретация нашей формальной теории. Все теоремы формальной теории при этом тоже становятся истинными утверждениями о предме­тах, явлениях и их свойствах, принадлежащих указанной реальной области.

Таким образом, возникает идея о том, чтобы, рассматри­вая язык, отделить в нем синтаксис от семантики. При этом целесообразно отдельно говорить о формальном языке как множестве предложений, полученных с помощью синтак­сических правил, и отдельно рассматривать случай, в кото­ром предложениям языка поставлено в соответствие опре­деленное содержание (смысл). В последнем случае говорят о формальном языке, наделенном семантикой. Один и тот же язык можно наделять различной семантикой путем его интерпретации.

Рассматривая структуру предложений независимо от их смысла, мы вовсе не отрицаем наличия этого смысла. Но при изучении структуры предложений он нам безразличен. Однако всегда, когда приходится иметь дело с языком, наделенным семантикой, мы должны быть уверены, что перечисленные выше требования к языку в целом выполнены.

Например, построив прекрасный, с точки зрения синтаксиса, язык, мы можем его сделать неформальным, если зададим неудачно семантику этого языка. В следующих параграфах данной главы мы условимся, в какой форме сле­дует задавать синтаксис языка и его семантику. Точнее, будем допускать любой синтаксис, лишь бы при этом для языка было возможно построение синтаксиса в некоторой канонической форме. В отношении семантики мы будем пытаться проводить такую же «политику», хотя здесь проб­лема значительно сложнее.

Что же касается структуры самих предложений языка, то наш подход будет очень широким. Не будем требовать, чтобы предложения были словами или последовательностя­ми слов, или последовательностями последовательностей слов, как это имеет место во многих естественных языках, а будем допускать значительно более сложные структуры предложений.

Наши рекомендации