Pregunta

Estoy buscando referencias sobre la implementación de la unificación en términos de matrices multidimensionales.

¿Existen algoritmos de unificación especializados para esos casos?No pude encontrar literatura satisfactoria sobre el tema y estoy intentando escribir una biblioteca de programación lógica para el lenguaje J.

¿Fue útil?

Solución

A modo de contexto, asumiré que el objetivo es realizar la unificación en la lógica clásica de primer orden en un lenguaje fijo. $\mathscr{L}$.(Se aceptan formatos y otras correcciones).

Brevemente, puede tratar las matrices como términos y las matrices multidimensionales como matrices de matrices.También introducirá un nuevo símbolo de término que no aparece en $\mathscr{L}$.

Entonces, por ejemplo, si tiene una matriz multidimensional como la siguiente,

\begin{pmatrix} 1 & 2 & 3\\ X, Y y Z \end{pmatrix}

primero lo convertirás en una matriz de matrices,

$$ ext{((1 2 3) (x y z))}$$

y luego convertirlo a términos.Asumiendo el término símbolo a no está en su idioma, ahora puede representar su matriz multidimensional de la siguiente manera:

    a(a(1,2,3),a(x,y,z))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a cs.stackexchange
scroll top