Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 3 ?- permutation([r,b,g], P).
- P = [r, b, g] ;
- P = [b, r, g] ;
- P = [b, g, r] ;
- P = [r, g, b] ;
- P = [g, r, b] ;
- P = [g, b, r] ;
- permutation([],[]).
- permutation([X|L], P) :- permutation(L, L1), insert(X,L1,P).
- del(X, [X|Tail], Tail).
- del(X, [Y|Tail], [Y|Tail1]) :- del(X, Tail, Tail1).
- insert(X, List, BiggerList) :- del(X, BiggerList, List).
- trace,permutation([r,b,g],P).
- Call: (8) permutation([r, b, g], _G1534) ? creep
- Call: (9) permutation([b, g], _G1958) ? creep
- Call: (10) permutation([g], _G1958) ? creep
- Call: (11) permutation([], _G1958) ? creep
- Exit: (11) permutation([], []) ? creep
- Call: (11) insert(g, [], _G1959) ? creep
- Call: (12) del(g, _G1958, []) ? creep
- Exit: (12) del(g, [g], []) ? creep
- Exit: (11) insert(g, [], [g]) ? creep
- Exit: (10) permutation([g], [g]) ? creep
- Call: (10) insert(b, [g], _G1962) ? creep
- Call: (11) del(b, _G1961, [g]) ? creep
- Exit: (11) del(b, [b, g], [g]) ? creep
- Exit: (10) insert(b, [g], [b, g]) ? creep
- Exit: (9) permutation([b, g], [b, g]) ? creep
- Call: (9) insert(r, [b, g], _G1534) ? creep
- Call: (10) del(r, _G1534, [b, g]) ? creep
- Exit: (10) del(r, [r, b, g], [b, g]) ? creep
- Exit: (9) insert(r, [b, g], [r, b, g]) ? creep
- Exit: (8) permutation([r, b, g], [r, b, g]) ? creep
- P = [r, b, g] ;
- Redo: (10) del(r, _G1534, [b, g]) ? creep
- Call: (11) del(r, _G1957, [g]) ? creep
- Exit: (11) del(r, [r, g], [g]) ? creep
- Exit: (10) del(r, [b, r, g], [b, g]) ? creep
- Exit: (9) insert(r, [b, g], [b, r, g]) ? creep
- Exit: (8) permutation([r, b, g], [b, r, g]) ? creep
- P = [b, r, g] ;
- Redo: (11) del(r, _G1957, [g]) ? creep
- Call: (12) del(r, _G1960, []) ? creep
- Exit: (12) del(r, [r], []) ? creep
- Exit: (11) del(r, [g, r], [g]) ? creep
- Exit: (10) del(r, [b, g, r], [b, g]) ? creep
- Exit: (9) insert(r, [b, g], [b, g, r]) ? creep
- Exit: (8) permutation([r, b, g], [b, g, r]) ? creep
- P = [b, g, r] ;
- Redo: (12) del(r, _G1960, []) ? creep
- Fail: (12) del(r, _G1960, []) ? creep
- Fail: (11) del(r, _G1957, [g]) ? creep
- Fail: (10) del(r, _G1534, [b, g]) ? creep
- Fail: (9) insert(r, [b, g], _G1534) ? creep
- Redo: (11) del(b, _G1961, [g]) ? creep
- Call: (12) del(b, _G1954, []) ? creep
- Exit: (12) del(b, [b], []) ? creep
- Exit: (11) del(b, [g, b], [g]) ? creep
- Exit: (10) insert(b, [g], [g, b]) ? creep
- Exit: (9) permutation([b, g], [g, b]) ? creep
- Call: (9) insert(r, [g, b], _G1534) ? creep
- Call: (10) del(r, _G1534, [g, b]) ? creep
- Exit: (10) del(r, [r, g, b], [g, b]) ? creep
- Exit: (9) insert(r, [g, b], [r, g, b]) ? creep
- Exit: (8) permutation([r, b, g], [r, g, b]) ? creep
- P = [r, g, b] ;
- Redo: (10) del(r, _G1534, [g, b]) ? creep
- Call: (11) del(r, _G1960, [b]) ? creep
- Exit: (11) del(r, [r, b], [b]) ? creep
- Exit: (10) del(r, [g, r, b], [g, b]) ? creep
- Exit: (9) insert(r, [g, b], [g, r, b]) ? creep
- Exit: (8) permutation([r, b, g], [g, r, b]) ? creep
- P = [g, r, b] ;
- Redo: (11) del(r, _G1960, [b]) ? creep
- Call: (12) del(r, _G1963, []) ? creep
- Exit: (12) del(r, [r], []) ? creep
- Exit: (11) del(r, [b, r], [b]) ? creep
- Exit: (10) del(r, [g, b, r], [g, b]) ? creep
- Exit: (9) insert(r, [g, b], [g, b, r]) ? creep
- Exit: (8) permutation([r, b, g], [g, b, r]) ? creep
- P = [g, b, r] ;
- Redo: (12) del(r, _G1963, []) ? creep
- Fail: (12) del(r, _G1963, []) ? creep
- Fail: (11) del(r, _G1960, [b]) ? creep
- Fail: (10) del(r, _G1534, [g, b]) ? creep
- Fail: (9) insert(r, [g, b], _G1534) ? creep
- Redo: (12) del(b, _G1954, []) ? creep
- Fail: (12) del(b, _G1954, []) ? creep
- Fail: (11) del(b, _G1961, [g]) ? creep
- Fail: (10) insert(b, [g], _G1962) ? creep
- Redo: (12) del(g, _G1958, []) ? creep
- Fail: (12) del(g, _G1958, []) ? creep
- Fail: (11) insert(g, [], _G1959) ? creep
- Fail: (10) permutation([g], _G1958) ? creep
- Fail: (9) permutation([b, g], _G1958) ? creep
- Fail: (8) permutation([r, b, g], _G1534) ? creep
- false.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement