conf(PA,PM,AM,AP,MP,MA) :-
   fd_domain([PA,PM,AM,AP,MP,MA],1,6),

%  Alan does not stay the last day
  AM #\=# 6,
  AM #\=# 5,
  MA #\=# 6,
  MA #\=# 5,
  AP #\=# 6,
  AP #\=# 5,
  PA #\=# 6,
  PA #\=# 5,
% Michel wants to hear from colleagues first
  PM #<# MA,
  PM #<# MP,
  AM #<# MA,
  AM #<# MP,
% Alan wants to listen Peter first
  PA #<# AP,
  PA #<# AM,
% Alan won''t speak at the same time to both colleagues
  AM #\=# AP,
% One person cannot listen two others simultaneously
  MA #\=# PA,
  MP #\=# AP,
  AM #\=# PM,
% Nobody can speak and listen simultaneously
  AP #\=# MA,
  PM #\=# AP,
  PA #\=# MP,
% redundant constraints are:
%  AM #\=# MA,
%  AM #\=# PA,
%  AP #\=# PA,
%  MP #\=# PM,
%  MP #\=# AM,
%  MA #\=# PM,
% breaking symetry
   MP #\=# 5,
   fd_labeling([MP,PM,PA,AM,AP,MA]).

