swi-prologに.proの拡張子を読み込ませ、述語mainを自動実行させる
コマンドラインでは .proを読んでもらえないので -sオプションをつけてファイルを指定。
qオプションでメッセージを抑制、tオプションで実行する述語を指定。
$ cat test2.pro main :- time((permutation([1, 2, 3, 4, 5, 6, 7, 8, 9], [A, B, C, D, E, F, G, H, I]),X is A+B+C,X is D+E+F,X is G+H+I,X is A+D+G,X is B+E+H,X is C+F+I,X is A+E+I,X is C+E+G,print([A,B,C,D,E,F,G,H,I,X]),nl,fail)). $ pl -q -s test2.pro -t main [6, 1, 8, 7, 5, 3, 2, 9, 4, 15] [8, 1, 6, 3, 5, 7, 4, 9, 2, 15] [8, 3, 4, 1, 5, 9, 6, 7, 2, 15] [4, 3, 8, 9, 5, 1, 2, 7, 6, 15] [6, 7, 2, 1, 5, 9, 8, 3, 4, 15] [2, 7, 6, 9, 5, 1, 4, 3, 8, 15] [2, 9, 4, 7, 5, 3, 6, 1, 8, 15] [4, 9, 2, 3, 5, 7, 8, 1, 6, 15] $