Искусственные языки. Формальные языки
Когда была познана (или частично познана) сущность языка, совершенно естественно стали пытаться с той или иной целью строить искусственные языки. Примером искусственного языка может служить «международный» язык эсперанто. Этот язык в 1887 г. был создан варшавским врачом Л. Заменгофом и получил даже некоторое распространение. На эсперанто существуют литературные и научные произведения и даже издаются журналы. Его грамматика очень проста и легко поддается изучению. Тем не менее этот, хотя и искусственный язык, очень близок по своим особенностям к естественным языкам и с нашей точки зрения имеет мало преимуществ перед ними.
С другой стороны, в составе естественных языков можно выделить подъязыки, которые с нашей точки зрения очень хороши. Например, чем плох подъязык русского языка, фразы которого являются названиями чисел, такие как tдевять тысяч восемьсот девяносто пять» и т. п. Даже более того, хороша некоторая более широкая часть русского языка, с помощью которой мы можем говорить о числах и отношениях между ними (к этой части принадлежит, например, фраза «тринадцать — простое число» или «число тринадцать меньше числа семнадцать»). Мы убеждаемся, таким образом, что «достоинства» языка вовсе не связаны с путем его возникновения.
Выбирая некоторые предложения естественного языка, мы можем получить вполне удовлетворяющий нас язык. Но, конечно, можно построить и искусственный язык, удобный для целей теории алгоритмов. Каким же должен быть этот язык? Во-первых, потребуем от языка, чтобы он подчинялся вполне строгим и точно сформулированным синтаксическим правилам. Во-вторых, число этих правил должно быть конечно, и эти правила никак не должны зависеть от смысла получаемых с их помощью или используемых в соответствии с ними предложений или их частей. В-третьих, будем требовать, чтобы между формой предложений и их смыслом существовало однозначное соответствие. Можно мириться с тем, чтобы различные предложения имели один и тот же смысл, но нельзя допустить, чтобы некоторое предложение имело несколько смыслов. Если даже какое-либо предложение может быть получено несколькими путями, это не должно делать его многозначным.
Наконец обязательным условием, которому должен удовлетворять язык, будем считать невозможность появления в нем парадоксов, выражающих противоречие между формой и содержанием.
Простейший способ избавиться от подобных парадоксов заключается в отказе от языков, которые допускают предложения описывающие другие предложения этого же языка. В данной книге мы ограничимся этим простейшим случаем Для описания какого-либо языка-объекта мы всегда будем пользоваться другим языком (метаязыком), причем будем следить за тем, чтобы язык-объект и метаязык не образовывали замкнутых цепочек, подобных описанным выше. Иногда бывает удобно для описания языка-объекта применять два метаязыка, один из которых предназначен для описания синтаксиса и называется метаситаксическим, а другой — для описания семантики и называется метасемантическим.
Языки, удовлетворяющие перечисленным требованиям, будем называть формальными языками. Если формальный язык получен путем отбора некоторого подмножества предложений естественного языка, то будем этот язык называть формализованным. Таким образом, формализованный язык — это формальный язык, являющийся подъязыком некоторого неформального языка. Говорить о сильно формализованных или слабо формализованных языках с нашей точки зрения бессмысленно, подобно тому как бессмысленно говорить о некотором языке, что он более французский, чем другой язык (хотя в обыденной речи подобные обороты допускаются).
Интересно отметить, что первый формальный, четко определенный язык был построен с целью обоснования математики и на этом языке были сформулированы основные аксиомы теории множеств. При этом зародилась новая математическая дисциплина — метаматематика, или теория доказательств.
Идея обоснования математики заключалась в том, чтобы, записав на формальном языке все ее аксиомы, забыть далее смысл этих аксиом и с помощью правил вывода конструировать всевозможные, вытекающие из этих аксиом теоремы, как результат преобразования одних строк символов в другие. Совокупность аксиом, правил вывода и получающихся теорем называется при этом теорией. Такой подход к обоснованию математики называется формалистическим (после построения теорем смысл их можно вспомнить).
При этом возникает идея языков, не обладающих никаким смыслом, и теорий, которые ничего не значат, но тем не менее являются «правильными» и полезными в том смысле, что все их «теоремы» выводимы из «аксиом» с помощью определенных «правил вывода».
Если в какой-нибудь области науки или практики мы находим предметы или явления такие, что, поставив их и их свойства во взаимно однозначные соответствия с аксиомами и правилами вывода формальной теории, мы превращаем эти аксиомы и правила вывода в истинные предложения, то мы говорим, что имеет место интерпретация нашей формальной теории. Все теоремы формальной теории при этом тоже становятся истинными утверждениями о предметах, явлениях и их свойствах, принадлежащих указанной реальной области.
Таким образом, возникает идея о том, чтобы, рассматривая язык, отделить в нем синтаксис от семантики. При этом целесообразно отдельно говорить о формальном языке как множестве предложений, полученных с помощью синтаксических правил, и отдельно рассматривать случай, в котором предложениям языка поставлено в соответствие определенное содержание (смысл). В последнем случае говорят о формальном языке, наделенном семантикой. Один и тот же язык можно наделять различной семантикой путем его интерпретации.
Рассматривая структуру предложений независимо от их смысла, мы вовсе не отрицаем наличия этого смысла. Но при изучении структуры предложений он нам безразличен. Однако всегда, когда приходится иметь дело с языком, наделенным семантикой, мы должны быть уверены, что перечисленные выше требования к языку в целом выполнены.
Например, построив прекрасный, с точки зрения синтаксиса, язык, мы можем его сделать неформальным, если зададим неудачно семантику этого языка. В следующих параграфах данной главы мы условимся, в какой форме следует задавать синтаксис языка и его семантику. Точнее, будем допускать любой синтаксис, лишь бы при этом для языка было возможно построение синтаксиса в некоторой канонической форме. В отношении семантики мы будем пытаться проводить такую же «политику», хотя здесь проблема значительно сложнее.
Что же касается структуры самих предложений языка, то наш подход будет очень широким. Не будем требовать, чтобы предложения были словами или последовательностями слов, или последовательностями последовательностей слов, как это имеет место во многих естественных языках, а будем допускать значительно более сложные структуры предложений.