Prolog - Escreva fatos e leia a entrada de um usuário

Sou bastante novo no Prolog e tive alguns problemas para entendê-lo. Eu tenho alguns fatos chamados 'problem 'Desejo primeiro imprimir esses fatos para o usuário e depois pedir que eles insiram um valor, esse valor é lido e usado posteriormente.

Do meu entendimento até agora, seria melhor usar um forall para imprimir esses fatos e, em seguida, usar ler para ler o valor inserido, mas estou tendo algum problema ao implementar isso. Aqui está o que eu tenho até agora, qualquer explicação seria apreciada

Minha pergunta: como leio as informações do usuário sobre o problema e as aplico em uma variável para uso posterio

tellMeYourProblem:-
forall(problem(P), 
writeln(P)),
answer = read(X),


problem('1').
problem('2').
problem('3').
problem('4').
problem('5').
problem('6').
problem('7').
problem('8').
problem('9').
problem('10').

questionAnswers(2)

yourAnswerToTheQuestion