Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a Prolog program that solves the following logic puzzle, printing the rig

ID: 3831952 • Letter: C

Question

Create a Prolog program that solves the following logic puzzle, printing the right answer for each of the four cases.

There are 4 customers: Genevieve, Lucia, Shawna, Vanessa

There are 4 shoe sizes: 4,5,6,7

There are 4 shoe manufacturers: Abbott Hill, Manzarita, Graffetz, Williford

1. Of the Manzarita footwear and Lucia's pair, one was a size 7 and the other was a size 4.

2. Genevieve's pair was 2 sizes smaller than the Abbott Hill footwear.

3. Vanessa's pair was 2 sizes larger than Genevieve's pair.

4. The Graffetz footwear was somewhat larger than Shawna's pair.

For each customer, show their name, their shoe size and their shoe's manufacturer in a format similar to this:

Joe bought a size 13 Nike.

Tom bought a size 12 Reebok.

(etc.)

Explanation / Answer

I have written the logics only,need to modify.

all_diff(L) :- + (select(X,L,R), memberchk(X,R)).

owners( [Genevieve,Lucia,Shawna,Vanessa]).
owner( X ) :-
owners( C ), member( X, C ).

sizes( [4,5,6,7]).
size( X ) :-   
sizes( C ), member( X, C ).

manufacturers( [AbbottHill,Manzarita,Graffetz,Williford]).
manufacturer( X ) :-   
manufacturers( C ), member( X, C ).


solution( Solution ) :-
Solution = [E1, E2, E3,E4],
E1 = [Genevieve, P1, S1],
E2 = [Lucia, P2, S2],
E3 = [Shawna, P3, S3],
   E4 = [Vanessa, P4, S4],
   size( P1 ),
size( P2 ),
size( P3 ),
   size( P4 ),
all_diff( [P1,P2,P3,P4]),
manufacturer( S1 ),
manufacturer( S2 ),
manufacturer( S3 ),
   manufacturer( S4 ),
all_diff( [S1,S2,S3,S4]),
  

member( [_,7,Manzarita], Solution );member( [Lucia,4,_], Solution ),

member( [Genevieve,4,_], Solution );member( [Genevieve,5,_], Solution ),
  
   member( [_,6,AbbottHill], Solution );member( [_,7,AbbottHill], Solution ),
  
   member( [Vanessa,6,_], Solution );member( [Vanessa,7,_], Solution ),

member( [_,6,Graffetz], Solution );member( [_,7,Graffetz], Solution );member( [_,5,Graffetz], Solution ),
  
   member( [Shawna,6,_], Solution );member( [Shawna,5,_], Solution );member( [Shawna,4,_], Solution ).