Логическая задача на swi-prolog

Помогите разобраться, чего я недосмотрел в задании? При запуске зависает

fam(карпов).
fam(сомов).
fam(щукин).

work(актер).
work(литератор).
work(скульптор).
work(художник).

colour(белый).
colour(красный).
colour(серый).
colour(черный).

smoke(папиросы).
smoke(сигареты).
smoke(сигары).
smoke(трубку).

win(1000).
win(2000).
win(3000).
win(-6000).

solve(Mans):-
  Mans = [man(A, AW, AC, AS,AWin),man(B, BW, BC, BS,BWin),man(C, CW, CC, CS,CWin),
          man(D, DW, DC, DS,DWin)],
  fam(A), fam(B), fam(C),fam(D),% unique([X, Y, Z]),
  work(AW),  work(BW), work(CW), work(DW), %unique([XNat, YNat, ZNat]),
  colour(AC),colour(BC), colour(CC), colour(DC),  % unique([XSp, YSp, ZSp]),
  smoke(AS),smoke(BS), smoke(CS), smoke(DS),
  win(AWin),  win(BWin), win(CWin), win(DWin), % unique([XP, YP, ZP]),
  % 1
  member(man(_, _, черный, папиросы,_), Mans),
  % 2
  member(man(_, актер, _, _, 1000), Mans),
  member(man(_, _, серый, _, 3000), Mans),
  % 3
  member(man(ершов, _, _, сигареты, _), Mans),
  member(man(_, литератор, _, трубка, _), Mans),
  not(member(man(сомов, литератор, _, _, _), Mans)),
  % 4
  member(man(щукин, скульптор, белый, _, _), Mans),
  % 5
  member(man(_, _, красный, _, -6000), Mans),
  not(member(man(_, художник, _, _, -6000), Mans)).

start(Solve):-
  solve(Solve), Solve = [man(_, _, _, _, 1000), man(_, _, _, _, 2000),
                         man(_, _, _, _, 3000),man(_, _, _, _, -6000)].

запускаю так

?- start(X).задание


Ответы (0 шт):