O seu programa deve ser invocado através dos predicados:
encode/2
que recebe a mensagem e retorna no segundo argumento a lista dos códigos ASCII da mensagem codificada
decode/2
que recebe a lista dos códigos ASCII da mensagem codificada e devolve no segundo argumento a mensagem original.
primos/2
que recebe como primeiro argumento um número natural N e devolve no segundo argumento a lista de todos os primos até N.
Exemplos:
?- primos(100,L). L = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61, 67,71,73,79,83,89,97] ?- encode('Ola malta',C), decode(C,D). C = [79,110,100,37,116,108,121,133,116] D = 'Ola malta'