% tradutor simples dict1(o,the). dict1(gato,cat). dict1(mia,miaus). dict1(estuda,studies). dict1(bravo,brave). % tradutor com tecnica de diferenca de listas dict3([ciencias,da,computacao|L1],L1,[computer,science|L2],L2). dict3([gato,bravo |L1],L1,[wild,cat |L2],L2). t3(A,A,B,B). t3([X1|A1],B1,[X2|A2],B2) :- (dict3([X1|A1] ,B11,[X2|A2] ,B21), t3(B11,B1,B21,B2) ; dict1(X1,X2), t3(A1,B1,A2,B2) ) -> true ; X2 = +X1, t3(A1,B1,A2,B2) . % teste: run(P,I) :- ex(P), t3(P,[],I,[]). ex([o,gato,mia]). ex([o,gato,mia,bravo]). ex([o,gato,bravo]). ex([o,gato,bravo,estuda,ciencias,da,computacao]). ex([o,piopardo,bravo,estuda,ciencias,da,computacao]).