Итак, нам нужно придумать алгоритм (и доказать, что он правильно работает), который по формуле однозначно указывает:
- ту единственную строчку, по которой формула построена;
- в зависимости от строчки, указывает:
– для отрицаний — формулу
;
– для квантора — этот квантор, переменную x и формулу
;
– для формул вида
, где
— двухместная связка, — формулы
и
и эту связку.
Одновременно с построением алгоритма будем доказывать следующее утверждение:
: Во всякой формуле число открывающих скобок равно числу закрывающих; во всяком начальном отрезке формулы число открывающих скобок больше или равно числу закрывающих.
Возможны следующие случаи:
— формула может начинаться с имени отношения, отрицания или квантора, анализ и проверка
— очевидны;
— формула может начинаться с открывающей скобки; будем двигаться по формуле слева направо, считая баланс скобок: прибавляя по единице для открывающей скобки и вычитая по единице для закрывающей.
Во втором случае при чтении формулы баланс впервые станет нулевым после прочтения
целиком и следующей закрывающей скобки. Это вытекает из
в применении к
. Второй раз он станет нулевым после прочтения
и следующей (последней) закрывающей скобки.
Таким образом другой результат анализа, т. е. иное выделение
и т. д. невозможен,
,
и двухместная связка определены однозначно и одновременно для всей формулы проверено
.