Last login: Mon Nov 11 11:32:21 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:crypto_xps 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('crypto_234_short.pro'). true. ?- test2(25). problem(numbers(4,5),goal(0)) --> no solution problem(numbers(5,2),goal(2)) --> no solution problem(numbers(3,4),goal(0)) --> no solution problem(numbers(3,5),goal(3)) --> no solution problem(numbers(0,2),goal(1)) --> no solution problem(numbers(3,3),goal(3)) --> no solution problem(numbers(1,5),goal(2)) --> no solution problem(numbers(5,2),goal(2)) --> no solution problem(numbers(2,3),goal(0)) --> no solution problem(numbers(5,5),goal(0)) --> ex(5,-,5) problem(numbers(4,5),goal(5)) --> no solution problem(numbers(2,0),goal(2)) --> ex(2,+,0) problem(numbers(4,2),goal(1)) --> no solution problem(numbers(0,5),goal(0)) --> ex(0,*,5) problem(numbers(3,3),goal(3)) --> no solution problem(numbers(4,3),goal(3)) --> no solution problem(numbers(5,2),goal(5)) --> no solution problem(numbers(1,4),goal(2)) --> no solution problem(numbers(0,4),goal(2)) --> no solution problem(numbers(3,2),goal(3)) --> no solution problem(numbers(4,0),goal(3)) --> no solution problem(numbers(3,3),goal(4)) --> no solution problem(numbers(5,0),goal(5)) --> ex(5,+,0) problem(numbers(3,4),goal(4)) --> no solution problem(numbers(0,3),goal(4)) --> no solution true . ?- test3(25). problem(numbers(1,4,5),goal(3)) --> no solution problem(numbers(1,1,3),goal(5)) --> ex(3,+,ex(1,+,1)) problem(numbers(2,2,0),goal(5)) --> no solution problem(numbers(0,2,0),goal(0)) --> ex(0,*,ex(0,+,2)) problem(numbers(2,5,0),goal(1)) --> no solution problem(numbers(1,4,2),goal(4)) --> ex(4,*,ex(2,-,1)) problem(numbers(2,1,4),goal(5)) --> ex(4,+,ex(2,-,1)) problem(numbers(0,1,3),goal(5)) --> no solution problem(numbers(5,0,4),goal(5)) --> ex(5,+,ex(0,*,4)) problem(numbers(5,0,2),goal(1)) --> no solution problem(numbers(0,0,3),goal(2)) --> no solution problem(numbers(4,5,5),goal(3)) --> ex(4,-,ex(5,/,5)) problem(numbers(5,3,2),goal(3)) --> no solution problem(numbers(4,2,2),goal(2)) --> no solution problem(numbers(5,5,2),goal(5)) --> ex(ex(5,+,5),/,2) problem(numbers(5,3,1),goal(3)) --> ex(1,+,ex(5,-,3)) problem(numbers(3,1,5),goal(1)) --> ex(5,-,ex(3,+,1)) problem(numbers(3,3,3),goal(3)) --> ex(ex(3,+,3),-,3) problem(numbers(3,3,5),goal(0)) --> ex(5,*,ex(3,-,3)) problem(numbers(3,4,5),goal(1)) --> no solution problem(numbers(4,3,4),goal(0)) --> ex(3,*,ex(4,-,4)) problem(numbers(3,4,0),goal(0)) --> ex(0,*,ex(3,+,4)) problem(numbers(1,0,1),goal(4)) --> no solution problem(numbers(4,2,5),goal(4)) --> no solution problem(numbers(3,3,1),goal(0)) --> ex(1,*,ex(3,-,3)) true . ?- test4(25). problem(numbers(4,0,3,5),goal(0)) --> ex(ex(4,*,0),*,ex(3,+,5)) problem(numbers(2,0,1,5),goal(0)) --> ex(ex(2,*,0),*,ex(1,+,5)) problem(numbers(1,4,0,4),goal(1)) --> ex(ex(1,+,4),-,ex(0,+,4)) problem(numbers(1,3,3,4),goal(5)) --> ex(ex(1,+,3),-,ex(3,-,4)) problem(numbers(4,5,4,3),goal(0)) --> ex(ex(4,-,5),+,ex(4,-,3)) problem(numbers(0,1,3,4),goal(1)) --> ex(ex(4,-,3),*,ex(0,+,1)) problem(numbers(4,1,3,0),goal(4)) --> ex(ex(4,*,1),+,ex(3,*,0)) problem(numbers(2,0,3,5),goal(2)) --> ex(ex(2,*,0),-,ex(3,-,5)) problem(numbers(4,2,5,1),goal(3)) --> ex(ex(4,*,2),-,ex(5,*,1)) problem(numbers(1,1,1,3),goal(0)) --> ex(ex(1,+,1),+,ex(1,-,3)) problem(numbers(0,3,2,5),goal(1)) --> ex(ex(5,-,2),/,ex(0,+,3)) problem(numbers(0,1,1,1),goal(1)) --> ex(ex(1,+,1),-,ex(0,+,1)) problem(numbers(1,5,4,1),goal(0)) --> ex(ex(4,+,1),-,ex(1,*,5)) problem(numbers(0,3,0,2),goal(0)) --> ex(ex(0,+,3),*,ex(0,*,2)) problem(numbers(1,3,4,0),goal(5)) --> ex(ex(1,+,4),+,ex(3,*,0)) problem(numbers(2,5,0,0),goal(2)) --> ex(ex(2,+,0),+,ex(5,*,0)) problem(numbers(4,1,0,2),goal(0)) --> ex(ex(4,+,1),*,ex(0,*,2)) problem(numbers(1,1,0,4),goal(1)) --> ex(ex(1,*,1),+,ex(0,*,4)) problem(numbers(4,4,0,5),goal(3)) --> ex(ex(4,+,4),-,ex(0,+,5)) problem(numbers(5,1,2,0),goal(2)) --> ex(2,+,ex(0,*,ex(5,+,1))) problem(numbers(4,2,0,0),goal(5)) --> no solution problem(numbers(2,4,5,4),goal(3)) --> ex(ex(5,+,4),-,ex(2,+,4)) problem(numbers(4,5,2,0),goal(0)) --> ex(ex(4,+,5),*,ex(2,*,0)) problem(numbers(3,5,2,1),goal(3)) --> ex(ex(ex(3,+,5),/,2),-,1) problem(numbers(3,3,4,0),goal(3)) --> ex(ex(4,+,0),-,ex(3,/,3)) true . ?- halt. mba:crypto_xps johnz$