Макото Такеяма и я отправили 5 января 1996 г. на data-refinement@etl.go.jp следующее:
Тема: что такое отношение уточнения данных?
Уважаемые: кто-нибудь еще заинтересован в уточнении данных?
Недавно мы с Маком снова рассматривали идею, которую мы рассматривали много месяцев назад. Мотивация состоит в том, чтобы характеризовать логические отношения, относящиеся к отображению уточнения данных. Это было стимулировано осознанием того, что логические отношения могут использоваться для демонстрации «безопасности» абстрактных интерпретаций (см. Раздел 2.8 главы Джоунса и Нильсона в томе 4 «Руководства по логике в CS»), но такие отношения являются более общими, чем те, которые используются для отображения уточнения данных.
Мои рассуждения звучат следующим образом. Если отношение R устанавливает уточнение данных между (среди) множествами, то оно должно вызывать (частичные) отношения эквивалентности на каждом из множеств с этими классами эквивалентности в взаимно-однозначном соответствии и каждым элементом класса эквивалентности. должны быть связаны со всеми элементами соответствующих классов эквивалентности в других областях интерпретации. Идея состоит в том, что каждый класс эквивалентности представляет «абстрактное» значение; в полностью абстрактной интерпретации классы эквивалентности являются синглетонами.
Мы можем дать простое условие, гарантирующее, что n-арное отношение R индуцирует эту структуру. Определите v ~ v 'в области V, если существует значение x в некоторой другой области X (и произвольные значения ... в других областях), такое, что R (..., v, ..., x, ... ) и R (..., v ', ..., x, ...). Это определяет симметричные отношения на каждой из областей. В этом случае наложение локальной транзитивности дало бы нам персону в каждой области, но этого было бы недостаточно, потому что мы хотим обеспечить транзитивность в разных интерпретациях. Следующее условие достигает этого: если v_i ~ v'_i для всех i, то R (..., v_i, ...) тогда и только тогда, когда R (..., v'_i, ...) я называю это "зиг- заг-полнота "; в случае n = 2 это говорит о том, что если R (a, c) & R (a ', c'), то R (a, c ') тогда и только тогда, когда R (a', c).
Предложение. Если R и S - зигзагообразные полные отношения, то R x S и R -> S.
Предложение. Предположим, что t и t 'являются терминами типа th в контексте pi, а R является зигзагообразным полным логическим отношением; тогда, если суждение об эквивалентности t = t 'интерпретируется следующим образом:
для всех u_i в V_i [[pi]],
R ^ {pi} (..., u_i, ...) подразумевает, что для всех i, V_i [[t]] u_i ~ V_i [[t ']] u_i
эта интерпретация удовлетворяет обычным аксиомам и правилам эквациональной логики.
Интуиция здесь заключается в том, что термины должны быть «эквивалентными» как в пределах одной интерпретации (V_i), так и в разных интерпретациях; то есть значения t и t 'находятся в одном и том же классе индуцированной R-эквивалентности, независимо от того, какая интерпретация используется.
Вопросов:
Кто-нибудь видел такую структуру раньше?
Каковы естественные обобщения этих идей для других положений и «произвольных» семантических категорий?
Боб Теннент rdt@cs.queensu.ca