/************************************************************************ concatena1 : concatena listas de symbol posibles entradas : concatena1(L,L1,L2): a.- instanciar (darle valores) L y L1 dando como resultado L2 que es la uni¢n o concatenaci¢n de L con L1; b.- instanciar L y L2 dando como resultado L1 que equivale a encontrar la lista de simbolos (L1, no esta instanciada) que concatenada con L de como resultado L2 (que ya esta instanciado); c.- instanciar L1 y L2 dando como resultado L (que esta instanciada que equivale a encontrar la lista de simbolos (L) que concatenada con L1 de como resultado L2 (que ya esta instanciado); Concatena2 : concatena lista de enteros posibles entradas : igual a concatena1, pero en lugar de lista de simbolos trabaja con lista de enteros. Para seguir el programa se ha colocado un trace que permite seguir la ejecuci¢n clausula por clausula, para ir avanzando s¢lo hay que presionar F10, si deseas verlo continuado, sin esta pausa, basta con eliminar el trace. Inteligencia Artificial Gonzalo Villarreal Farah Para Turbo Prolog 2.0 de Borland ****************************************************************************/ domains lista_symbol=symbol* lista_numeros=integer* predicates concatena1(lista_symbol,lista_symbol,lista_symbol) concatena2(lista_numeros,lista_numeros,lista_numeros) clauses concatena1([],L,L). concatena1([X|Y],L,[X|Z]):- concatena1(Y,L,Z). concatena2([],L,L). concatena2([X|Y],L,[X|Z]):- concatena2(Y,L,Z).