dbd (Windows) (Right-click and save as dbd)
[raj@tinman ch5]$ more p1.pl
schema([a,b,c,d,e]).
fds([ [[a],[b]], [[a,c],[d]], [[e],[a,b]],
[[a,d],[e]], [[a,b,c],[d]] ]).
answer(K) :- schema(R), fds(F), candkey(R,F,K).
[raj@tinman ch5]$ swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 7.6.4)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
1 ?- [dbd].
true.
2 ?- ['p1.pl'].
true.
3 ?- answer(K).
K = [c, e] ;
K = [a, c] ;
false.
4 ?- halt.