Makoto Takeyama e io abbiamo inviato quanto segue a data-refinement@etl.go.jp il 5 gennaio 1996:
Oggetto: che cos'è una relazione di perfezionamento dei dati?
Carissimi: qualcuno è ancora interessato all'affinamento dei dati?
Di recente, Mak e io abbiamo rivisto un'idea che abbiamo preso in considerazione molti mesi fa. La motivazione è quella di caratterizzare le relazioni logiche rilevanti per mostrare il raffinamento dei dati. Ciò è stato stimolato dalla consapevolezza che le relazioni logiche possono essere usate per mostrare la "sicurezza" delle interpretazioni astratte (vedi Sezione 2.8 del capitolo di Jones e Nielson nel volume 4 del Manuale di Logica in CS), ma tali relazioni sono più generali di quelli utilizzati per mostrare il perfezionamento dei dati.
Il mio ragionamento è il seguente. Se una relazione R sta stabilendo un raffinamento dei dati tra (tra) insiemi, allora deve indurre relazioni (parziali) di equivalenza su ciascuno degli insiemi, con queste classi di equivalenza in corrispondenza uno a uno e ogni elemento di una classe di equivalenza deve essere correlato a tutti gli elementi delle corrispondenti classi di equivalenza negli altri settori di interpretazione. L'idea è che ogni classe di equivalenza rappresenti un valore "astratto"; in un'interpretazione completamente astratta le classi di equivalenza sono singoli.
Possiamo dare una condizione semplice per garantire che una relazione n-ary R induca questa struttura. Definisci v ~ v 'nel dominio V se esiste un valore x in qualche altro dominio X (e valori arbitrari ... negli altri domini) tale che R (..., v, ..., x, ... ) e R (..., v ', ..., x, ...). Ciò definisce le relazioni simmetriche su ciascuno dei domini. L'imposizione della transitività locale ci darebbe quindi pers su ogni dominio, ma ciò non sarebbe sufficiente perché vogliamo garantire la transitività attraverso le interpretazioni. La seguente condizione raggiunge questo: se v_i ~ v'_i per tutti i, quindi R (..., v_i, ...) iff R (..., v'_i, ...) chiamo questo "zig- completezza zag "; nel caso n = 2, dice che se R (a, c) & R (a ', c') allora R (a, c ') iff R (a', c).
Proposizione. Se R e S sono relazioni complete a zig-zag, lo sono anche R x S e R -> S.
Proposizione. Supponiamo che t e t siano termini di tipo th nel contesto pi, e R sia una relazione logica completa a zig-zag; quindi, se il giudizio di equivalenza t = t 'è interpretato come segue:
per tutto u_i in V_i [[pi]],
R ^ {pi} (..., u_i, ...) implica che, per tutti i, V_i [[t]] u_i ~ V_i [[t ']] u_i
questa interpretazione soddisfa i soliti assiomi e regole per la logica equazionale.
L'intuizione qui è che i termini devono essere "equivalenti" sia all'interno di una singola interpretazione (V_i) sia attraverso le interpretazioni; vale a dire, i significati di t e t 'sono nella stessa classe di equivalenza indotta da R, indipendentemente dall'interpretazione utilizzata.
Domande:
Qualcuno ha mai visto questo tipo di struttura prima?
Quali sono le generalizzazioni naturali di queste idee ad altre proposizioni e categorie semantiche "arbitrarie"?
Bob Tennent rdt@cs.queensu.ca