Advertisement
Guest User

prolog

a guest
Jul 27th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.97 KB | None | 0 0
  1. 3 ?- permutation([r,b,g], P).
  2. P = [r, b, g] ;
  3. P = [b, r, g] ;
  4. P = [b, g, r] ;
  5. P = [r, g, b] ;
  6. P = [g, r, b] ;
  7. P = [g, b, r] ;
  8.  
  9. permutation([],[]).
  10. permutation([X|L], P) :- permutation(L, L1), insert(X,L1,P).
  11.  
  12. del(X, [X|Tail], Tail).
  13. del(X, [Y|Tail], [Y|Tail1]) :- del(X, Tail, Tail1).
  14.  
  15. insert(X, List, BiggerList) :- del(X, BiggerList, List).
  16.  
  17. trace,permutation([r,b,g],P).
  18. Call: (8) permutation([r, b, g], _G1534) ? creep
  19. Call: (9) permutation([b, g], _G1958) ? creep
  20. Call: (10) permutation([g], _G1958) ? creep
  21. Call: (11) permutation([], _G1958) ? creep
  22. Exit: (11) permutation([], []) ? creep
  23. Call: (11) insert(g, [], _G1959) ? creep
  24. Call: (12) del(g, _G1958, []) ? creep
  25. Exit: (12) del(g, [g], []) ? creep
  26. Exit: (11) insert(g, [], [g]) ? creep
  27. Exit: (10) permutation([g], [g]) ? creep
  28. Call: (10) insert(b, [g], _G1962) ? creep
  29. Call: (11) del(b, _G1961, [g]) ? creep
  30. Exit: (11) del(b, [b, g], [g]) ? creep
  31. Exit: (10) insert(b, [g], [b, g]) ? creep
  32. Exit: (9) permutation([b, g], [b, g]) ? creep
  33. Call: (9) insert(r, [b, g], _G1534) ? creep
  34. Call: (10) del(r, _G1534, [b, g]) ? creep
  35. Exit: (10) del(r, [r, b, g], [b, g]) ? creep
  36. Exit: (9) insert(r, [b, g], [r, b, g]) ? creep
  37. Exit: (8) permutation([r, b, g], [r, b, g]) ? creep
  38. P = [r, b, g] ;
  39. Redo: (10) del(r, _G1534, [b, g]) ? creep
  40. Call: (11) del(r, _G1957, [g]) ? creep
  41. Exit: (11) del(r, [r, g], [g]) ? creep
  42. Exit: (10) del(r, [b, r, g], [b, g]) ? creep
  43. Exit: (9) insert(r, [b, g], [b, r, g]) ? creep
  44. Exit: (8) permutation([r, b, g], [b, r, g]) ? creep
  45. P = [b, r, g] ;
  46. Redo: (11) del(r, _G1957, [g]) ? creep
  47. Call: (12) del(r, _G1960, []) ? creep
  48. Exit: (12) del(r, [r], []) ? creep
  49. Exit: (11) del(r, [g, r], [g]) ? creep
  50. Exit: (10) del(r, [b, g, r], [b, g]) ? creep
  51. Exit: (9) insert(r, [b, g], [b, g, r]) ? creep
  52. Exit: (8) permutation([r, b, g], [b, g, r]) ? creep
  53. P = [b, g, r] ;
  54. Redo: (12) del(r, _G1960, []) ? creep
  55. Fail: (12) del(r, _G1960, []) ? creep
  56. Fail: (11) del(r, _G1957, [g]) ? creep
  57. Fail: (10) del(r, _G1534, [b, g]) ? creep
  58. Fail: (9) insert(r, [b, g], _G1534) ? creep
  59. Redo: (11) del(b, _G1961, [g]) ? creep
  60. Call: (12) del(b, _G1954, []) ? creep
  61. Exit: (12) del(b, [b], []) ? creep
  62. Exit: (11) del(b, [g, b], [g]) ? creep
  63. Exit: (10) insert(b, [g], [g, b]) ? creep
  64. Exit: (9) permutation([b, g], [g, b]) ? creep
  65. Call: (9) insert(r, [g, b], _G1534) ? creep
  66. Call: (10) del(r, _G1534, [g, b]) ? creep
  67. Exit: (10) del(r, [r, g, b], [g, b]) ? creep
  68. Exit: (9) insert(r, [g, b], [r, g, b]) ? creep
  69. Exit: (8) permutation([r, b, g], [r, g, b]) ? creep
  70. P = [r, g, b] ;
  71. Redo: (10) del(r, _G1534, [g, b]) ? creep
  72. Call: (11) del(r, _G1960, [b]) ? creep
  73. Exit: (11) del(r, [r, b], [b]) ? creep
  74. Exit: (10) del(r, [g, r, b], [g, b]) ? creep
  75. Exit: (9) insert(r, [g, b], [g, r, b]) ? creep
  76. Exit: (8) permutation([r, b, g], [g, r, b]) ? creep
  77. P = [g, r, b] ;
  78. Redo: (11) del(r, _G1960, [b]) ? creep
  79. Call: (12) del(r, _G1963, []) ? creep
  80. Exit: (12) del(r, [r], []) ? creep
  81. Exit: (11) del(r, [b, r], [b]) ? creep
  82. Exit: (10) del(r, [g, b, r], [g, b]) ? creep
  83. Exit: (9) insert(r, [g, b], [g, b, r]) ? creep
  84. Exit: (8) permutation([r, b, g], [g, b, r]) ? creep
  85. P = [g, b, r] ;
  86. Redo: (12) del(r, _G1963, []) ? creep
  87. Fail: (12) del(r, _G1963, []) ? creep
  88. Fail: (11) del(r, _G1960, [b]) ? creep
  89. Fail: (10) del(r, _G1534, [g, b]) ? creep
  90. Fail: (9) insert(r, [g, b], _G1534) ? creep
  91. Redo: (12) del(b, _G1954, []) ? creep
  92. Fail: (12) del(b, _G1954, []) ? creep
  93. Fail: (11) del(b, _G1961, [g]) ? creep
  94. Fail: (10) insert(b, [g], _G1962) ? creep
  95. Redo: (12) del(g, _G1958, []) ? creep
  96. Fail: (12) del(g, _G1958, []) ? creep
  97. Fail: (11) insert(g, [], _G1959) ? creep
  98. Fail: (10) permutation([g], _G1958) ? creep
  99. Fail: (9) permutation([b, g], _G1958) ? creep
  100. Fail: (8) permutation([r, b, g], _G1534) ? creep
  101. false.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement