Last login: Mon Nov 11 11:10:05 on ttys000 The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. mba:combinatorial_sets johnz$ swipl Welcome to SWI-Prolog (threaded, 64 bits, version 8.0.3) 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). ?- consult('combinatorial_sets.pro'). true. ?- permutations(a,b). ab ba true. ?- permutations(a,b,c). abc acb bac bca cab cba true. ?- permutations(a,b,c,d). abcd abdc acbd acdb adbc adcb bacd badc bcad bcda bdac bdca cabd cadb cbad cbda cdab cdba dabc dacb dbac dbca dcab dcba true. ?- permutations(a,b,c,d,e). abcde abced abdce abdec abecd abedc acbde acbed acdbe acdeb acebd acedb adbce adbec adcbe adceb adebc adecb aebcd aebdc aecbd aecdb aedbc aedcb bacde baced badce badec baecd baedc bcade bcaed bcdae bcdea bcead bceda bdace bdaec bdcae bdcea bdeac bdeca beacd beadc becad becda bedac bedca cbade cbaed cbdae cbdea cbead cbeda cabde cabed cadbe cadeb caebd caedb cdbae cdbea cdabe cdaeb cdeba cdeab cebad cebda ceabd ceadb cedba cedab dbcae dbcea dbace dbaec dbeca dbeac dcbae dcbea dcabe dcaeb dceba dceab dabce dabec dacbe daceb daebc daecb debca debac decba decab deabc deacb ebcda ebcad ebdca ebdac ebacd ebadc ecbda ecbad ecdba ecdab ecabd ecadb edbca edbac edcba edcab edabc edacb eabcd eabdc eacbd eacdb eadbc eadcb true. ?- perm(s(a,b),p(A,B)). A = a, B = b ; A = b, B = a. ?- comb(set(a,b,c,d),comb(A,B),extras(_,_)). A = a, B = b ; A = a, B = c ; A = a, B = d ; A = b, B = c ; A = b, B = d ; A = c, B = d. ?- comb(set(a,b,c,d),comb(A,B),extras(_)). false. ?- halt. mba:combinatorial_sets johnz$