В настоящей главе это не понадобится, но можно сразу зафиксировать для использования для кодов текстов множество цепочек, где ни одна цепочка не является началом другой.
Идея кодирования текстов натуральными числами и описания операций над текстами (цепочками), как операций над числами, выражаемых через операции арифметики — сложение и умножение, была важна в первые десятилетия XX века. Это называлось арифметизацией языка, с этой идеей мы встречаемся в работах Гильберта, Гёделя, Тарского и других.
Сведение к арифметике представлялось довольно важным для Гильберта. Он предлагал считать арифметику надежной частью математики. Далее, он предлагал определить в арифметике свойство «быть доказуемым в Теории множеств» и доказать, в некоторой формальной системе доказательства теорем арифметики, что:
1) в Теории множеств можно доказать или опровергнуть любое утверждение этой теории и
2) в Теории множеств нельзя доказать противоречивое утверждение, например, .
Сегодня двоичные цепочки важны сами по себе, как объекты, с которыми работает компьютер, которые передаются по линиям связи и т. д. Сведение операций над цепочками к арифметике уже не представляется важным. Но сам подход Гильберта в этом контексте выглядит вполне естественным.
Дальше мы, в основном, не будем говорить о кодах любых текстов, нам понадобятся, в первую очередь коды формул в той сигнатуре, которую мы постепенно описываем. Формулы, конечно, есть частные случаи математических текстов, а коды — некоторые двоичные цепочки. Естественно, элементы сигнатуры любой структуры — это тоже некоторые слова, предпринимаем специальные усилия, чтобы формулу можно было однозначно расшифровать и т. д.
Фиксируем конечный алфавит, содержащий все символы, которые могут использоваться в логике отношений произвольных структур. При этом можно для переменных использовать, например символ x, или тот же символ, за которым следует натуральной число, аналогично поступить с именами отношений и объектов, например, начиная эти имена с A и a. Также мы будем рассматривать и логические языки в которых есть имена для операций, в том числе — частичных.
Поэтому код всякой формулы определен, даже если мы еще не фиксировали сигнатуру, то есть количество имен отношений и объектов.