V2: Demo of Crypto Problem Solver Orders 2,3,4 - CSC 366 Home Page - Source

...@...:~/Desktop/cog366/sets/v2$ swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 7.6.0-rc2)
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.pro').
true.

?- crypto(1,2,3,X).
X = ex(1, +, 2) ;
false.

?- crypto(8,10,3,X).
false.

?- crypto(5,8,2,15,X).
X = ex(2, +, ex(5, +, 8)) ;
X = ex(5, +, ex(8, +, 2)) ;
X = ex(8, +, ex(5, +, 2)) ;
false.

?- crypto(1,1,3,6,X).
X = ex(3, *, ex(1, +, 1)) ;
false.

?- crypto(1,1,3,9,X).
false.

?- crypto(12,6,15,0,3,X).
X = ex(ex(12, +, 6), -, ex(15, +, 0)) ;
X = ex(ex(12, +, 6), -, ex(15, -, 0)) ;
X = ex(ex(12, +, 6), +, ex(15, -, 0)) ;
X = ex(15, -, ex(0, +, ex(12, +, 6))) ;
X = ex(15, -, ex(0, -, ex(12, +, 6))) ;
X = ex(0, -, ex(15, -, ex(12, +, 6))) ;
X = ex(0, +, ex(15, -, ex(12, +, 6))) ;
X = ex(0, -, ex(15, -, ex(12, +, 6))) ;
X = ex(ex(12, -, 15), +, ex(6, +, 0)) ;
X = ex(ex(12, -, 15), -, ex(6, *, 0)) ;
X = ex(ex(12, -, 15), +, ex(6, -, 0)) ;
X = ex(ex(12, -, 15), -, ex(6, -, 0)) ;
X = ex(ex(12, -, 15), -, ex(6, /, 0)) ;
X = ex(6, +, ex(0, +, ex(12, -, 15))) ;
X = ex(6, -, ex(0, -, ex(12, -, 15))) ;
X = ex(6, +, ex(0, -, ex(12, -, 15))) ;
X = ex(0, +, ex(6, +, ex(12, -, 15))) ;
X = ex(0, -, ex(6, +, ex(12, -, 15))) ;
X = ex(ex(12, -, 15), -, ex(6, +, 0)) ;
X = ex(ex(12, -, 15), +, ex(6, *, 0)) ;
X = ex(ex(12, -, 15), -, ex(6, *, 0)) ;
X = ex(ex(12, -, 15), -, ex(6, -, 0)) ;
X = ex(ex(12, -, 15), +, ex(6, /, 0)) ;
X = ex(ex(12, -, 15), -, ex(6, /, 0)) ;
X = ex(6, -, ex(0, +, ex(12, -, 15))) ;
X = ex(6, +, ex(0, -, ex(12, -, 15))) ;
X = ex(6, -, ex(0, -, ex(12, -, 15))) ;
X = ex(0, +, ex(6, -, ex(12, -, 15))) ;
X = ex(0, -, ex(6, -, ex(12, -, 15))) ;
X = ex(0, -, ex(6, -, ex(12, -, 15))) ;
X = ex(ex(12, +, 0), +, ex(6, -, 15)) ;
X = ex(ex(12, +, 0), -, ex(6, -, 15)) ;
X = ex(6, -, ex(15, -, ex(12, +, 0))) ;
X = ex(6, +, ex(15, -, ex(12, +, 0))) ;
X = ex(15, -, ex(6, +, ex(12, +, 0))) ;
X = ex(ex(12, -, 0), +, ex(6, -, 15)) ;
X = ex(ex(12, -, 0), -, ex(6, -, 15)) ;
X = ex(6, -, ex(15, -, ex(12, -, 0))) ;
X = ex(6, +, ex(15, -, ex(12, -, 0))) ;
X = ex(15, -, ex(6, +, ex(12, -, 0))) ;
X = ex(ex(12, -, 0), -, ex(6, -, 15)) ;
X = ex(6, -, ex(15, +, ex(12, -, 0))) ;
X = ex(15, -, ex(6, -, ex(12, -, 0))) ;
X = ex(ex(6, -, 15), +, ex(12, +, 0)) ;
X = ex(ex(6, -, 15), +, ex(12, -, 0)) ;
X = ex(ex(6, -, 15), -, ex(12, -, 0)) ;
X = ex(12, +, ex(0, +, ex(6, -, 15))) ;
X = ex(12, -, ex(0, -, ex(6, -, 15))) ;
X = ex(12, +, ex(0, -, ex(6, -, 15))) ;
X = ex(0, +, ex(12, +, ex(6, -, 15))) ;
X = ex(0, -, ex(12, +, ex(6, -, 15))) ;
X = ex(ex(6, -, 15), -, ex(12, +, 0)) ;
X = ex(ex(6, -, 15), -, ex(12, -, 0)) ;
X = ex(12, -, ex(0, +, ex(6, -, 15))) ;
X = ex(12, +, ex(0, -, ex(6, -, 15))) ;
X = ex(12, -, ex(0, -, ex(6, -, 15))) ;
X = ex(0, +, ex(12, -, ex(6, -, 15))) ;
X = ex(0, -, ex(12, -, ex(6, -, 15))) ;
X = ex(0, -, ex(12, -, ex(6, -, 15))) ;
X = ex(ex(6, +, 0), +, ex(12, -, 15)) ;
X = ex(ex(6, +, 0), -, ex(12, -, 15)) ;
X = ex(12, -, ex(15, -, ex(6, +, 0))) ;
X = ex(12, +, ex(15, -, ex(6, +, 0))) ;
X = ex(15, -, ex(12, +, ex(6, +, 0))) ;
X = ex(ex(6, *, 0), -, ex(12, -, 15)) ;
X = ex(ex(6, *, 0), +, ex(12, -, 15)) ;
X = ex(ex(6, *, 0), -, ex(12, -, 15)) ;
X = ex(12, -, ex(15, +, ex(6, *, 0))) ;
X = ex(12, -, ex(15, -, ex(6, *, 0))) ;
X = ex(15, -, ex(12, +, ex(6, *, 0))) ;
X = ex(15, -, ex(12, -, ex(6, *, 0))) ;
X = ex(15, +, ex(12, -, ex(6, *, 0))) ;
X = ex(ex(6, -, 0), +, ex(12, -, 15)) ;
X = ex(ex(6, -, 0), -, ex(12, -, 15)) ;
X = ex(12, -, ex(15, -, ex(6, -, 0))) ;
X = ex(12, +, ex(15, -, ex(6, -, 0))) ;
X = ex(15, -, ex(12, +, ex(6, -, 0))) ;
X = ex(ex(6, -, 0), -, ex(12, -, 15)) ;
X = ex(12, -, ex(15, +, ex(6, -, 0))) ;
X = ex(15, -, ex(12, -, ex(6, -, 0))) ;
X = ex(ex(6, /, 0), -, ex(12, -, 15)) ;
X = ex(ex(6, /, 0), +, ex(12, -, 15)) ;
X = ex(ex(6, /, 0), -, ex(12, -, 15)) ;
X = ex(12, -, ex(15, +, ex(6, /, 0))) ;
X = ex(12, -, ex(15, -, ex(6, /, 0))) ;
X = ex(15, -, ex(12, +, ex(6, /, 0))) ;
X = ex(15, -, ex(12, -, ex(6, /, 0))) ;
X = ex(15, +, ex(12, -, ex(6, /, 0))) ;
X = ex(ex(15, +, 0), -, ex(12, +, 6)) ;
X = ex(12, +, ex(6, -, ex(15, +, 0))) ;
X = ex(12, -, ex(6, -, ex(15, +, 0))) ;
X = ex(6, +, ex(12, -, ex(15, +, 0))) ;
X = ex(6, -, ex(12, -, ex(15, +, 0))) ;
X = ex(ex(15, -, 0), -, ex(12, +, 6)) ;
X = ex(12, +, ex(6, -, ex(15, -, 0))) ;
X = ex(12, -, ex(6, -, ex(15, -, 0))) ;
X = ex(6, +, ex(12, -, ex(15, -, 0))) ;
X = ex(6, -, ex(12, -, ex(15, -, 0))) ;
X = ex(ex(15, -, 0), +, ex(12, +, 6)) ;
X = ex(12, +, ex(6, +, ex(15, -, 0))) ;
X = ex(6, +, ex(12, +, ex(15, -, 0))) ;
false.

?-