Ми з Макото Такеяма 5 січня 1996 року надіслали наступне на адресу data-refinement@etl.go.jp:
Тема: що стосується уточнення даних?
Шановні всі: когось ще цікавить уточнення даних?
Нещодавно ми з Маком знову переглядали ідею, яку ми розглядали багато місяців тому. Мотивація полягає в характеристиці логічних відносин, що мають відношення до відображення уточнення даних. Це стимулювалося усвідомленням того, що логічні відносини можна використовувати для демонстрації "безпеки" абстрактних інтерпретацій (див. Розділ 2.8 глави Джонса та Нільсона в томі 4 Посібника з логіки в КС), але такі відносини є загальнішими, ніж ті, які використовуються для показу уточнення даних.
Мої міркування наступні. Якщо відношення R встановлює уточнення даних між (між) множинами, то воно повинно викликати (часткові) співвідношення еквівалентності для кожного з наборів, з цими класами еквівалентності у відповідності один до одного та кожному елементу класу еквівалентності повинні бути пов'язані з усіма елементами відповідних класів еквівалентності в інших областях інтерпретації. Ідея полягає в тому, що кожен клас еквівалентності представляє "абстрактне" значення; у повністю абстрактній інтерпретації класи еквівалентності є однотонними.
Ми можемо дати просту умову, щоб переконатися, що n-арне відношення R викликає цю структуру. Визначте v ~ v 'в домені V iff, якщо існує значення x в деякому іншому домені X (і довільні значення ... в інших областях), таке що R (..., v, ..., x, ... ) і R (..., v ', ..., x, ...). Це визначає симетричні відношення на кожній з областей. Нав'язування локальної транзитивності дало б нам можливість працювати з кожним доменом, але цього було б недостатньо, оскільки ми хочемо забезпечити транзитивність через інтерпретацію. Наступна умова досягає цього: якщо v_i ~ v'_i для всіх i, тоді R (..., v_i, ...) iff R (..., v'_i, ...) я називаю це "zig- заг повноти "; у випадку n = 2, це говорить про те, що якщо R (a, c) & R (a ', c'), то R (a, c ') iff 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-індукованому класі еквівалентності, незалежно від того, яка інтерпретація використовується.
Запитання:
Хтось бачив подібну структуру раніше?
Які природні узагальнення цих ідей щодо інших пропозицій та "довільних" смислових категорій?
Bob Tennent rdt@cs.queensu.ca