Domanda

Sto cercando riferimenti all'attuazione dell'unificazione su termini di array multidimensionale.

Ci sono algoritmi di unificazione specializzati per quei casi?Non ero in grado di trovare la letteratura soddisfacente sull'argomento, e sto tentando di scrivere una libreria di programmazione logica per la lingua J.

È stato utile?

Soluzione

A titolo di contesto, suppongo che l'obiettivo sia quello di fare un'unificazione nella logica classica del primo ordine in una lingua fissa $ \ mathscr {l} $ .(Formattazione e altre correzioni Benvenuti.)

brevemente, è possibile trattare gli array come termini e array multidimensionali come array di array.Presenterai anche un nuovo simbolo termine che non si verifica in $ \ mathscr {l} $ .

Quindi, ad esempio, se si dispone di un array multidimensionale come il seguente,

\ Begin {Pmatrix} 1 e 2 e 3 \\ X & Y & Z \ End {Pmatrix}

Lo convertirai per la prima volta in una serie di array,

$$ \ testo {((1 2 3) (x y z))} $$

e quindi convertirlo in termini.Supponendo che il termine simbolo a non sia nella tua lingua, ora puoi rappresentare la tua matrice multidimensionale come segue:

    a(a(1,2,3),a(x,y,z))
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top