<На страницу назад | На страницу вперед>
А.5.6 Использование переменных разных видов
Обратите внимание: сам язык детального описания IDEF3 совершенно не типизирован;
в частности, существует только один вид переменных. Однако, в неформальных примерах,
приведенных в разделе A.4 и в разделе 3, используются различные переменные разных
видов, возможные значения которых ограничиваются разными семантическими категориями,
например, UOB, ситуации, инфоны и др. Эту практику можно рассматривать просто
как удобный способ использования альтернативного обозначения, поскольку любое
предложение на так называемом многовидовом языке с с использованием множества
разных видов ограниченных переменных можно преобразовать непосредственно в предложение
на одновидовом языке, например, на языке детального описания. Вся хитрость заключается
в том, чтобы использовать термы одновидового языка для обозначения семантических
категорий, которыми ограничиваются разделенные по видам переменные в многовидовом
языке. Предположим, например, что "?sit" представляет переменную определенного
вида, используемую только для ситуаций, а "?ind" представляет переменную
определенного вида, используемую только для индивидов. Тогда в предложении "(forall
(?sit ?ind : (FOO ?sit)) (BAR ?ind ?sit)))" говорится о том, что для любой
ситуации s и индивида b, если s представляет FOO, то b переносит BAR в s. Однако,
ясно, что это можно выразить при использовании точного одновидового языка детального
описания следующим образом: "(forall (?x ?y : (situation ?x) (individual
?y) (FOO ?x)) (BAR ?y ?x))". Следовательно, использование переменных, разделенных
по видам, совершенно безвредно и может только приветствоваться, поскольку их
применение, как правило, существенно сокращает предложение, написанное при использовании
обозначения одного вида. Точная оценка связи между многовидовыми и одновидовыми
языками приводится в работе (Enderton, 1972), глава 4, ╖ 4.3. В любом случае,
какой бы язык ни использовался (одновидовой или многовидовой), практически целесообразно
выбирать переменные, отражающие соответствующие целевые семантические категории,
например, "?ind", "?rel", "?f", "?sit",
"?inf", "?uob", "?coe" и т.д. ( Хотя в данном
документе мы придерживаемся этой практики в неформальных обсуждениях, это правило
не всегда соблюдается в приведенном выше определении формализации, чтобы убедить
читателя в том, что сам язык детального описания является одновидовым и что
разграничение типов вводится и используется аксиоматически).