DCG prolog probando varias oraciones

Si tengo el siguiente código, ¿cómo lo haría producirAnswer= 5 and Answer2= 10?. Yo corro el gol?- test(Data),lpsolve(Data, [Answer1,Answer2]).

    :-use_module(library(clpfd)).
    test([the, variable, X, is, five,fullstop,
          the,variable, Y, is, ten, fullstop]).
    lpsolve(Data, [Answer,Answer2]):- sentence(Answer, Data,[]).

    sentence(X) --> nounphrase, verbphrase(X).
    nounphrase --> [the], [variable].
    verbphrase(X) --> [X], [is], [five],[fullstop], {X = 5}.

    sentence(Y) --> nounphrase, verbphrase(Y).
    nounphrase --> [the], [variable].
    verbphrase(Y) --> [Y], [is], [ten],[fullstop], {Y = 10}.

Ejemplo de un programa que realmente se ejecuta y está estrechamente relacionado es el siguiente:

:-use_module(library(clpfd)).
test([the, variable, X, is, five,fullstop]).
lpsolve(Data, Answer):- sentence(Answer, Data,[]).

sentence(X) --> nounphrase, verbphrase(X).
nounphrase --> [the], [variable].
verbphrase(X) --> [X], [is], [five],[fullstop], {X = 5}.

Solo tengo una oración para probar y el objetivo tiene éxito como se muestra a continuación.

 ?- test(Data),lpsolve(Data, Answer).
    Data = [the, variable, 5, is, five],
    Answer = 5.

EDITA

Intento lo siguiente según el primer comentario:

:-use_module(library(clpfd)).

test([the, variable, x, is, five,fullstop,
      the,variable, y, is, ten, fullstop]).
lpsolve(Data, Answer):- sentence(Answer, Data,[]).

sentence(X) --> nounphrase, verbphrase(X).
nounphrase --> [the], [variable].
verbphrase(X) --> [x], [is], [five],[fullstop], {X = 5}. 
verbphrase(Y) --> [y], [is], [ten],[fullstop], {Y = 10}.

Me sale lo siguiente:

-? test(Data),lpsolve(Data, Answer).
false.

Respuestas a la pregunta(1)

Su respuesta a la pregunta