Travel Problem

I just started learning prolog and I was trying to solve this problem, but I got stuck.

Four people are traveling to different places on different types of transport.

Their names are: Rachel, John, Mr. Jones and Cindy.

They either went on train, car, plane or ship.

• Mr. Jones hates flying
• Cindy has to rent her vehicle
• John gets seasick

How did they each travel?

I assumed that we have this fatcs based on the given information.

travel(cinty, car).

travel(mrjones, train).
travel(mrjones, car).
travel(mrjones, ship).

travel(john, car).
travel(john, plane).
travel(john, train).

travel(cindy, car).
travel(cindy, ship).
travel(cindy, plane).
travel(cindy, train).

And I would like to have the possibilities:

Cindy: car
Mr. Jones: train
John: plane
Rachel: ship

Cindy: car
Mr. Jones: ship
John: plane
Rachel: train

Cindy: car
Mr. Jones: ship
John: train
Rachel: plane

Any help would be appreciated!

go([R, J, MJ, C]) :-
    writeln("Rachel, John, Mr. Jones, Cindy"),
    C = car,
    dif(MJ, plane),
    dif(J, ship),
    permutation([train, car, plane, ship], [R, J, MJ, C]).


?- go(Perm).
Rachel, John, Mr. Jones, Cindy
Perm = [train,plane,ship,car] ;
Perm = [plane,train,ship,car] ;
Perm = [ship,plane,train,car] ;
1 Like

Thank you very much!!