hasHamiltonianPath(graph, true).
hamiltonianPath(graph, [v1, v2, v3, v6, v4, v5]).
hamiltonianPath(graph, [v1, v2, v6, v3, v4, v5]).
hamiltonianPath(graph, [v1, v3, v2, v6, v4, v5]).
hamiltonianPath(graph, [v1, v3, v6, v2, v4, v5]).
hamiltonianPath(graph, [v1, v5, v4, v2, v3, v6]).
hamiltonianPath(graph, [v1, v5, v4, v2, v6, v3]).
hamiltonianPath(graph, [v1, v5, v4, v3, v2, v6]).
hamiltonianPath(graph, [v1, v5, v4, v3, v6, v2]).
hamiltonianPath(graph, [v1, v5, v4, v6, v2, v3]).
hamiltonianPath(graph, [v1, v5, v4, v6, v3, v2]).
hamiltonianPath(graph, [v1, v6, v2, v3, v4, v5]).
hamiltonianPath(graph, [v1, v6, v3, v2, v4, v5]).
hamiltonianPath(graph, [v2, v1, v3, v6, v4, v5]).
hamiltonianPath(graph, [v2, v1, v5, v4, v3, v6]).
hamiltonianPath(graph, [v2, v1, v5, v4, v6, v3]).
hamiltonianPath(graph, [v2, v1, v6, v3, v4, v5]).
hamiltonianPath(graph, [v2, v3, v1, v5, v4, v6]).
hamiltonianPath(graph, [v2, v3, v1, v6, v4, v5]).
hamiltonianPath(graph, [v2, v3, v4, v5, v1, v6]).
hamiltonianPath(graph, [v2, v3, v4, v6, v1, v5]).
hamiltonianPath(graph, [v2, v3, v6, v1, v5, v4]).
hamiltonianPath(graph, [v2, v3, v6, v4, v5, v1]).
hamiltonianPath(graph, [v2, v4, v3, v6, v1, v5]).
hamiltonianPath(graph, [v2, v4, v5, v1, v3, v6]).
hamiltonianPath(graph, [v2, v4, v5, v1, v6, v3]).
hamiltonianPath(graph, [v2, v4, v6, v3, v1, v5]).
hamiltonianPath(graph, [v2, v6, v1, v3, v4, v5]).
hamiltonianPath(graph, [v2, v6, v1, v5, v4, v3]).
hamiltonianPath(graph, [v2, v6, v3, v1, v5, v4]).
hamiltonianPath(graph, [v2, v6, v3, v4, v5, v1]).
hamiltonianPath(graph, [v2, v6, v4, v3, v1, v5]).
hamiltonianPath(graph, [v2, v6, v4, v5, v1, v3]).
hamiltonianPath(graph, [v3, v1, v2, v6, v4, v5]).
hamiltonianPath(graph, [v3, v1, v5, v4, v2, v6]).
hamiltonianPath(graph, [v3, v1, v5, v4, v6, v2]).
hamiltonianPath(graph, [v3, v1, v6, v2, v4, v5]).
hamiltonianPath(graph, [v3, v2, v1, v5, v4, v6]).
hamiltonianPath(graph, [v3, v2, v1, v6, v4, v5]).
hamiltonianPath(graph, [v3, v2, v4, v5, v1, v6]).
hamiltonianPath(graph, [v3, v2, v4, v6, v1, v5]).
hamiltonianPath(graph, [v3, v2, v6, v1, v5, v4]).
hamiltonianPath(graph, [v3, v2, v6, v4, v5, v1]).
hamiltonianPath(graph, [v3, v4, v2, v6, v1, v5]).
hamiltonianPath(graph, [v3, v4, v5, v1, v2, v6]).
hamiltonianPath(graph, [v3, v4, v5, v1, v6, v2]).
hamiltonianPath(graph, [v3, v4, v6, v2, v1, v5]).
hamiltonianPath(graph, [v3, v6, v1, v2, v4, v5]).
hamiltonianPath(graph, [v3, v6, v1, v5, v4, v2]).
hamiltonianPath(graph, [v3, v6, v2, v1, v5, v4]).
hamiltonianPath(graph, [v3, v6, v2, v4, v5, v1]).
hamiltonianPath(graph, [v3, v6, v4, v2, v1, v5]).
hamiltonianPath(graph, [v3, v6, v4, v5, v1, v2]).
hamiltonianPath(graph, [v4, v2, v3, v6, v1, v5]).
hamiltonianPath(graph, [v4, v2, v6, v3, v1, v5]).
hamiltonianPath(graph, [v4, v3, v2, v6, v1, v5]).
hamiltonianPath(graph, [v4, v3, v6, v2, v1, v5]).
hamiltonianPath(graph, [v4, v5, v1, v2, v3, v6]).
hamiltonianPath(graph, [v4, v5, v1, v2, v6, v3]).
hamiltonianPath(graph, [v4, v5, v1, v3, v2, v6]).
hamiltonianPath(graph, [v4, v5, v1, v3, v6, v2]).
hamiltonianPath(graph, [v4, v5, v1, v6, v2, v3]).
hamiltonianPath(graph, [v4, v5, v1, v6, v3, v2]).
hamiltonianPath(graph, [v4, v6, v2, v3, v1, v5]).
hamiltonianPath(graph, [v4, v6, v3, v2, v1, v5]).
hamiltonianPath(graph, [v5, v1, v2, v3, v4, v6]).
hamiltonianPath(graph, [v5, v1, v2, v3, v6, v4]).
hamiltonianPath(graph, [v5, v1, v2, v4, v3, v6]).
hamiltonianPath(graph, [v5, v1, v2, v4, v6, v3]).
hamiltonianPath(graph, [v5, v1, v2, v6, v3, v4]).
hamiltonianPath(graph, [v5, v1, v2, v6, v4, v3]).
hamiltonianPath(graph, [v5, v1, v3, v2, v4, v6]).
hamiltonianPath(graph, [v5, v1, v3, v2, v6, v4]).
hamiltonianPath(graph, [v5, v1, v3, v4, v2, v6]).
hamiltonianPath(graph, [v5, v1, v3, v4, v6, v2]).
hamiltonianPath(graph, [v5, v1, v3, v6, v2, v4]).
hamiltonianPath(graph, [v5, v1, v3, v6, v4, v2]).
hamiltonianPath(graph, [v5, v1, v6, v2, v3, v4]).
hamiltonianPath(graph, [v5, v1, v6, v2, v4, v3]).
hamiltonianPath(graph, [v5, v1, v6, v3, v2, v4]).
hamiltonianPath(graph, [v5, v1, v6, v3, v4, v2]).
hamiltonianPath(graph, [v5, v1, v6, v4, v2, v3]).
hamiltonianPath(graph, [v5, v1, v6, v4, v3, v2]).
hamiltonianPath(graph, [v5, v4, v2, v1, v3, v6]).
hamiltonianPath(graph, [v5, v4, v2, v1, v6, v3]).
hamiltonianPath(graph, [v5, v4, v2, v3, v1, v6]).
hamiltonianPath(graph, [v5, v4, v2, v3, v6, v1]).
hamiltonianPath(graph, [v5, v4, v2, v6, v1, v3]).
hamiltonianPath(graph, [v5, v4, v2, v6, v3, v1]).
hamiltonianPath(graph, [v5, v4, v3, v1, v2, v6]).
hamiltonianPath(graph, [v5, v4, v3, v1, v6, v2]).
hamiltonianPath(graph, [v5, v4, v3, v2, v1, v6]).
hamiltonianPath(graph, [v5, v4, v3, v2, v6, v1]).
hamiltonianPath(graph, [v5, v4, v3, v6, v1, v2]).
hamiltonianPath(graph, [v5, v4, v3, v6, v2, v1]).
hamiltonianPath(graph, [v5, v4, v6, v1, v2, v3]).
hamiltonianPath(graph, [v5, v4, v6, v1, v3, v2]).
hamiltonianPath(graph, [v5, v4, v6, v2, v1, v3]).
hamiltonianPath(graph, [v5, v4, v6, v2, v3, v1]).
hamiltonianPath(graph, [v5, v4, v6, v3, v1, v2]).
hamiltonianPath(graph, [v5, v4, v6, v3, v2, v1]).
hamiltonianPath(graph, [v6, v1, v2, v3, v4, v5]).
hamiltonianPath(graph, [v6, v1, v3, v2, v4, v5]).
hamiltonianPath(graph, [v6, v1, v5, v4, v2, v3]).
hamiltonianPath(graph, [v6, v1, v5, v4, v3, v2]).
hamiltonianPath(graph, [v6, v2, v1, v3, v4, v5]).
hamiltonianPath(graph, [v6, v2, v1, v5, v4, v3]).
hamiltonianPath(graph, [v6, v2, v3, v1, v5, v4]).
hamiltonianPath(graph, [v6, v2, v3, v4, v5, v1]).
hamiltonianPath(graph, [v6, v2, v4, v3, v1, v5]).
hamiltonianPath(graph, [v6, v2, v4, v5, v1, v3]).
hamiltonianPath(graph, [v6, v3, v1, v2, v4, v5]).
hamiltonianPath(graph, [v6, v3, v1, v5, v4, v2]).
hamiltonianPath(graph, [v6, v3, v2, v1, v5, v4]).
hamiltonianPath(graph, [v6, v3, v2, v4, v5, v1]).
hamiltonianPath(graph, [v6, v3, v4, v2, v1, v5]).
hamiltonianPath(graph, [v6, v3, v4, v5, v1, v2]).
hamiltonianPath(graph, [v6, v4, v2, v3, v1, v5]).
hamiltonianPath(graph, [v6, v4, v3, v2, v1, v5]).
hamiltonianPath(graph, [v6, v4, v5, v1, v2, v3]).
hamiltonianPath(graph, [v6, v4, v5, v1, v3, v2]).

clause(1, edge(v1, v2), true).
clause(2, edge(v1, v3), true).
clause(3, edge(v1, v5), true).
clause(4, edge(v1, v6), true).
clause(5, edge(v2, v3), true).
clause(6, edge(v2, v4), true).
clause(7, edge(v2, v6), true).
clause(8, edge(v3, v4), true).
clause(9, edge(v3, v6), true).
clause(10, edge(v4, v5), true).
clause(11, edge(v4, v6), true).
clause(12, adjacent(var('V'), var('U')), edge(var('V'), var('U'))).
clause(13, adjacent(var('V'), var('U')), edge(var('U'), var('V'))).
clause(14, vertex(v1), true).
clause(15, vertex(v2), true).
clause(16, vertex(v3), true).
clause(17, vertex(v4), true).
clause(18, vertex(v5), true).
clause(19, vertex(v6), true).
clause(20,
       hamiltonian_path([var('A'), var('B'), var('C'), var('D'), var('E'), var('F')]),
       (vertex(var('A')),
        vertex(var('B')),
        adjacent(var('A'), var('B')),
        \+ member(var('B'), [var('A')]),
        vertex(var('C')),
        adjacent(var('B'), var('C')),
        \+ member(var('C'), [var('A'), var('B')]),
        vertex(var('D')),
        adjacent(var('C'), var('D')),
        \+ member(var('D'), [var('A'), var('B'), var('C')]),
        vertex(var('E')),
        adjacent(var('D'), var('E')),
        \+ member(var('E'), [var('A'), var('B'), var('C'), var('D')]),
        vertex(var('F')),
        adjacent(var('E'), var('F')),
        \+ member(var('F'), [var('A'), var('B'), var('C'), var('D'), var('E')]))).
clause(21, hasHamiltonianPath(graph, true), hamiltonian_path(anonymous(1))).
clause(22, hamiltonianPath(graph, var('Path')), hamiltonian_path(var('Path'))).

step(hasHamiltonianPath(graph, true),
     rule(21),
     [],
     [hamiltonian_path([v1, v2, v3, v6, v4, v5])]).
step(hamiltonian_path([v1, v2, v3, v6, v4, v5]),
     rule(20),
     ['A' = v1, 'B' = v2, 'C' = v3, 'D' = v6, 'E' = v4, 'F' = v5],
     [vertex(v1),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v1]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v1, v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v1, v2, v3]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v1, v2, v3, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v1, v2, v3, v6, v4])]).
step(vertex(v1), fact(14), [], []).
step(vertex(v2), fact(15), [], []).
step(adjacent(v1, v2), rule(12), ['V' = v1, 'U' = v2], [edge(v1, v2)]).
step(edge(v1, v2), fact(1), [], []).
step(\+ member(v2, [v1]), absent, [], []).
step(vertex(v3), fact(16), [], []).
step(adjacent(v2, v3), rule(12), ['V' = v2, 'U' = v3], [edge(v2, v3)]).
step(edge(v2, v3), fact(5), [], []).
step(\+ member(v3, [v1, v2]), absent, [], []).
step(vertex(v6), fact(19), [], []).
step(adjacent(v3, v6), rule(12), ['V' = v3, 'U' = v6], [edge(v3, v6)]).
step(edge(v3, v6), fact(9), [], []).
step(\+ member(v6, [v1, v2, v3]), absent, [], []).
step(vertex(v4), fact(17), [], []).
step(adjacent(v6, v4), rule(13), ['V' = v6, 'U' = v4], [edge(v4, v6)]).
step(edge(v4, v6), fact(11), [], []).
step(\+ member(v4, [v1, v2, v3, v6]), absent, [], []).
step(vertex(v5), fact(18), [], []).
step(adjacent(v4, v5), rule(12), ['V' = v4, 'U' = v5], [edge(v4, v5)]).
step(edge(v4, v5), fact(10), [], []).
step(\+ member(v5, [v1, v2, v3, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v1, v2, v3, v6, v4, v5]),
     rule(22),
     ['Path' = [v1, v2, v3, v6, v4, v5]],
     [hamiltonian_path([v1, v2, v3, v6, v4, v5])]).
step(hamiltonianPath(graph, [v1, v2, v6, v3, v4, v5]),
     rule(22),
     ['Path' = [v1, v2, v6, v3, v4, v5]],
     [hamiltonian_path([v1, v2, v6, v3, v4, v5])]).
step(hamiltonian_path([v1, v2, v6, v3, v4, v5]),
     rule(20),
     ['A' = v1, 'B' = v2, 'C' = v6, 'D' = v3, 'E' = v4, 'F' = v5],
     [vertex(v1),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v1]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v1, v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v1, v2, v6]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v1, v2, v6, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v1, v2, v6, v3, v4])]).
step(adjacent(v2, v6), rule(12), ['V' = v2, 'U' = v6], [edge(v2, v6)]).
step(edge(v2, v6), fact(7), [], []).
step(\+ member(v6, [v1, v2]), absent, [], []).
step(adjacent(v6, v3), rule(13), ['V' = v6, 'U' = v3], [edge(v3, v6)]).
step(\+ member(v3, [v1, v2, v6]), absent, [], []).
step(adjacent(v3, v4), rule(12), ['V' = v3, 'U' = v4], [edge(v3, v4)]).
step(edge(v3, v4), fact(8), [], []).
step(\+ member(v4, [v1, v2, v6, v3]), absent, [], []).
step(\+ member(v5, [v1, v2, v6, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v1, v3, v2, v6, v4, v5]),
     rule(22),
     ['Path' = [v1, v3, v2, v6, v4, v5]],
     [hamiltonian_path([v1, v3, v2, v6, v4, v5])]).
step(hamiltonian_path([v1, v3, v2, v6, v4, v5]),
     rule(20),
     ['A' = v1, 'B' = v3, 'C' = v2, 'D' = v6, 'E' = v4, 'F' = v5],
     [vertex(v1),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v1]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v1, v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v1, v3, v2]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v1, v3, v2, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v1, v3, v2, v6, v4])]).
step(adjacent(v1, v3), rule(12), ['V' = v1, 'U' = v3], [edge(v1, v3)]).
step(edge(v1, v3), fact(2), [], []).
step(\+ member(v3, [v1]), absent, [], []).
step(adjacent(v3, v2), rule(13), ['V' = v3, 'U' = v2], [edge(v2, v3)]).
step(\+ member(v2, [v1, v3]), absent, [], []).
step(\+ member(v6, [v1, v3, v2]), absent, [], []).
step(\+ member(v4, [v1, v3, v2, v6]), absent, [], []).
step(\+ member(v5, [v1, v3, v2, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v1, v3, v6, v2, v4, v5]),
     rule(22),
     ['Path' = [v1, v3, v6, v2, v4, v5]],
     [hamiltonian_path([v1, v3, v6, v2, v4, v5])]).
step(hamiltonian_path([v1, v3, v6, v2, v4, v5]),
     rule(20),
     ['A' = v1, 'B' = v3, 'C' = v6, 'D' = v2, 'E' = v4, 'F' = v5],
     [vertex(v1),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v1]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v1, v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v1, v3, v6]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v1, v3, v6, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v1, v3, v6, v2, v4])]).
step(\+ member(v6, [v1, v3]), absent, [], []).
step(adjacent(v6, v2), rule(13), ['V' = v6, 'U' = v2], [edge(v2, v6)]).
step(\+ member(v2, [v1, v3, v6]), absent, [], []).
step(adjacent(v2, v4), rule(12), ['V' = v2, 'U' = v4], [edge(v2, v4)]).
step(edge(v2, v4), fact(6), [], []).
step(\+ member(v4, [v1, v3, v6, v2]), absent, [], []).
step(\+ member(v5, [v1, v3, v6, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v1, v5, v4, v2, v3, v6]),
     rule(22),
     ['Path' = [v1, v5, v4, v2, v3, v6]],
     [hamiltonian_path([v1, v5, v4, v2, v3, v6])]).
step(hamiltonian_path([v1, v5, v4, v2, v3, v6]),
     rule(20),
     ['A' = v1, 'B' = v5, 'C' = v4, 'D' = v2, 'E' = v3, 'F' = v6],
     [vertex(v1),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v1, v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v1, v5, v4]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v1, v5, v4, v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v1, v5, v4, v2, v3])]).
step(adjacent(v1, v5), rule(12), ['V' = v1, 'U' = v5], [edge(v1, v5)]).
step(edge(v1, v5), fact(3), [], []).
step(\+ member(v5, [v1]), absent, [], []).
step(adjacent(v5, v4), rule(13), ['V' = v5, 'U' = v4], [edge(v4, v5)]).
step(\+ member(v4, [v1, v5]), absent, [], []).
step(adjacent(v4, v2), rule(13), ['V' = v4, 'U' = v2], [edge(v2, v4)]).
step(\+ member(v2, [v1, v5, v4]), absent, [], []).
step(\+ member(v3, [v1, v5, v4, v2]), absent, [], []).
step(\+ member(v6, [v1, v5, v4, v2, v3]), absent, [], []).
step(hamiltonianPath(graph, [v1, v5, v4, v2, v6, v3]),
     rule(22),
     ['Path' = [v1, v5, v4, v2, v6, v3]],
     [hamiltonian_path([v1, v5, v4, v2, v6, v3])]).
step(hamiltonian_path([v1, v5, v4, v2, v6, v3]),
     rule(20),
     ['A' = v1, 'B' = v5, 'C' = v4, 'D' = v2, 'E' = v6, 'F' = v3],
     [vertex(v1),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v1, v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v1, v5, v4]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v1, v5, v4, v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v1, v5, v4, v2, v6])]).
step(\+ member(v6, [v1, v5, v4, v2]), absent, [], []).
step(\+ member(v3, [v1, v5, v4, v2, v6]), absent, [], []).
step(hamiltonianPath(graph, [v1, v5, v4, v3, v2, v6]),
     rule(22),
     ['Path' = [v1, v5, v4, v3, v2, v6]],
     [hamiltonian_path([v1, v5, v4, v3, v2, v6])]).
step(hamiltonian_path([v1, v5, v4, v3, v2, v6]),
     rule(20),
     ['A' = v1, 'B' = v5, 'C' = v4, 'D' = v3, 'E' = v2, 'F' = v6],
     [vertex(v1),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v1, v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v1, v5, v4]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v1, v5, v4, v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v1, v5, v4, v3, v2])]).
step(adjacent(v4, v3), rule(13), ['V' = v4, 'U' = v3], [edge(v3, v4)]).
step(\+ member(v3, [v1, v5, v4]), absent, [], []).
step(\+ member(v2, [v1, v5, v4, v3]), absent, [], []).
step(\+ member(v6, [v1, v5, v4, v3, v2]), absent, [], []).
step(hamiltonianPath(graph, [v1, v5, v4, v3, v6, v2]),
     rule(22),
     ['Path' = [v1, v5, v4, v3, v6, v2]],
     [hamiltonian_path([v1, v5, v4, v3, v6, v2])]).
step(hamiltonian_path([v1, v5, v4, v3, v6, v2]),
     rule(20),
     ['A' = v1, 'B' = v5, 'C' = v4, 'D' = v3, 'E' = v6, 'F' = v2],
     [vertex(v1),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v1, v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v1, v5, v4]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v1, v5, v4, v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v1, v5, v4, v3, v6])]).
step(\+ member(v6, [v1, v5, v4, v3]), absent, [], []).
step(\+ member(v2, [v1, v5, v4, v3, v6]), absent, [], []).
step(hamiltonianPath(graph, [v1, v5, v4, v6, v2, v3]),
     rule(22),
     ['Path' = [v1, v5, v4, v6, v2, v3]],
     [hamiltonian_path([v1, v5, v4, v6, v2, v3])]).
step(hamiltonian_path([v1, v5, v4, v6, v2, v3]),
     rule(20),
     ['A' = v1, 'B' = v5, 'C' = v4, 'D' = v6, 'E' = v2, 'F' = v3],
     [vertex(v1),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v1, v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v1, v5, v4]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v1, v5, v4, v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v1, v5, v4, v6, v2])]).
step(adjacent(v4, v6), rule(12), ['V' = v4, 'U' = v6], [edge(v4, v6)]).
step(\+ member(v6, [v1, v5, v4]), absent, [], []).
step(\+ member(v2, [v1, v5, v4, v6]), absent, [], []).
step(\+ member(v3, [v1, v5, v4, v6, v2]), absent, [], []).
step(hamiltonianPath(graph, [v1, v5, v4, v6, v3, v2]),
     rule(22),
     ['Path' = [v1, v5, v4, v6, v3, v2]],
     [hamiltonian_path([v1, v5, v4, v6, v3, v2])]).
step(hamiltonian_path([v1, v5, v4, v6, v3, v2]),
     rule(20),
     ['A' = v1, 'B' = v5, 'C' = v4, 'D' = v6, 'E' = v3, 'F' = v2],
     [vertex(v1),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v1, v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v1, v5, v4]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v1, v5, v4, v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v1, v5, v4, v6, v3])]).
step(\+ member(v3, [v1, v5, v4, v6]), absent, [], []).
step(\+ member(v2, [v1, v5, v4, v6, v3]), absent, [], []).
step(hamiltonianPath(graph, [v1, v6, v2, v3, v4, v5]),
     rule(22),
     ['Path' = [v1, v6, v2, v3, v4, v5]],
     [hamiltonian_path([v1, v6, v2, v3, v4, v5])]).
step(hamiltonian_path([v1, v6, v2, v3, v4, v5]),
     rule(20),
     ['A' = v1, 'B' = v6, 'C' = v2, 'D' = v3, 'E' = v4, 'F' = v5],
     [vertex(v1),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v1]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v1, v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v1, v6, v2]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v1, v6, v2, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v1, v6, v2, v3, v4])]).
step(adjacent(v1, v6), rule(12), ['V' = v1, 'U' = v6], [edge(v1, v6)]).
step(edge(v1, v6), fact(4), [], []).
step(\+ member(v6, [v1]), absent, [], []).
step(\+ member(v2, [v1, v6]), absent, [], []).
step(\+ member(v3, [v1, v6, v2]), absent, [], []).
step(\+ member(v4, [v1, v6, v2, v3]), absent, [], []).
step(\+ member(v5, [v1, v6, v2, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v1, v6, v3, v2, v4, v5]),
     rule(22),
     ['Path' = [v1, v6, v3, v2, v4, v5]],
     [hamiltonian_path([v1, v6, v3, v2, v4, v5])]).
step(hamiltonian_path([v1, v6, v3, v2, v4, v5]),
     rule(20),
     ['A' = v1, 'B' = v6, 'C' = v3, 'D' = v2, 'E' = v4, 'F' = v5],
     [vertex(v1),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v1]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v1, v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v1, v6, v3]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v1, v6, v3, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v1, v6, v3, v2, v4])]).
step(\+ member(v3, [v1, v6]), absent, [], []).
step(\+ member(v2, [v1, v6, v3]), absent, [], []).
step(\+ member(v4, [v1, v6, v3, v2]), absent, [], []).
step(\+ member(v5, [v1, v6, v3, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v2, v1, v3, v6, v4, v5]),
     rule(22),
     ['Path' = [v2, v1, v3, v6, v4, v5]],
     [hamiltonian_path([v2, v1, v3, v6, v4, v5])]).
step(hamiltonian_path([v2, v1, v3, v6, v4, v5]),
     rule(20),
     ['A' = v2, 'B' = v1, 'C' = v3, 'D' = v6, 'E' = v4, 'F' = v5],
     [vertex(v2),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v2]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v2, v1]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v2, v1, v3]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v2, v1, v3, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v1, v3, v6, v4])]).
step(adjacent(v2, v1), rule(13), ['V' = v2, 'U' = v1], [edge(v1, v2)]).
step(\+ member(v1, [v2]), absent, [], []).
step(\+ member(v3, [v2, v1]), absent, [], []).
step(\+ member(v6, [v2, v1, v3]), absent, [], []).
step(\+ member(v4, [v2, v1, v3, v6]), absent, [], []).
step(\+ member(v5, [v2, v1, v3, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v2, v1, v5, v4, v3, v6]),
     rule(22),
     ['Path' = [v2, v1, v5, v4, v3, v6]],
     [hamiltonian_path([v2, v1, v5, v4, v3, v6])]).
step(hamiltonian_path([v2, v1, v5, v4, v3, v6]),
     rule(20),
     ['A' = v2, 'B' = v1, 'C' = v5, 'D' = v4, 'E' = v3, 'F' = v6],
     [vertex(v2),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v2, v1, v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v2, v1, v5, v4]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v2, v1, v5, v4, v3])]).
step(\+ member(v5, [v2, v1]), absent, [], []).
step(\+ member(v4, [v2, v1, v5]), absent, [], []).
step(\+ member(v3, [v2, v1, v5, v4]), absent, [], []).
step(\+ member(v6, [v2, v1, v5, v4, v3]), absent, [], []).
step(hamiltonianPath(graph, [v2, v1, v5, v4, v6, v3]),
     rule(22),
     ['Path' = [v2, v1, v5, v4, v6, v3]],
     [hamiltonian_path([v2, v1, v5, v4, v6, v3])]).
step(hamiltonian_path([v2, v1, v5, v4, v6, v3]),
     rule(20),
     ['A' = v2, 'B' = v1, 'C' = v5, 'D' = v4, 'E' = v6, 'F' = v3],
     [vertex(v2),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v2, v1, v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v2, v1, v5, v4]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v2, v1, v5, v4, v6])]).
step(\+ member(v6, [v2, v1, v5, v4]), absent, [], []).
step(\+ member(v3, [v2, v1, v5, v4, v6]), absent, [], []).
step(hamiltonianPath(graph, [v2, v1, v6, v3, v4, v5]),
     rule(22),
     ['Path' = [v2, v1, v6, v3, v4, v5]],
     [hamiltonian_path([v2, v1, v6, v3, v4, v5])]).
step(hamiltonian_path([v2, v1, v6, v3, v4, v5]),
     rule(20),
     ['A' = v2, 'B' = v1, 'C' = v6, 'D' = v3, 'E' = v4, 'F' = v5],
     [vertex(v2),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v2]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v2, v1]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v2, v1, v6]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v2, v1, v6, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v1, v6, v3, v4])]).
step(\+ member(v6, [v2, v1]), absent, [], []).
step(\+ member(v3, [v2, v1, v6]), absent, [], []).
step(\+ member(v4, [v2, v1, v6, v3]), absent, [], []).
step(\+ member(v5, [v2, v1, v6, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v2, v3, v1, v5, v4, v6]),
     rule(22),
     ['Path' = [v2, v3, v1, v5, v4, v6]],
     [hamiltonian_path([v2, v3, v1, v5, v4, v6])]).
step(hamiltonian_path([v2, v3, v1, v5, v4, v6]),
     rule(20),
     ['A' = v2, 'B' = v3, 'C' = v1, 'D' = v5, 'E' = v4, 'F' = v6],
     [vertex(v2),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v2]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v2, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v3, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v2, v3, v1, v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v2, v3, v1, v5, v4])]).
step(\+ member(v3, [v2]), absent, [], []).
step(adjacent(v3, v1), rule(13), ['V' = v3, 'U' = v1], [edge(v1, v3)]).
step(\+ member(v1, [v2, v3]), absent, [], []).
step(\+ member(v5, [v2, v3, v1]), absent, [], []).
step(\+ member(v4, [v2, v3, v1, v5]), absent, [], []).
step(\+ member(v6, [v2, v3, v1, v5, v4]), absent, [], []).
step(hamiltonianPath(graph, [v2, v3, v1, v6, v4, v5]),
     rule(22),
     ['Path' = [v2, v3, v1, v6, v4, v5]],
     [hamiltonian_path([v2, v3, v1, v6, v4, v5])]).
step(hamiltonian_path([v2, v3, v1, v6, v4, v5]),
     rule(20),
     ['A' = v2, 'B' = v3, 'C' = v1, 'D' = v6, 'E' = v4, 'F' = v5],
     [vertex(v2),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v2]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v2, v3]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v2, v3, v1]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v2, v3, v1, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v3, v1, v6, v4])]).
step(\+ member(v6, [v2, v3, v1]), absent, [], []).
step(\+ member(v4, [v2, v3, v1, v6]), absent, [], []).
step(\+ member(v5, [v2, v3, v1, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v2, v3, v4, v5, v1, v6]),
     rule(22),
     ['Path' = [v2, v3, v4, v5, v1, v6]],
     [hamiltonian_path([v2, v3, v4, v5, v1, v6])]).
step(hamiltonian_path([v2, v3, v4, v5, v1, v6]),
     rule(20),
     ['A' = v2, 'B' = v3, 'C' = v4, 'D' = v5, 'E' = v1, 'F' = v6],
     [vertex(v2),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v2]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v2, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v3, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v2, v3, v4, v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v2, v3, v4, v5, v1])]).
step(\+ member(v4, [v2, v3]), absent, [], []).
step(\+ member(v5, [v2, v3, v4]), absent, [], []).
step(adjacent(v5, v1), rule(13), ['V' = v5, 'U' = v1], [edge(v1, v5)]).
step(\+ member(v1, [v2, v3, v4, v5]), absent, [], []).
step(\+ member(v6, [v2, v3, v4, v5, v1]), absent, [], []).
step(hamiltonianPath(graph, [v2, v3, v4, v6, v1, v5]),
     rule(22),
     ['Path' = [v2, v3, v4, v6, v1, v5]],
     [hamiltonian_path([v2, v3, v4, v6, v1, v5])]).
step(hamiltonian_path([v2, v3, v4, v6, v1, v5]),
     rule(20),
     ['A' = v2, 'B' = v3, 'C' = v4, 'D' = v6, 'E' = v1, 'F' = v5],
     [vertex(v2),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v2]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v2, v3]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v2, v3, v4]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v2, v3, v4, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v3, v4, v6, v1])]).
step(\+ member(v6, [v2, v3, v4]), absent, [], []).
step(adjacent(v6, v1), rule(13), ['V' = v6, 'U' = v1], [edge(v1, v6)]).
step(\+ member(v1, [v2, v3, v4, v6]), absent, [], []).
step(\+ member(v5, [v2, v3, v4, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v2, v3, v6, v1, v5, v4]),
     rule(22),
     ['Path' = [v2, v3, v6, v1, v5, v4]],
     [hamiltonian_path([v2, v3, v6, v1, v5, v4])]).
step(hamiltonian_path([v2, v3, v6, v1, v5, v4]),
     rule(20),
     ['A' = v2, 'B' = v3, 'C' = v6, 'D' = v1, 'E' = v5, 'F' = v4],
     [vertex(v2),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v2, v3]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v2, v3, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v3, v6, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v2, v3, v6, v1, v5])]).
step(\+ member(v6, [v2, v3]), absent, [], []).
step(\+ member(v1, [v2, v3, v6]), absent, [], []).
step(\+ member(v5, [v2, v3, v6, v1]), absent, [], []).
step(\+ member(v4, [v2, v3, v6, v1, v5]), absent, [], []).
step(hamiltonianPath(graph, [v2, v3, v6, v4, v5, v1]),
     rule(22),
     ['Path' = [v2, v3, v6, v4, v5, v1]],
     [hamiltonian_path([v2, v3, v6, v4, v5, v1])]).
step(hamiltonian_path([v2, v3, v6, v4, v5, v1]),
     rule(20),
     ['A' = v2, 'B' = v3, 'C' = v6, 'D' = v4, 'E' = v5, 'F' = v1],
     [vertex(v2),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v2, v3]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v2, v3, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v3, v6, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v2, v3, v6, v4, v5])]).
step(\+ member(v4, [v2, v3, v6]), absent, [], []).
step(\+ member(v5, [v2, v3, v6, v4]), absent, [], []).
step(\+ member(v1, [v2, v3, v6, v4, v5]), absent, [], []).
step(hamiltonianPath(graph, [v2, v4, v3, v6, v1, v5]),
     rule(22),
     ['Path' = [v2, v4, v3, v6, v1, v5]],
     [hamiltonian_path([v2, v4, v3, v6, v1, v5])]).
step(hamiltonian_path([v2, v4, v3, v6, v1, v5]),
     rule(20),
     ['A' = v2, 'B' = v4, 'C' = v3, 'D' = v6, 'E' = v1, 'F' = v5],
     [vertex(v2),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v2]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v2, v4]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v2, v4, v3]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v2, v4, v3, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v4, v3, v6, v1])]).
step(\+ member(v4, [v2]), absent, [], []).
step(\+ member(v3, [v2, v4]), absent, [], []).
step(\+ member(v6, [v2, v4, v3]), absent, [], []).
step(\+ member(v1, [v2, v4, v3, v6]), absent, [], []).
step(\+ member(v5, [v2, v4, v3, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v2, v4, v5, v1, v3, v6]),
     rule(22),
     ['Path' = [v2, v4, v5, v1, v3, v6]],
     [hamiltonian_path([v2, v4, v5, v1, v3, v6])]).
step(hamiltonian_path([v2, v4, v5, v1, v3, v6]),
     rule(20),
     ['A' = v2, 'B' = v4, 'C' = v5, 'D' = v1, 'E' = v3, 'F' = v6],
     [vertex(v2),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v2, v4, v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v2, v4, v5, v1]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v2, v4, v5, v1, v3])]).
step(\+ member(v5, [v2, v4]), absent, [], []).
step(\+ member(v1, [v2, v4, v5]), absent, [], []).
step(\+ member(v3, [v2, v4, v5, v1]), absent, [], []).
step(\+ member(v6, [v2, v4, v5, v1, v3]), absent, [], []).
step(hamiltonianPath(graph, [v2, v4, v5, v1, v6, v3]),
     rule(22),
     ['Path' = [v2, v4, v5, v1, v6, v3]],
     [hamiltonian_path([v2, v4, v5, v1, v6, v3])]).
step(hamiltonian_path([v2, v4, v5, v1, v6, v3]),
     rule(20),
     ['A' = v2, 'B' = v4, 'C' = v5, 'D' = v1, 'E' = v6, 'F' = v3],
     [vertex(v2),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v2, v4, v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v2, v4, v5, v1]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v2, v4, v5, v1, v6])]).
step(\+ member(v6, [v2, v4, v5, v1]), absent, [], []).
step(\+ member(v3, [v2, v4, v5, v1, v6]), absent, [], []).
step(hamiltonianPath(graph, [v2, v4, v6, v3, v1, v5]),
     rule(22),
     ['Path' = [v2, v4, v6, v3, v1, v5]],
     [hamiltonian_path([v2, v4, v6, v3, v1, v5])]).
step(hamiltonian_path([v2, v4, v6, v3, v1, v5]),
     rule(20),
     ['A' = v2, 'B' = v4, 'C' = v6, 'D' = v3, 'E' = v1, 'F' = v5],
     [vertex(v2),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v2]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v2, v4]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v2, v4, v6]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v2, v4, v6, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v4, v6, v3, v1])]).
step(\+ member(v6, [v2, v4]), absent, [], []).
step(\+ member(v3, [v2, v4, v6]), absent, [], []).
step(\+ member(v1, [v2, v4, v6, v3]), absent, [], []).
step(\+ member(v5, [v2, v4, v6, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v2, v6, v1, v3, v4, v5]),
     rule(22),
     ['Path' = [v2, v6, v1, v3, v4, v5]],
     [hamiltonian_path([v2, v6, v1, v3, v4, v5])]).
step(hamiltonian_path([v2, v6, v1, v3, v4, v5]),
     rule(20),
     ['A' = v2, 'B' = v6, 'C' = v1, 'D' = v3, 'E' = v4, 'F' = v5],
     [vertex(v2),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v2]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v2, v6]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v2, v6, v1]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v2, v6, v1, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v6, v1, v3, v4])]).
step(\+ member(v6, [v2]), absent, [], []).
step(\+ member(v1, [v2, v6]), absent, [], []).
step(\+ member(v3, [v2, v6, v1]), absent, [], []).
step(\+ member(v4, [v2, v6, v1, v3]), absent, [], []).
step(\+ member(v5, [v2, v6, v1, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v2, v6, v1, v5, v4, v3]),
     rule(22),
     ['Path' = [v2, v6, v1, v5, v4, v3]],
     [hamiltonian_path([v2, v6, v1, v5, v4, v3])]).
step(hamiltonian_path([v2, v6, v1, v5, v4, v3]),
     rule(20),
     ['A' = v2, 'B' = v6, 'C' = v1, 'D' = v5, 'E' = v4, 'F' = v3],
     [vertex(v2),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v2]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v2, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v6, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v2, v6, v1, v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v2, v6, v1, v5, v4])]).
step(\+ member(v5, [v2, v6, v1]), absent, [], []).
step(\+ member(v4, [v2, v6, v1, v5]), absent, [], []).
step(\+ member(v3, [v2, v6, v1, v5, v4]), absent, [], []).
step(hamiltonianPath(graph, [v2, v6, v3, v1, v5, v4]),
     rule(22),
     ['Path' = [v2, v6, v3, v1, v5, v4]],
     [hamiltonian_path([v2, v6, v3, v1, v5, v4])]).
step(hamiltonian_path([v2, v6, v3, v1, v5, v4]),
     rule(20),
     ['A' = v2, 'B' = v6, 'C' = v3, 'D' = v1, 'E' = v5, 'F' = v4],
     [vertex(v2),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v2, v6]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v2, v6, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v6, v3, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v2, v6, v3, v1, v5])]).
step(\+ member(v3, [v2, v6]), absent, [], []).
step(\+ member(v1, [v2, v6, v3]), absent, [], []).
step(\+ member(v5, [v2, v6, v3, v1]), absent, [], []).
step(\+ member(v4, [v2, v6, v3, v1, v5]), absent, [], []).
step(hamiltonianPath(graph, [v2, v6, v3, v4, v5, v1]),
     rule(22),
     ['Path' = [v2, v6, v3, v4, v5, v1]],
     [hamiltonian_path([v2, v6, v3, v4, v5, v1])]).
step(hamiltonian_path([v2, v6, v3, v4, v5, v1]),
     rule(20),
     ['A' = v2, 'B' = v6, 'C' = v3, 'D' = v4, 'E' = v5, 'F' = v1],
     [vertex(v2),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v2, v6]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v2, v6, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v6, v3, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v2, v6, v3, v4, v5])]).
step(\+ member(v4, [v2, v6, v3]), absent, [], []).
step(\+ member(v5, [v2, v6, v3, v4]), absent, [], []).
step(\+ member(v1, [v2, v6, v3, v4, v5]), absent, [], []).
step(hamiltonianPath(graph, [v2, v6, v4, v3, v1, v5]),
     rule(22),
     ['Path' = [v2, v6, v4, v3, v1, v5]],
     [hamiltonian_path([v2, v6, v4, v3, v1, v5])]).
step(hamiltonian_path([v2, v6, v4, v3, v1, v5]),
     rule(20),
     ['A' = v2, 'B' = v6, 'C' = v4, 'D' = v3, 'E' = v1, 'F' = v5],
     [vertex(v2),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v2]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v2, v6]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v2, v6, v4]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v2, v6, v4, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v2, v6, v4, v3, v1])]).
step(\+ member(v4, [v2, v6]), absent, [], []).
step(\+ member(v3, [v2, v6, v4]), absent, [], []).
step(\+ member(v1, [v2, v6, v4, v3]), absent, [], []).
step(\+ member(v5, [v2, v6, v4, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v2, v6, v4, v5, v1, v3]),
     rule(22),
     ['Path' = [v2, v6, v4, v5, v1, v3]],
     [hamiltonian_path([v2, v6, v4, v5, v1, v3])]).
step(hamiltonian_path([v2, v6, v4, v5, v1, v3]),
     rule(20),
     ['A' = v2, 'B' = v6, 'C' = v4, 'D' = v5, 'E' = v1, 'F' = v3],
     [vertex(v2),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v2]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v2, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v2, v6, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v2, v6, v4, v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v2, v6, v4, v5, v1])]).
step(\+ member(v5, [v2, v6, v4]), absent, [], []).
step(\+ member(v1, [v2, v6, v4, v5]), absent, [], []).
step(\+ member(v3, [v2, v6, v4, v5, v1]), absent, [], []).
step(hamiltonianPath(graph, [v3, v1, v2, v6, v4, v5]),
     rule(22),
     ['Path' = [v3, v1, v2, v6, v4, v5]],
     [hamiltonian_path([v3, v1, v2, v6, v4, v5])]).
step(hamiltonian_path([v3, v1, v2, v6, v4, v5]),
     rule(20),
     ['A' = v3, 'B' = v1, 'C' = v2, 'D' = v6, 'E' = v4, 'F' = v5],
     [vertex(v3),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v3]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v3, v1]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v3, v1, v2]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v3, v1, v2, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v1, v2, v6, v4])]).
step(\+ member(v1, [v3]), absent, [], []).
step(\+ member(v2, [v3, v1]), absent, [], []).
step(\+ member(v6, [v3, v1, v2]), absent, [], []).
step(\+ member(v4, [v3, v1, v2, v6]), absent, [], []).
step(\+ member(v5, [v3, v1, v2, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v3, v1, v5, v4, v2, v6]),
     rule(22),
     ['Path' = [v3, v1, v5, v4, v2, v6]],
     [hamiltonian_path([v3, v1, v5, v4, v2, v6])]).
step(hamiltonian_path([v3, v1, v5, v4, v2, v6]),
     rule(20),
     ['A' = v3, 'B' = v1, 'C' = v5, 'D' = v4, 'E' = v2, 'F' = v6],
     [vertex(v3),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v3, v1, v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v3, v1, v5, v4]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v3, v1, v5, v4, v2])]).
step(\+ member(v5, [v3, v1]), absent, [], []).
step(\+ member(v4, [v3, v1, v5]), absent, [], []).
step(\+ member(v2, [v3, v1, v5, v4]), absent, [], []).
step(\+ member(v6, [v3, v1, v5, v4, v2]), absent, [], []).
step(hamiltonianPath(graph, [v3, v1, v5, v4, v6, v2]),
     rule(22),
     ['Path' = [v3, v1, v5, v4, v6, v2]],
     [hamiltonian_path([v3, v1, v5, v4, v6, v2])]).
step(hamiltonian_path([v3, v1, v5, v4, v6, v2]),
     rule(20),
     ['A' = v3, 'B' = v1, 'C' = v5, 'D' = v4, 'E' = v6, 'F' = v2],
     [vertex(v3),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v3, v1, v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v3, v1, v5, v4]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v3, v1, v5, v4, v6])]).
step(\+ member(v6, [v3, v1, v5, v4]), absent, [], []).
step(\+ member(v2, [v3, v1, v5, v4, v6]), absent, [], []).
step(hamiltonianPath(graph, [v3, v1, v6, v2, v4, v5]),
     rule(22),
     ['Path' = [v3, v1, v6, v2, v4, v5]],
     [hamiltonian_path([v3, v1, v6, v2, v4, v5])]).
step(hamiltonian_path([v3, v1, v6, v2, v4, v5]),
     rule(20),
     ['A' = v3, 'B' = v1, 'C' = v6, 'D' = v2, 'E' = v4, 'F' = v5],
     [vertex(v3),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v3]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v3, v1]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v3, v1, v6]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v3, v1, v6, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v1, v6, v2, v4])]).
step(\+ member(v6, [v3, v1]), absent, [], []).
step(\+ member(v2, [v3, v1, v6]), absent, [], []).
step(\+ member(v4, [v3, v1, v6, v2]), absent, [], []).
step(\+ member(v5, [v3, v1, v6, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v3, v2, v1, v5, v4, v6]),
     rule(22),
     ['Path' = [v3, v2, v1, v5, v4, v6]],
     [hamiltonian_path([v3, v2, v1, v5, v4, v6])]).
step(hamiltonian_path([v3, v2, v1, v5, v4, v6]),
     rule(20),
     ['A' = v3, 'B' = v2, 'C' = v1, 'D' = v5, 'E' = v4, 'F' = v6],
     [vertex(v3),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v3]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v3, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v2, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v3, v2, v1, v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v3, v2, v1, v5, v4])]).
step(\+ member(v2, [v3]), absent, [], []).
step(\+ member(v1, [v3, v2]), absent, [], []).
step(\+ member(v5, [v3, v2, v1]), absent, [], []).
step(\+ member(v4, [v3, v2, v1, v5]), absent, [], []).
step(\+ member(v6, [v3, v2, v1, v5, v4]), absent, [], []).
step(hamiltonianPath(graph, [v3, v2, v1, v6, v4, v5]),
     rule(22),
     ['Path' = [v3, v2, v1, v6, v4, v5]],
     [hamiltonian_path([v3, v2, v1, v6, v4, v5])]).
step(hamiltonian_path([v3, v2, v1, v6, v4, v5]),
     rule(20),
     ['A' = v3, 'B' = v2, 'C' = v1, 'D' = v6, 'E' = v4, 'F' = v5],
     [vertex(v3),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v3]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v3, v2]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v3, v2, v1]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v3, v2, v1, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v2, v1, v6, v4])]).
step(\+ member(v6, [v3, v2, v1]), absent, [], []).
step(\+ member(v4, [v3, v2, v1, v6]), absent, [], []).
step(\+ member(v5, [v3, v2, v1, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v3, v2, v4, v5, v1, v6]),
     rule(22),
     ['Path' = [v3, v2, v4, v5, v1, v6]],
     [hamiltonian_path([v3, v2, v4, v5, v1, v6])]).
step(hamiltonian_path([v3, v2, v4, v5, v1, v6]),
     rule(20),
     ['A' = v3, 'B' = v2, 'C' = v4, 'D' = v5, 'E' = v1, 'F' = v6],
     [vertex(v3),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v3]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v3, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v2, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v3, v2, v4, v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v3, v2, v4, v5, v1])]).
step(\+ member(v4, [v3, v2]), absent, [], []).
step(\+ member(v5, [v3, v2, v4]), absent, [], []).
step(\+ member(v1, [v3, v2, v4, v5]), absent, [], []).
step(\+ member(v6, [v3, v2, v4, v5, v1]), absent, [], []).
step(hamiltonianPath(graph, [v3, v2, v4, v6, v1, v5]),
     rule(22),
     ['Path' = [v3, v2, v4, v6, v1, v5]],
     [hamiltonian_path([v3, v2, v4, v6, v1, v5])]).
step(hamiltonian_path([v3, v2, v4, v6, v1, v5]),
     rule(20),
     ['A' = v3, 'B' = v2, 'C' = v4, 'D' = v6, 'E' = v1, 'F' = v5],
     [vertex(v3),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v3]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v3, v2]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v3, v2, v4]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v3, v2, v4, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v2, v4, v6, v1])]).
step(\+ member(v6, [v3, v2, v4]), absent, [], []).
step(\+ member(v1, [v3, v2, v4, v6]), absent, [], []).
step(\+ member(v5, [v3, v2, v4, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v3, v2, v6, v1, v5, v4]),
     rule(22),
     ['Path' = [v3, v2, v6, v1, v5, v4]],
     [hamiltonian_path([v3, v2, v6, v1, v5, v4])]).
step(hamiltonian_path([v3, v2, v6, v1, v5, v4]),
     rule(20),
     ['A' = v3, 'B' = v2, 'C' = v6, 'D' = v1, 'E' = v5, 'F' = v4],
     [vertex(v3),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v3, v2]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v3, v2, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v2, v6, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v3, v2, v6, v1, v5])]).
step(\+ member(v6, [v3, v2]), absent, [], []).
step(\+ member(v1, [v3, v2, v6]), absent, [], []).
step(\+ member(v5, [v3, v2, v6, v1]), absent, [], []).
step(\+ member(v4, [v3, v2, v6, v1, v5]), absent, [], []).
step(hamiltonianPath(graph, [v3, v2, v6, v4, v5, v1]),
     rule(22),
     ['Path' = [v3, v2, v6, v4, v5, v1]],
     [hamiltonian_path([v3, v2, v6, v4, v5, v1])]).
step(hamiltonian_path([v3, v2, v6, v4, v5, v1]),
     rule(20),
     ['A' = v3, 'B' = v2, 'C' = v6, 'D' = v4, 'E' = v5, 'F' = v1],
     [vertex(v3),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v3, v2]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v3, v2, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v2, v6, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v3, v2, v6, v4, v5])]).
step(\+ member(v4, [v3, v2, v6]), absent, [], []).
step(\+ member(v5, [v3, v2, v6, v4]), absent, [], []).
step(\+ member(v1, [v3, v2, v6, v4, v5]), absent, [], []).
step(hamiltonianPath(graph, [v3, v4, v2, v6, v1, v5]),
     rule(22),
     ['Path' = [v3, v4, v2, v6, v1, v5]],
     [hamiltonian_path([v3, v4, v2, v6, v1, v5])]).
step(hamiltonian_path([v3, v4, v2, v6, v1, v5]),
     rule(20),
     ['A' = v3, 'B' = v4, 'C' = v2, 'D' = v6, 'E' = v1, 'F' = v5],
     [vertex(v3),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v3]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v3, v4]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v3, v4, v2]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v3, v4, v2, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v4, v2, v6, v1])]).
step(\+ member(v4, [v3]), absent, [], []).
step(\+ member(v2, [v3, v4]), absent, [], []).
step(\+ member(v6, [v3, v4, v2]), absent, [], []).
step(\+ member(v1, [v3, v4, v2, v6]), absent, [], []).
step(\+ member(v5, [v3, v4, v2, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v3, v4, v5, v1, v2, v6]),
     rule(22),
     ['Path' = [v3, v4, v5, v1, v2, v6]],
     [hamiltonian_path([v3, v4, v5, v1, v2, v6])]).
step(hamiltonian_path([v3, v4, v5, v1, v2, v6]),
     rule(20),
     ['A' = v3, 'B' = v4, 'C' = v5, 'D' = v1, 'E' = v2, 'F' = v6],
     [vertex(v3),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v3, v4, v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v3, v4, v5, v1]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v3, v4, v5, v1, v2])]).
step(\+ member(v5, [v3, v4]), absent, [], []).
step(\+ member(v1, [v3, v4, v5]), absent, [], []).
step(\+ member(v2, [v3, v4, v5, v1]), absent, [], []).
step(\+ member(v6, [v3, v4, v5, v1, v2]), absent, [], []).
step(hamiltonianPath(graph, [v3, v4, v5, v1, v6, v2]),
     rule(22),
     ['Path' = [v3, v4, v5, v1, v6, v2]],
     [hamiltonian_path([v3, v4, v5, v1, v6, v2])]).
step(hamiltonian_path([v3, v4, v5, v1, v6, v2]),
     rule(20),
     ['A' = v3, 'B' = v4, 'C' = v5, 'D' = v1, 'E' = v6, 'F' = v2],
     [vertex(v3),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v3, v4, v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v3, v4, v5, v1]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v3, v4, v5, v1, v6])]).
step(\+ member(v6, [v3, v4, v5, v1]), absent, [], []).
step(\+ member(v2, [v3, v4, v5, v1, v6]), absent, [], []).
step(hamiltonianPath(graph, [v3, v4, v6, v2, v1, v5]),
     rule(22),
     ['Path' = [v3, v4, v6, v2, v1, v5]],
     [hamiltonian_path([v3, v4, v6, v2, v1, v5])]).
step(hamiltonian_path([v3, v4, v6, v2, v1, v5]),
     rule(20),
     ['A' = v3, 'B' = v4, 'C' = v6, 'D' = v2, 'E' = v1, 'F' = v5],
     [vertex(v3),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v3]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v3, v4]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v3, v4, v6]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v3, v4, v6, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v4, v6, v2, v1])]).
step(\+ member(v6, [v3, v4]), absent, [], []).
step(\+ member(v2, [v3, v4, v6]), absent, [], []).
step(\+ member(v1, [v3, v4, v6, v2]), absent, [], []).
step(\+ member(v5, [v3, v4, v6, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v3, v6, v1, v2, v4, v5]),
     rule(22),
     ['Path' = [v3, v6, v1, v2, v4, v5]],
     [hamiltonian_path([v3, v6, v1, v2, v4, v5])]).
step(hamiltonian_path([v3, v6, v1, v2, v4, v5]),
     rule(20),
     ['A' = v3, 'B' = v6, 'C' = v1, 'D' = v2, 'E' = v4, 'F' = v5],
     [vertex(v3),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v3]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v3, v6]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v3, v6, v1]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v3, v6, v1, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v6, v1, v2, v4])]).
step(\+ member(v6, [v3]), absent, [], []).
step(\+ member(v1, [v3, v6]), absent, [], []).
step(\+ member(v2, [v3, v6, v1]), absent, [], []).
step(\+ member(v4, [v3, v6, v1, v2]), absent, [], []).
step(\+ member(v5, [v3, v6, v1, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v3, v6, v1, v5, v4, v2]),
     rule(22),
     ['Path' = [v3, v6, v1, v5, v4, v2]],
     [hamiltonian_path([v3, v6, v1, v5, v4, v2])]).
step(hamiltonian_path([v3, v6, v1, v5, v4, v2]),
     rule(20),
     ['A' = v3, 'B' = v6, 'C' = v1, 'D' = v5, 'E' = v4, 'F' = v2],
     [vertex(v3),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v3]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v3, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v6, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v3, v6, v1, v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v3, v6, v1, v5, v4])]).
step(\+ member(v5, [v3, v6, v1]), absent, [], []).
step(\+ member(v4, [v3, v6, v1, v5]), absent, [], []).
step(\+ member(v2, [v3, v6, v1, v5, v4]), absent, [], []).
step(hamiltonianPath(graph, [v3, v6, v2, v1, v5, v4]),
     rule(22),
     ['Path' = [v3, v6, v2, v1, v5, v4]],
     [hamiltonian_path([v3, v6, v2, v1, v5, v4])]).
step(hamiltonian_path([v3, v6, v2, v1, v5, v4]),
     rule(20),
     ['A' = v3, 'B' = v6, 'C' = v2, 'D' = v1, 'E' = v5, 'F' = v4],
     [vertex(v3),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v3, v6]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v3, v6, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v6, v2, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v3, v6, v2, v1, v5])]).
step(\+ member(v2, [v3, v6]), absent, [], []).
step(\+ member(v1, [v3, v6, v2]), absent, [], []).
step(\+ member(v5, [v3, v6, v2, v1]), absent, [], []).
step(\+ member(v4, [v3, v6, v2, v1, v5]), absent, [], []).
step(hamiltonianPath(graph, [v3, v6, v2, v4, v5, v1]),
     rule(22),
     ['Path' = [v3, v6, v2, v4, v5, v1]],
     [hamiltonian_path([v3, v6, v2, v4, v5, v1])]).
step(hamiltonian_path([v3, v6, v2, v4, v5, v1]),
     rule(20),
     ['A' = v3, 'B' = v6, 'C' = v2, 'D' = v4, 'E' = v5, 'F' = v1],
     [vertex(v3),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v3, v6]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v3, v6, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v6, v2, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v3, v6, v2, v4, v5])]).
step(\+ member(v4, [v3, v6, v2]), absent, [], []).
step(\+ member(v5, [v3, v6, v2, v4]), absent, [], []).
step(\+ member(v1, [v3, v6, v2, v4, v5]), absent, [], []).
step(hamiltonianPath(graph, [v3, v6, v4, v2, v1, v5]),
     rule(22),
     ['Path' = [v3, v6, v4, v2, v1, v5]],
     [hamiltonian_path([v3, v6, v4, v2, v1, v5])]).
step(hamiltonian_path([v3, v6, v4, v2, v1, v5]),
     rule(20),
     ['A' = v3, 'B' = v6, 'C' = v4, 'D' = v2, 'E' = v1, 'F' = v5],
     [vertex(v3),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v3]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v3, v6]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v3, v6, v4]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v3, v6, v4, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v3, v6, v4, v2, v1])]).
step(\+ member(v4, [v3, v6]), absent, [], []).
step(\+ member(v2, [v3, v6, v4]), absent, [], []).
step(\+ member(v1, [v3, v6, v4, v2]), absent, [], []).
step(\+ member(v5, [v3, v6, v4, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v3, v6, v4, v5, v1, v2]),
     rule(22),
     ['Path' = [v3, v6, v4, v5, v1, v2]],
     [hamiltonian_path([v3, v6, v4, v5, v1, v2])]).
step(hamiltonian_path([v3, v6, v4, v5, v1, v2]),
     rule(20),
     ['A' = v3, 'B' = v6, 'C' = v4, 'D' = v5, 'E' = v1, 'F' = v2],
     [vertex(v3),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v3]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v3, v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v3, v6, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v3, v6, v4, v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v3, v6, v4, v5, v1])]).
step(\+ member(v5, [v3, v6, v4]), absent, [], []).
step(\+ member(v1, [v3, v6, v4, v5]), absent, [], []).
step(\+ member(v2, [v3, v6, v4, v5, v1]), absent, [], []).
step(hamiltonianPath(graph, [v4, v2, v3, v6, v1, v5]),
     rule(22),
     ['Path' = [v4, v2, v3, v6, v1, v5]],
     [hamiltonian_path([v4, v2, v3, v6, v1, v5])]).
step(hamiltonian_path([v4, v2, v3, v6, v1, v5]),
     rule(20),
     ['A' = v4, 'B' = v2, 'C' = v3, 'D' = v6, 'E' = v1, 'F' = v5],
     [vertex(v4),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v4]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v4, v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v4, v2, v3]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v4, v2, v3, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v4, v2, v3, v6, v1])]).
step(\+ member(v2, [v4]), absent, [], []).
step(\+ member(v3, [v4, v2]), absent, [], []).
step(\+ member(v6, [v4, v2, v3]), absent, [], []).
step(\+ member(v1, [v4, v2, v3, v6]), absent, [], []).
step(\+ member(v5, [v4, v2, v3, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v4, v2, v6, v3, v1, v5]),
     rule(22),
     ['Path' = [v4, v2, v6, v3, v1, v5]],
     [hamiltonian_path([v4, v2, v6, v3, v1, v5])]).
step(hamiltonian_path([v4, v2, v6, v3, v1, v5]),
     rule(20),
     ['A' = v4, 'B' = v2, 'C' = v6, 'D' = v3, 'E' = v1, 'F' = v5],
     [vertex(v4),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v4]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v4, v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v4, v2, v6]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v4, v2, v6, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v4, v2, v6, v3, v1])]).
step(\+ member(v6, [v4, v2]), absent, [], []).
step(\+ member(v3, [v4, v2, v6]), absent, [], []).
step(\+ member(v1, [v4, v2, v6, v3]), absent, [], []).
step(\+ member(v5, [v4, v2, v6, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v4, v3, v2, v6, v1, v5]),
     rule(22),
     ['Path' = [v4, v3, v2, v6, v1, v5]],
     [hamiltonian_path([v4, v3, v2, v6, v1, v5])]).
step(hamiltonian_path([v4, v3, v2, v6, v1, v5]),
     rule(20),
     ['A' = v4, 'B' = v3, 'C' = v2, 'D' = v6, 'E' = v1, 'F' = v5],
     [vertex(v4),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v4]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v4, v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v4, v3, v2]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v4, v3, v2, v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v4, v3, v2, v6, v1])]).
step(\+ member(v3, [v4]), absent, [], []).
step(\+ member(v2, [v4, v3]), absent, [], []).
step(\+ member(v6, [v4, v3, v2]), absent, [], []).
step(\+ member(v1, [v4, v3, v2, v6]), absent, [], []).
step(\+ member(v5, [v4, v3, v2, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v4, v3, v6, v2, v1, v5]),
     rule(22),
     ['Path' = [v4, v3, v6, v2, v1, v5]],
     [hamiltonian_path([v4, v3, v6, v2, v1, v5])]).
step(hamiltonian_path([v4, v3, v6, v2, v1, v5]),
     rule(20),
     ['A' = v4, 'B' = v3, 'C' = v6, 'D' = v2, 'E' = v1, 'F' = v5],
     [vertex(v4),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v4]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v4, v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v4, v3, v6]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v4, v3, v6, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v4, v3, v6, v2, v1])]).
step(\+ member(v6, [v4, v3]), absent, [], []).
step(\+ member(v2, [v4, v3, v6]), absent, [], []).
step(\+ member(v1, [v4, v3, v6, v2]), absent, [], []).
step(\+ member(v5, [v4, v3, v6, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v4, v5, v1, v2, v3, v6]),
     rule(22),
     ['Path' = [v4, v5, v1, v2, v3, v6]],
     [hamiltonian_path([v4, v5, v1, v2, v3, v6])]).
step(hamiltonian_path([v4, v5, v1, v2, v3, v6]),
     rule(20),
     ['A' = v4, 'B' = v5, 'C' = v1, 'D' = v2, 'E' = v3, 'F' = v6],
     [vertex(v4),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v4, v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v4, v5, v1]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v4, v5, v1, v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v4, v5, v1, v2, v3])]).
step(\+ member(v5, [v4]), absent, [], []).
step(\+ member(v1, [v4, v5]), absent, [], []).
step(\+ member(v2, [v4, v5, v1]), absent, [], []).
step(\+ member(v3, [v4, v5, v1, v2]), absent, [], []).
step(\+ member(v6, [v4, v5, v1, v2, v3]), absent, [], []).
step(hamiltonianPath(graph, [v4, v5, v1, v2, v6, v3]),
     rule(22),
     ['Path' = [v4, v5, v1, v2, v6, v3]],
     [hamiltonian_path([v4, v5, v1, v2, v6, v3])]).
step(hamiltonian_path([v4, v5, v1, v2, v6, v3]),
     rule(20),
     ['A' = v4, 'B' = v5, 'C' = v1, 'D' = v2, 'E' = v6, 'F' = v3],
     [vertex(v4),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v4, v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v4, v5, v1]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v4, v5, v1, v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v4, v5, v1, v2, v6])]).
step(\+ member(v6, [v4, v5, v1, v2]), absent, [], []).
step(\+ member(v3, [v4, v5, v1, v2, v6]), absent, [], []).
step(hamiltonianPath(graph, [v4, v5, v1, v3, v2, v6]),
     rule(22),
     ['Path' = [v4, v5, v1, v3, v2, v6]],
     [hamiltonian_path([v4, v5, v1, v3, v2, v6])]).
step(hamiltonian_path([v4, v5, v1, v3, v2, v6]),
     rule(20),
     ['A' = v4, 'B' = v5, 'C' = v1, 'D' = v3, 'E' = v2, 'F' = v6],
     [vertex(v4),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v4, v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v4, v5, v1]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v4, v5, v1, v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v4, v5, v1, v3, v2])]).
step(\+ member(v3, [v4, v5, v1]), absent, [], []).
step(\+ member(v2, [v4, v5, v1, v3]), absent, [], []).
step(\+ member(v6, [v4, v5, v1, v3, v2]), absent, [], []).
step(hamiltonianPath(graph, [v4, v5, v1, v3, v6, v2]),
     rule(22),
     ['Path' = [v4, v5, v1, v3, v6, v2]],
     [hamiltonian_path([v4, v5, v1, v3, v6, v2])]).
step(hamiltonian_path([v4, v5, v1, v3, v6, v2]),
     rule(20),
     ['A' = v4, 'B' = v5, 'C' = v1, 'D' = v3, 'E' = v6, 'F' = v2],
     [vertex(v4),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v4, v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v4, v5, v1]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v4, v5, v1, v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v4, v5, v1, v3, v6])]).
step(\+ member(v6, [v4, v5, v1, v3]), absent, [], []).
step(\+ member(v2, [v4, v5, v1, v3, v6]), absent, [], []).
step(hamiltonianPath(graph, [v4, v5, v1, v6, v2, v3]),
     rule(22),
     ['Path' = [v4, v5, v1, v6, v2, v3]],
     [hamiltonian_path([v4, v5, v1, v6, v2, v3])]).
step(hamiltonian_path([v4, v5, v1, v6, v2, v3]),
     rule(20),
     ['A' = v4, 'B' = v5, 'C' = v1, 'D' = v6, 'E' = v2, 'F' = v3],
     [vertex(v4),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v4, v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v4, v5, v1]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v4, v5, v1, v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v4, v5, v1, v6, v2])]).
step(\+ member(v6, [v4, v5, v1]), absent, [], []).
step(\+ member(v2, [v4, v5, v1, v6]), absent, [], []).
step(\+ member(v3, [v4, v5, v1, v6, v2]), absent, [], []).
step(hamiltonianPath(graph, [v4, v5, v1, v6, v3, v2]),
     rule(22),
     ['Path' = [v4, v5, v1, v6, v3, v2]],
     [hamiltonian_path([v4, v5, v1, v6, v3, v2])]).
step(hamiltonian_path([v4, v5, v1, v6, v3, v2]),
     rule(20),
     ['A' = v4, 'B' = v5, 'C' = v1, 'D' = v6, 'E' = v3, 'F' = v2],
     [vertex(v4),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v4, v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v4, v5, v1]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v4, v5, v1, v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v4, v5, v1, v6, v3])]).
step(\+ member(v3, [v4, v5, v1, v6]), absent, [], []).
step(\+ member(v2, [v4, v5, v1, v6, v3]), absent, [], []).
step(hamiltonianPath(graph, [v4, v6, v2, v3, v1, v5]),
     rule(22),
     ['Path' = [v4, v6, v2, v3, v1, v5]],
     [hamiltonian_path([v4, v6, v2, v3, v1, v5])]).
step(hamiltonian_path([v4, v6, v2, v3, v1, v5]),
     rule(20),
     ['A' = v4, 'B' = v6, 'C' = v2, 'D' = v3, 'E' = v1, 'F' = v5],
     [vertex(v4),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v4]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v4, v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v4, v6, v2]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v4, v6, v2, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v4, v6, v2, v3, v1])]).
step(\+ member(v6, [v4]), absent, [], []).
step(\+ member(v2, [v4, v6]), absent, [], []).
step(\+ member(v3, [v4, v6, v2]), absent, [], []).
step(\+ member(v1, [v4, v6, v2, v3]), absent, [], []).
step(\+ member(v5, [v4, v6, v2, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v4, v6, v3, v2, v1, v5]),
     rule(22),
     ['Path' = [v4, v6, v3, v2, v1, v5]],
     [hamiltonian_path([v4, v6, v3, v2, v1, v5])]).
step(hamiltonian_path([v4, v6, v3, v2, v1, v5]),
     rule(20),
     ['A' = v4, 'B' = v6, 'C' = v3, 'D' = v2, 'E' = v1, 'F' = v5],
     [vertex(v4),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v4]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v4, v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v4, v6, v3]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v4, v6, v3, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v4, v6, v3, v2, v1])]).
step(\+ member(v3, [v4, v6]), absent, [], []).
step(\+ member(v2, [v4, v6, v3]), absent, [], []).
step(\+ member(v1, [v4, v6, v3, v2]), absent, [], []).
step(\+ member(v5, [v4, v6, v3, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v2, v3, v4, v6]),
     rule(22),
     ['Path' = [v5, v1, v2, v3, v4, v6]],
     [hamiltonian_path([v5, v1, v2, v3, v4, v6])]).
step(hamiltonian_path([v5, v1, v2, v3, v4, v6]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v2, 'D' = v3, 'E' = v4, 'F' = v6],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v1]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v1, v2]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v5, v1, v2, v3]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v1, v2, v3, v4])]).
step(\+ member(v1, [v5]), absent, [], []).
step(\+ member(v2, [v5, v1]), absent, [], []).
step(\+ member(v3, [v5, v1, v2]), absent, [], []).
step(\+ member(v4, [v5, v1, v2, v3]), absent, [], []).
step(\+ member(v6, [v5, v1, v2, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v2, v3, v6, v4]),
     rule(22),
     ['Path' = [v5, v1, v2, v3, v6, v4]],
     [hamiltonian_path([v5, v1, v2, v3, v6, v4])]).
step(hamiltonian_path([v5, v1, v2, v3, v6, v4]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v2, 'D' = v3, 'E' = v6, 'F' = v4],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v1]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v1, v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v1, v2, v3]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v5, v1, v2, v3, v6])]).
step(\+ member(v6, [v5, v1, v2, v3]), absent, [], []).
step(\+ member(v4, [v5, v1, v2, v3, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v2, v4, v3, v6]),
     rule(22),
     ['Path' = [v5, v1, v2, v4, v3, v6]],
     [hamiltonian_path([v5, v1, v2, v4, v3, v6])]).
step(hamiltonian_path([v5, v1, v2, v4, v3, v6]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v2, 'D' = v4, 'E' = v3, 'F' = v6],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v1]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v5, v1, v2]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v1, v2, v4]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v1, v2, v4, v3])]).
step(\+ member(v4, [v5, v1, v2]), absent, [], []).
step(\+ member(v3, [v5, v1, v2, v4]), absent, [], []).
step(\+ member(v6, [v5, v1, v2, v4, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v2, v4, v6, v3]),
     rule(22),
     ['Path' = [v5, v1, v2, v4, v6, v3]],
     [hamiltonian_path([v5, v1, v2, v4, v6, v3])]).
step(hamiltonian_path([v5, v1, v2, v4, v6, v3]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v2, 'D' = v4, 'E' = v6, 'F' = v3],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v1]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v5, v1, v2]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v1, v2, v4]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v1, v2, v4, v6])]).
step(\+ member(v6, [v5, v1, v2, v4]), absent, [], []).
step(\+ member(v3, [v5, v1, v2, v4, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v2, v6, v3, v4]),
     rule(22),
     ['Path' = [v5, v1, v2, v6, v3, v4]],
     [hamiltonian_path([v5, v1, v2, v6, v3, v4])]).
step(hamiltonian_path([v5, v1, v2, v6, v3, v4]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v2, 'D' = v6, 'E' = v3, 'F' = v4],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v1]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v1, v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v1, v2, v6]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v5, v1, v2, v6, v3])]).
step(\+ member(v6, [v5, v1, v2]), absent, [], []).
step(\+ member(v3, [v5, v1, v2, v6]), absent, [], []).
step(\+ member(v4, [v5, v1, v2, v6, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v2, v6, v4, v3]),
     rule(22),
     ['Path' = [v5, v1, v2, v6, v4, v3]],
     [hamiltonian_path([v5, v1, v2, v6, v4, v3])]).
step(hamiltonian_path([v5, v1, v2, v6, v4, v3]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v2, 'D' = v6, 'E' = v4, 'F' = v3],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v1]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v1, v2]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v5, v1, v2, v6]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v1, v2, v6, v4])]).
step(\+ member(v4, [v5, v1, v2, v6]), absent, [], []).
step(\+ member(v3, [v5, v1, v2, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v3, v2, v4, v6]),
     rule(22),
     ['Path' = [v5, v1, v3, v2, v4, v6]],
     [hamiltonian_path([v5, v1, v3, v2, v4, v6])]).
step(hamiltonian_path([v5, v1, v3, v2, v4, v6]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v3, 'D' = v2, 'E' = v4, 'F' = v6],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v1]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v1, v3]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v5, v1, v3, v2]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v1, v3, v2, v4])]).
step(\+ member(v3, [v5, v1]), absent, [], []).
step(\+ member(v2, [v5, v1, v3]), absent, [], []).
step(\+ member(v4, [v5, v1, v3, v2]), absent, [], []).
step(\+ member(v6, [v5, v1, v3, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v3, v2, v6, v4]),
     rule(22),
     ['Path' = [v5, v1, v3, v2, v6, v4]],
     [hamiltonian_path([v5, v1, v3, v2, v6, v4])]).
step(hamiltonian_path([v5, v1, v3, v2, v6, v4]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v3, 'D' = v2, 'E' = v6, 'F' = v4],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v1]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v1, v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v1, v3, v2]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v5, v1, v3, v2, v6])]).
step(\+ member(v6, [v5, v1, v3, v2]), absent, [], []).
step(\+ member(v4, [v5, v1, v3, v2, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v3, v4, v2, v6]),
     rule(22),
     ['Path' = [v5, v1, v3, v4, v2, v6]],
     [hamiltonian_path([v5, v1, v3, v4, v2, v6])]).
step(hamiltonian_path([v5, v1, v3, v4, v2, v6]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v3, 'D' = v4, 'E' = v2, 'F' = v6],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v1]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v5, v1, v3]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v1, v3, v4]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v1, v3, v4, v2])]).
step(\+ member(v4, [v5, v1, v3]), absent, [], []).
step(\+ member(v2, [v5, v1, v3, v4]), absent, [], []).
step(\+ member(v6, [v5, v1, v3, v4, v2]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v3, v4, v6, v2]),
     rule(22),
     ['Path' = [v5, v1, v3, v4, v6, v2]],
     [hamiltonian_path([v5, v1, v3, v4, v6, v2])]).
step(hamiltonian_path([v5, v1, v3, v4, v6, v2]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v3, 'D' = v4, 'E' = v6, 'F' = v2],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v1]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v5, v1, v3]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v1, v3, v4]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v1, v3, v4, v6])]).
step(\+ member(v6, [v5, v1, v3, v4]), absent, [], []).
step(\+ member(v2, [v5, v1, v3, v4, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v3, v6, v2, v4]),
     rule(22),
     ['Path' = [v5, v1, v3, v6, v2, v4]],
     [hamiltonian_path([v5, v1, v3, v6, v2, v4])]).
step(hamiltonian_path([v5, v1, v3, v6, v2, v4]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v3, 'D' = v6, 'E' = v2, 'F' = v4],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v1]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v1, v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v1, v3, v6]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v5, v1, v3, v6, v2])]).
step(\+ member(v6, [v5, v1, v3]), absent, [], []).
step(\+ member(v2, [v5, v1, v3, v6]), absent, [], []).
step(\+ member(v4, [v5, v1, v3, v6, v2]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v3, v6, v4, v2]),
     rule(22),
     ['Path' = [v5, v1, v3, v6, v4, v2]],
     [hamiltonian_path([v5, v1, v3, v6, v4, v2])]).
step(hamiltonian_path([v5, v1, v3, v6, v4, v2]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v3, 'D' = v6, 'E' = v4, 'F' = v2],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v1]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v1, v3]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v5, v1, v3, v6]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v1, v3, v6, v4])]).
step(\+ member(v4, [v5, v1, v3, v6]), absent, [], []).
step(\+ member(v2, [v5, v1, v3, v6, v4]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v6, v2, v3, v4]),
     rule(22),
     ['Path' = [v5, v1, v6, v2, v3, v4]],
     [hamiltonian_path([v5, v1, v6, v2, v3, v4])]).
step(hamiltonian_path([v5, v1, v6, v2, v3, v4]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v6, 'D' = v2, 'E' = v3, 'F' = v4],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v1]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v1, v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v1, v6, v2]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v5, v1, v6, v2, v3])]).
step(\+ member(v6, [v5, v1]), absent, [], []).
step(\+ member(v2, [v5, v1, v6]), absent, [], []).
step(\+ member(v3, [v5, v1, v6, v2]), absent, [], []).
step(\+ member(v4, [v5, v1, v6, v2, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v6, v2, v4, v3]),
     rule(22),
     ['Path' = [v5, v1, v6, v2, v4, v3]],
     [hamiltonian_path([v5, v1, v6, v2, v4, v3])]).
step(hamiltonian_path([v5, v1, v6, v2, v4, v3]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v6, 'D' = v2, 'E' = v4, 'F' = v3],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v1]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v1, v6]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v5, v1, v6, v2]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v1, v6, v2, v4])]).
step(\+ member(v4, [v5, v1, v6, v2]), absent, [], []).
step(\+ member(v3, [v5, v1, v6, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v6, v3, v2, v4]),
     rule(22),
     ['Path' = [v5, v1, v6, v3, v2, v4]],
     [hamiltonian_path([v5, v1, v6, v3, v2, v4])]).
step(hamiltonian_path([v5, v1, v6, v3, v2, v4]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v6, 'D' = v3, 'E' = v2, 'F' = v4],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v1]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v1, v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v1, v6, v3]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v5, v1, v6, v3, v2])]).
step(\+ member(v3, [v5, v1, v6]), absent, [], []).
step(\+ member(v2, [v5, v1, v6, v3]), absent, [], []).
step(\+ member(v4, [v5, v1, v6, v3, v2]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v6, v3, v4, v2]),
     rule(22),
     ['Path' = [v5, v1, v6, v3, v4, v2]],
     [hamiltonian_path([v5, v1, v6, v3, v4, v2])]).
step(hamiltonian_path([v5, v1, v6, v3, v4, v2]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v6, 'D' = v3, 'E' = v4, 'F' = v2],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v1]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v1, v6]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v5, v1, v6, v3]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v1, v6, v3, v4])]).
step(\+ member(v4, [v5, v1, v6, v3]), absent, [], []).
step(\+ member(v2, [v5, v1, v6, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v6, v4, v2, v3]),
     rule(22),
     ['Path' = [v5, v1, v6, v4, v2, v3]],
     [hamiltonian_path([v5, v1, v6, v4, v2, v3])]).
step(hamiltonian_path([v5, v1, v6, v4, v2, v3]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v6, 'D' = v4, 'E' = v2, 'F' = v3],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v1]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v5, v1, v6]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v1, v6, v4]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v1, v6, v4, v2])]).
step(\+ member(v4, [v5, v1, v6]), absent, [], []).
step(\+ member(v2, [v5, v1, v6, v4]), absent, [], []).
step(\+ member(v3, [v5, v1, v6, v4, v2]), absent, [], []).
step(hamiltonianPath(graph, [v5, v1, v6, v4, v3, v2]),
     rule(22),
     ['Path' = [v5, v1, v6, v4, v3, v2]],
     [hamiltonian_path([v5, v1, v6, v4, v3, v2])]).
step(hamiltonian_path([v5, v1, v6, v4, v3, v2]),
     rule(20),
     ['A' = v5, 'B' = v1, 'C' = v6, 'D' = v4, 'E' = v3, 'F' = v2],
     [vertex(v5),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v5]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v1]),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v5, v1, v6]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v1, v6, v4]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v1, v6, v4, v3])]).
step(\+ member(v3, [v5, v1, v6, v4]), absent, [], []).
step(\+ member(v2, [v5, v1, v6, v4, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v2, v1, v3, v6]),
     rule(22),
     ['Path' = [v5, v4, v2, v1, v3, v6]],
     [hamiltonian_path([v5, v4, v2, v1, v3, v6])]).
step(hamiltonian_path([v5, v4, v2, v1, v3, v6]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v2, 'D' = v1, 'E' = v3, 'F' = v6],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v4]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v5, v4, v2]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v4, v2, v1]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v4, v2, v1, v3])]).
step(\+ member(v4, [v5]), absent, [], []).
step(\+ member(v2, [v5, v4]), absent, [], []).
step(\+ member(v1, [v5, v4, v2]), absent, [], []).
step(\+ member(v3, [v5, v4, v2, v1]), absent, [], []).
step(\+ member(v6, [v5, v4, v2, v1, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v2, v1, v6, v3]),
     rule(22),
     ['Path' = [v5, v4, v2, v1, v6, v3]],
     [hamiltonian_path([v5, v4, v2, v1, v6, v3])]).
step(hamiltonian_path([v5, v4, v2, v1, v6, v3]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v2, 'D' = v1, 'E' = v6, 'F' = v3],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v4]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v5, v4, v2]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v4, v2, v1]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v4, v2, v1, v6])]).
step(\+ member(v6, [v5, v4, v2, v1]), absent, [], []).
step(\+ member(v3, [v5, v4, v2, v1, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v2, v3, v1, v6]),
     rule(22),
     ['Path' = [v5, v4, v2, v3, v1, v6]],
     [hamiltonian_path([v5, v4, v2, v3, v1, v6])]).
step(hamiltonian_path([v5, v4, v2, v3, v1, v6]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v2, 'D' = v3, 'E' = v1, 'F' = v6],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v4]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v4, v2]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v5, v4, v2, v3]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v4, v2, v3, v1])]).
step(\+ member(v3, [v5, v4, v2]), absent, [], []).
step(\+ member(v1, [v5, v4, v2, v3]), absent, [], []).
step(\+ member(v6, [v5, v4, v2, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v2, v3, v6, v1]),
     rule(22),
     ['Path' = [v5, v4, v2, v3, v6, v1]],
     [hamiltonian_path([v5, v4, v2, v3, v6, v1])]).
step(hamiltonian_path([v5, v4, v2, v3, v6, v1]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v2, 'D' = v3, 'E' = v6, 'F' = v1],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v4]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v4, v2]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v4, v2, v3]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v5, v4, v2, v3, v6])]).
step(\+ member(v6, [v5, v4, v2, v3]), absent, [], []).
step(\+ member(v1, [v5, v4, v2, v3, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v2, v6, v1, v3]),
     rule(22),
     ['Path' = [v5, v4, v2, v6, v1, v3]],
     [hamiltonian_path([v5, v4, v2, v6, v1, v3])]).
step(hamiltonian_path([v5, v4, v2, v6, v1, v3]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v2, 'D' = v6, 'E' = v1, 'F' = v3],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v4]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v4, v2]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v5, v4, v2, v6]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v4, v2, v6, v1])]).
step(\+ member(v6, [v5, v4, v2]), absent, [], []).
step(\+ member(v1, [v5, v4, v2, v6]), absent, [], []).
step(\+ member(v3, [v5, v4, v2, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v2, v6, v3, v1]),
     rule(22),
     ['Path' = [v5, v4, v2, v6, v3, v1]],
     [hamiltonian_path([v5, v4, v2, v6, v3, v1])]).
step(hamiltonian_path([v5, v4, v2, v6, v3, v1]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v2, 'D' = v6, 'E' = v3, 'F' = v1],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v5, v4]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v4, v2]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v4, v2, v6]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v5, v4, v2, v6, v3])]).
step(\+ member(v3, [v5, v4, v2, v6]), absent, [], []).
step(\+ member(v1, [v5, v4, v2, v6, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v3, v1, v2, v6]),
     rule(22),
     ['Path' = [v5, v4, v3, v1, v2, v6]],
     [hamiltonian_path([v5, v4, v3, v1, v2, v6])]).
step(hamiltonian_path([v5, v4, v3, v1, v2, v6]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v3, 'D' = v1, 'E' = v2, 'F' = v6],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v4]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v5, v4, v3]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v4, v3, v1]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v4, v3, v1, v2])]).
step(\+ member(v3, [v5, v4]), absent, [], []).
step(\+ member(v1, [v5, v4, v3]), absent, [], []).
step(\+ member(v2, [v5, v4, v3, v1]), absent, [], []).
step(\+ member(v6, [v5, v4, v3, v1, v2]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v3, v1, v6, v2]),
     rule(22),
     ['Path' = [v5, v4, v3, v1, v6, v2]],
     [hamiltonian_path([v5, v4, v3, v1, v6, v2])]).
step(hamiltonian_path([v5, v4, v3, v1, v6, v2]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v3, 'D' = v1, 'E' = v6, 'F' = v2],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v4]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v5, v4, v3]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v4, v3, v1]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v4, v3, v1, v6])]).
step(\+ member(v6, [v5, v4, v3, v1]), absent, [], []).
step(\+ member(v2, [v5, v4, v3, v1, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v3, v2, v1, v6]),
     rule(22),
     ['Path' = [v5, v4, v3, v2, v1, v6]],
     [hamiltonian_path([v5, v4, v3, v2, v1, v6])]).
step(hamiltonian_path([v5, v4, v3, v2, v1, v6]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v3, 'D' = v2, 'E' = v1, 'F' = v6],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v4]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v4, v3]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v5, v4, v3, v2]),
      vertex(v6),
      adjacent(v1, v6),
      \+ member(v6, [v5, v4, v3, v2, v1])]).
step(\+ member(v2, [v5, v4, v3]), absent, [], []).
step(\+ member(v1, [v5, v4, v3, v2]), absent, [], []).
step(\+ member(v6, [v5, v4, v3, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v3, v2, v6, v1]),
     rule(22),
     ['Path' = [v5, v4, v3, v2, v6, v1]],
     [hamiltonian_path([v5, v4, v3, v2, v6, v1])]).
step(hamiltonian_path([v5, v4, v3, v2, v6, v1]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v3, 'D' = v2, 'E' = v6, 'F' = v1],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v4]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v4, v3]),
      vertex(v6),
      adjacent(v2, v6),
      \+ member(v6, [v5, v4, v3, v2]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v5, v4, v3, v2, v6])]).
step(\+ member(v6, [v5, v4, v3, v2]), absent, [], []).
step(\+ member(v1, [v5, v4, v3, v2, v6]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v3, v6, v1, v2]),
     rule(22),
     ['Path' = [v5, v4, v3, v6, v1, v2]],
     [hamiltonian_path([v5, v4, v3, v6, v1, v2])]).
step(hamiltonian_path([v5, v4, v3, v6, v1, v2]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v3, 'D' = v6, 'E' = v1, 'F' = v2],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v4]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v4, v3]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v5, v4, v3, v6]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v4, v3, v6, v1])]).
step(\+ member(v6, [v5, v4, v3]), absent, [], []).
step(\+ member(v1, [v5, v4, v3, v6]), absent, [], []).
step(\+ member(v2, [v5, v4, v3, v6, v1]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v3, v6, v2, v1]),
     rule(22),
     ['Path' = [v5, v4, v3, v6, v2, v1]],
     [hamiltonian_path([v5, v4, v3, v6, v2, v1])]).
step(hamiltonian_path([v5, v4, v3, v6, v2, v1]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v3, 'D' = v6, 'E' = v2, 'F' = v1],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v5, v4]),
      vertex(v6),
      adjacent(v3, v6),
      \+ member(v6, [v5, v4, v3]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v4, v3, v6]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v5, v4, v3, v6, v2])]).
step(\+ member(v2, [v5, v4, v3, v6]), absent, [], []).
step(\+ member(v1, [v5, v4, v3, v6, v2]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v6, v1, v2, v3]),
     rule(22),
     ['Path' = [v5, v4, v6, v1, v2, v3]],
     [hamiltonian_path([v5, v4, v6, v1, v2, v3])]).
step(hamiltonian_path([v5, v4, v6, v1, v2, v3]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v6, 'D' = v1, 'E' = v2, 'F' = v3],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v4]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v5, v4, v6]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v4, v6, v1]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v4, v6, v1, v2])]).
step(\+ member(v6, [v5, v4]), absent, [], []).
step(\+ member(v1, [v5, v4, v6]), absent, [], []).
step(\+ member(v2, [v5, v4, v6, v1]), absent, [], []).
step(\+ member(v3, [v5, v4, v6, v1, v2]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v6, v1, v3, v2]),
     rule(22),
     ['Path' = [v5, v4, v6, v1, v3, v2]],
     [hamiltonian_path([v5, v4, v6, v1, v3, v2])]).
step(hamiltonian_path([v5, v4, v6, v1, v3, v2]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v6, 'D' = v1, 'E' = v3, 'F' = v2],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v4]),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v5, v4, v6]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v4, v6, v1]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v4, v6, v1, v3])]).
step(\+ member(v3, [v5, v4, v6, v1]), absent, [], []).
step(\+ member(v2, [v5, v4, v6, v1, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v6, v2, v1, v3]),
     rule(22),
     ['Path' = [v5, v4, v6, v2, v1, v3]],
     [hamiltonian_path([v5, v4, v6, v2, v1, v3])]).
step(hamiltonian_path([v5, v4, v6, v2, v1, v3]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v6, 'D' = v2, 'E' = v1, 'F' = v3],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v4]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v4, v6]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v5, v4, v6, v2]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v5, v4, v6, v2, v1])]).
step(\+ member(v2, [v5, v4, v6]), absent, [], []).
step(\+ member(v1, [v5, v4, v6, v2]), absent, [], []).
step(\+ member(v3, [v5, v4, v6, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v6, v2, v3, v1]),
     rule(22),
     ['Path' = [v5, v4, v6, v2, v3, v1]],
     [hamiltonian_path([v5, v4, v6, v2, v3, v1])]).
step(hamiltonian_path([v5, v4, v6, v2, v3, v1]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v6, 'D' = v2, 'E' = v3, 'F' = v1],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v4]),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v5, v4, v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v5, v4, v6, v2]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v5, v4, v6, v2, v3])]).
step(\+ member(v3, [v5, v4, v6, v2]), absent, [], []).
step(\+ member(v1, [v5, v4, v6, v2, v3]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v6, v3, v1, v2]),
     rule(22),
     ['Path' = [v5, v4, v6, v3, v1, v2]],
     [hamiltonian_path([v5, v4, v6, v3, v1, v2])]).
step(hamiltonian_path([v5, v4, v6, v3, v1, v2]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v6, 'D' = v3, 'E' = v1, 'F' = v2],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v4]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v4, v6]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v5, v4, v6, v3]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v5, v4, v6, v3, v1])]).
step(\+ member(v3, [v5, v4, v6]), absent, [], []).
step(\+ member(v1, [v5, v4, v6, v3]), absent, [], []).
step(\+ member(v2, [v5, v4, v6, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v5, v4, v6, v3, v2, v1]),
     rule(22),
     ['Path' = [v5, v4, v6, v3, v2, v1]],
     [hamiltonian_path([v5, v4, v6, v3, v2, v1])]).
step(hamiltonian_path([v5, v4, v6, v3, v2, v1]),
     rule(20),
     ['A' = v5, 'B' = v4, 'C' = v6, 'D' = v3, 'E' = v2, 'F' = v1],
     [vertex(v5),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v5]),
      vertex(v6),
      adjacent(v4, v6),
      \+ member(v6, [v5, v4]),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v5, v4, v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v5, v4, v6, v3]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v5, v4, v6, v3, v2])]).
step(\+ member(v2, [v5, v4, v6, v3]), absent, [], []).
step(\+ member(v1, [v5, v4, v6, v3, v2]), absent, [], []).
step(hamiltonianPath(graph, [v6, v1, v2, v3, v4, v5]),
     rule(22),
     ['Path' = [v6, v1, v2, v3, v4, v5]],
     [hamiltonian_path([v6, v1, v2, v3, v4, v5])]).
step(hamiltonian_path([v6, v1, v2, v3, v4, v5]),
     rule(20),
     ['A' = v6, 'B' = v1, 'C' = v2, 'D' = v3, 'E' = v4, 'F' = v5],
     [vertex(v6),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v6]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v6, v1]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v6, v1, v2]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v6, v1, v2, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v1, v2, v3, v4])]).
step(\+ member(v1, [v6]), absent, [], []).
step(\+ member(v2, [v6, v1]), absent, [], []).
step(\+ member(v3, [v6, v1, v2]), absent, [], []).
step(\+ member(v4, [v6, v1, v2, v3]), absent, [], []).
step(\+ member(v5, [v6, v1, v2, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v6, v1, v3, v2, v4, v5]),
     rule(22),
     ['Path' = [v6, v1, v3, v2, v4, v5]],
     [hamiltonian_path([v6, v1, v3, v2, v4, v5])]).
step(hamiltonian_path([v6, v1, v3, v2, v4, v5]),
     rule(20),
     ['A' = v6, 'B' = v1, 'C' = v3, 'D' = v2, 'E' = v4, 'F' = v5],
     [vertex(v6),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v6]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v6, v1]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v6, v1, v3]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v6, v1, v3, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v1, v3, v2, v4])]).
step(\+ member(v3, [v6, v1]), absent, [], []).
step(\+ member(v2, [v6, v1, v3]), absent, [], []).
step(\+ member(v4, [v6, v1, v3, v2]), absent, [], []).
step(\+ member(v5, [v6, v1, v3, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v6, v1, v5, v4, v2, v3]),
     rule(22),
     ['Path' = [v6, v1, v5, v4, v2, v3]],
     [hamiltonian_path([v6, v1, v5, v4, v2, v3])]).
step(hamiltonian_path([v6, v1, v5, v4, v2, v3]),
     rule(20),
     ['A' = v6, 'B' = v1, 'C' = v5, 'D' = v4, 'E' = v2, 'F' = v3],
     [vertex(v6),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v6, v1, v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v6, v1, v5, v4]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v6, v1, v5, v4, v2])]).
step(\+ member(v5, [v6, v1]), absent, [], []).
step(\+ member(v4, [v6, v1, v5]), absent, [], []).
step(\+ member(v2, [v6, v1, v5, v4]), absent, [], []).
step(\+ member(v3, [v6, v1, v5, v4, v2]), absent, [], []).
step(hamiltonianPath(graph, [v6, v1, v5, v4, v3, v2]),
     rule(22),
     ['Path' = [v6, v1, v5, v4, v3, v2]],
     [hamiltonian_path([v6, v1, v5, v4, v3, v2])]).
step(hamiltonian_path([v6, v1, v5, v4, v3, v2]),
     rule(20),
     ['A' = v6, 'B' = v1, 'C' = v5, 'D' = v4, 'E' = v3, 'F' = v2],
     [vertex(v6),
      vertex(v1),
      adjacent(v6, v1),
      \+ member(v1, [v6]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v6, v1, v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v6, v1, v5, v4]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v6, v1, v5, v4, v3])]).
step(\+ member(v3, [v6, v1, v5, v4]), absent, [], []).
step(\+ member(v2, [v6, v1, v5, v4, v3]), absent, [], []).
step(hamiltonianPath(graph, [v6, v2, v1, v3, v4, v5]),
     rule(22),
     ['Path' = [v6, v2, v1, v3, v4, v5]],
     [hamiltonian_path([v6, v2, v1, v3, v4, v5])]).
step(hamiltonian_path([v6, v2, v1, v3, v4, v5]),
     rule(20),
     ['A' = v6, 'B' = v2, 'C' = v1, 'D' = v3, 'E' = v4, 'F' = v5],
     [vertex(v6),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v6]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v6, v2]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v6, v2, v1]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v6, v2, v1, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v2, v1, v3, v4])]).
step(\+ member(v2, [v6]), absent, [], []).
step(\+ member(v1, [v6, v2]), absent, [], []).
step(\+ member(v3, [v6, v2, v1]), absent, [], []).
step(\+ member(v4, [v6, v2, v1, v3]), absent, [], []).
step(\+ member(v5, [v6, v2, v1, v3, v4]), absent, [], []).
step(hamiltonianPath(graph, [v6, v2, v1, v5, v4, v3]),
     rule(22),
     ['Path' = [v6, v2, v1, v5, v4, v3]],
     [hamiltonian_path([v6, v2, v1, v5, v4, v3])]).
step(hamiltonian_path([v6, v2, v1, v5, v4, v3]),
     rule(20),
     ['A' = v6, 'B' = v2, 'C' = v1, 'D' = v5, 'E' = v4, 'F' = v3],
     [vertex(v6),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v6]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v6, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v2, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v6, v2, v1, v5]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v6, v2, v1, v5, v4])]).
step(\+ member(v5, [v6, v2, v1]), absent, [], []).
step(\+ member(v4, [v6, v2, v1, v5]), absent, [], []).
step(\+ member(v3, [v6, v2, v1, v5, v4]), absent, [], []).
step(hamiltonianPath(graph, [v6, v2, v3, v1, v5, v4]),
     rule(22),
     ['Path' = [v6, v2, v3, v1, v5, v4]],
     [hamiltonian_path([v6, v2, v3, v1, v5, v4])]).
step(hamiltonian_path([v6, v2, v3, v1, v5, v4]),
     rule(20),
     ['A' = v6, 'B' = v2, 'C' = v3, 'D' = v1, 'E' = v5, 'F' = v4],
     [vertex(v6),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v6, v2]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v6, v2, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v2, v3, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v6, v2, v3, v1, v5])]).
step(\+ member(v3, [v6, v2]), absent, [], []).
step(\+ member(v1, [v6, v2, v3]), absent, [], []).
step(\+ member(v5, [v6, v2, v3, v1]), absent, [], []).
step(\+ member(v4, [v6, v2, v3, v1, v5]), absent, [], []).
step(hamiltonianPath(graph, [v6, v2, v3, v4, v5, v1]),
     rule(22),
     ['Path' = [v6, v2, v3, v4, v5, v1]],
     [hamiltonian_path([v6, v2, v3, v4, v5, v1])]).
step(hamiltonian_path([v6, v2, v3, v4, v5, v1]),
     rule(20),
     ['A' = v6, 'B' = v2, 'C' = v3, 'D' = v4, 'E' = v5, 'F' = v1],
     [vertex(v6),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v6]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v6, v2]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v6, v2, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v2, v3, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v6, v2, v3, v4, v5])]).
step(\+ member(v4, [v6, v2, v3]), absent, [], []).
step(\+ member(v5, [v6, v2, v3, v4]), absent, [], []).
step(\+ member(v1, [v6, v2, v3, v4, v5]), absent, [], []).
step(hamiltonianPath(graph, [v6, v2, v4, v3, v1, v5]),
     rule(22),
     ['Path' = [v6, v2, v4, v3, v1, v5]],
     [hamiltonian_path([v6, v2, v4, v3, v1, v5])]).
step(hamiltonian_path([v6, v2, v4, v3, v1, v5]),
     rule(20),
     ['A' = v6, 'B' = v2, 'C' = v4, 'D' = v3, 'E' = v1, 'F' = v5],
     [vertex(v6),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v6]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v6, v2]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v6, v2, v4]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v6, v2, v4, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v2, v4, v3, v1])]).
step(\+ member(v4, [v6, v2]), absent, [], []).
step(\+ member(v3, [v6, v2, v4]), absent, [], []).
step(\+ member(v1, [v6, v2, v4, v3]), absent, [], []).
step(\+ member(v5, [v6, v2, v4, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v6, v2, v4, v5, v1, v3]),
     rule(22),
     ['Path' = [v6, v2, v4, v5, v1, v3]],
     [hamiltonian_path([v6, v2, v4, v5, v1, v3])]).
step(hamiltonian_path([v6, v2, v4, v5, v1, v3]),
     rule(20),
     ['A' = v6, 'B' = v2, 'C' = v4, 'D' = v5, 'E' = v1, 'F' = v3],
     [vertex(v6),
      vertex(v2),
      adjacent(v6, v2),
      \+ member(v2, [v6]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v6, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v2, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v6, v2, v4, v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v6, v2, v4, v5, v1])]).
step(\+ member(v5, [v6, v2, v4]), absent, [], []).
step(\+ member(v1, [v6, v2, v4, v5]), absent, [], []).
step(\+ member(v3, [v6, v2, v4, v5, v1]), absent, [], []).
step(hamiltonianPath(graph, [v6, v3, v1, v2, v4, v5]),
     rule(22),
     ['Path' = [v6, v3, v1, v2, v4, v5]],
     [hamiltonian_path([v6, v3, v1, v2, v4, v5])]).
step(hamiltonian_path([v6, v3, v1, v2, v4, v5]),
     rule(20),
     ['A' = v6, 'B' = v3, 'C' = v1, 'D' = v2, 'E' = v4, 'F' = v5],
     [vertex(v6),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v6]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v6, v3]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v6, v3, v1]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v6, v3, v1, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v3, v1, v2, v4])]).
step(\+ member(v3, [v6]), absent, [], []).
step(\+ member(v1, [v6, v3]), absent, [], []).
step(\+ member(v2, [v6, v3, v1]), absent, [], []).
step(\+ member(v4, [v6, v3, v1, v2]), absent, [], []).
step(\+ member(v5, [v6, v3, v1, v2, v4]), absent, [], []).
step(hamiltonianPath(graph, [v6, v3, v1, v5, v4, v2]),
     rule(22),
     ['Path' = [v6, v3, v1, v5, v4, v2]],
     [hamiltonian_path([v6, v3, v1, v5, v4, v2])]).
step(hamiltonian_path([v6, v3, v1, v5, v4, v2]),
     rule(20),
     ['A' = v6, 'B' = v3, 'C' = v1, 'D' = v5, 'E' = v4, 'F' = v2],
     [vertex(v6),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v6]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v6, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v3, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v6, v3, v1, v5]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v6, v3, v1, v5, v4])]).
step(\+ member(v5, [v6, v3, v1]), absent, [], []).
step(\+ member(v4, [v6, v3, v1, v5]), absent, [], []).
step(\+ member(v2, [v6, v3, v1, v5, v4]), absent, [], []).
step(hamiltonianPath(graph, [v6, v3, v2, v1, v5, v4]),
     rule(22),
     ['Path' = [v6, v3, v2, v1, v5, v4]],
     [hamiltonian_path([v6, v3, v2, v1, v5, v4])]).
step(hamiltonian_path([v6, v3, v2, v1, v5, v4]),
     rule(20),
     ['A' = v6, 'B' = v3, 'C' = v2, 'D' = v1, 'E' = v5, 'F' = v4],
     [vertex(v6),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v6, v3]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v6, v3, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v3, v2, v1]),
      vertex(v4),
      adjacent(v5, v4),
      \+ member(v4, [v6, v3, v2, v1, v5])]).
step(\+ member(v2, [v6, v3]), absent, [], []).
step(\+ member(v1, [v6, v3, v2]), absent, [], []).
step(\+ member(v5, [v6, v3, v2, v1]), absent, [], []).
step(\+ member(v4, [v6, v3, v2, v1, v5]), absent, [], []).
step(hamiltonianPath(graph, [v6, v3, v2, v4, v5, v1]),
     rule(22),
     ['Path' = [v6, v3, v2, v4, v5, v1]],
     [hamiltonian_path([v6, v3, v2, v4, v5, v1])]).
step(hamiltonian_path([v6, v3, v2, v4, v5, v1]),
     rule(20),
     ['A' = v6, 'B' = v3, 'C' = v2, 'D' = v4, 'E' = v5, 'F' = v1],
     [vertex(v6),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v6]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v6, v3]),
      vertex(v4),
      adjacent(v2, v4),
      \+ member(v4, [v6, v3, v2]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v3, v2, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v6, v3, v2, v4, v5])]).
step(\+ member(v4, [v6, v3, v2]), absent, [], []).
step(\+ member(v5, [v6, v3, v2, v4]), absent, [], []).
step(\+ member(v1, [v6, v3, v2, v4, v5]), absent, [], []).
step(hamiltonianPath(graph, [v6, v3, v4, v2, v1, v5]),
     rule(22),
     ['Path' = [v6, v3, v4, v2, v1, v5]],
     [hamiltonian_path([v6, v3, v4, v2, v1, v5])]).
step(hamiltonian_path([v6, v3, v4, v2, v1, v5]),
     rule(20),
     ['A' = v6, 'B' = v3, 'C' = v4, 'D' = v2, 'E' = v1, 'F' = v5],
     [vertex(v6),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v6]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v6, v3]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v6, v3, v4]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v6, v3, v4, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v3, v4, v2, v1])]).
step(\+ member(v4, [v6, v3]), absent, [], []).
step(\+ member(v2, [v6, v3, v4]), absent, [], []).
step(\+ member(v1, [v6, v3, v4, v2]), absent, [], []).
step(\+ member(v5, [v6, v3, v4, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v6, v3, v4, v5, v1, v2]),
     rule(22),
     ['Path' = [v6, v3, v4, v5, v1, v2]],
     [hamiltonian_path([v6, v3, v4, v5, v1, v2])]).
step(hamiltonian_path([v6, v3, v4, v5, v1, v2]),
     rule(20),
     ['A' = v6, 'B' = v3, 'C' = v4, 'D' = v5, 'E' = v1, 'F' = v2],
     [vertex(v6),
      vertex(v3),
      adjacent(v6, v3),
      \+ member(v3, [v6]),
      vertex(v4),
      adjacent(v3, v4),
      \+ member(v4, [v6, v3]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v3, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v6, v3, v4, v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v6, v3, v4, v5, v1])]).
step(\+ member(v5, [v6, v3, v4]), absent, [], []).
step(\+ member(v1, [v6, v3, v4, v5]), absent, [], []).
step(\+ member(v2, [v6, v3, v4, v5, v1]), absent, [], []).
step(hamiltonianPath(graph, [v6, v4, v2, v3, v1, v5]),
     rule(22),
     ['Path' = [v6, v4, v2, v3, v1, v5]],
     [hamiltonian_path([v6, v4, v2, v3, v1, v5])]).
step(hamiltonian_path([v6, v4, v2, v3, v1, v5]),
     rule(20),
     ['A' = v6, 'B' = v4, 'C' = v2, 'D' = v3, 'E' = v1, 'F' = v5],
     [vertex(v6),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v6]),
      vertex(v2),
      adjacent(v4, v2),
      \+ member(v2, [v6, v4]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v6, v4, v2]),
      vertex(v1),
      adjacent(v3, v1),
      \+ member(v1, [v6, v4, v2, v3]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v4, v2, v3, v1])]).
step(\+ member(v4, [v6]), absent, [], []).
step(\+ member(v2, [v6, v4]), absent, [], []).
step(\+ member(v3, [v6, v4, v2]), absent, [], []).
step(\+ member(v1, [v6, v4, v2, v3]), absent, [], []).
step(\+ member(v5, [v6, v4, v2, v3, v1]), absent, [], []).
step(hamiltonianPath(graph, [v6, v4, v3, v2, v1, v5]),
     rule(22),
     ['Path' = [v6, v4, v3, v2, v1, v5]],
     [hamiltonian_path([v6, v4, v3, v2, v1, v5])]).
step(hamiltonian_path([v6, v4, v3, v2, v1, v5]),
     rule(20),
     ['A' = v6, 'B' = v4, 'C' = v3, 'D' = v2, 'E' = v1, 'F' = v5],
     [vertex(v6),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v6]),
      vertex(v3),
      adjacent(v4, v3),
      \+ member(v3, [v6, v4]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v6, v4, v3]),
      vertex(v1),
      adjacent(v2, v1),
      \+ member(v1, [v6, v4, v3, v2]),
      vertex(v5),
      adjacent(v1, v5),
      \+ member(v5, [v6, v4, v3, v2, v1])]).
step(\+ member(v3, [v6, v4]), absent, [], []).
step(\+ member(v2, [v6, v4, v3]), absent, [], []).
step(\+ member(v1, [v6, v4, v3, v2]), absent, [], []).
step(\+ member(v5, [v6, v4, v3, v2, v1]), absent, [], []).
step(hamiltonianPath(graph, [v6, v4, v5, v1, v2, v3]),
     rule(22),
     ['Path' = [v6, v4, v5, v1, v2, v3]],
     [hamiltonian_path([v6, v4, v5, v1, v2, v3])]).
step(hamiltonian_path([v6, v4, v5, v1, v2, v3]),
     rule(20),
     ['A' = v6, 'B' = v4, 'C' = v5, 'D' = v1, 'E' = v2, 'F' = v3],
     [vertex(v6),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v6, v4, v5]),
      vertex(v2),
      adjacent(v1, v2),
      \+ member(v2, [v6, v4, v5, v1]),
      vertex(v3),
      adjacent(v2, v3),
      \+ member(v3, [v6, v4, v5, v1, v2])]).
step(\+ member(v5, [v6, v4]), absent, [], []).
step(\+ member(v1, [v6, v4, v5]), absent, [], []).
step(\+ member(v2, [v6, v4, v5, v1]), absent, [], []).
step(\+ member(v3, [v6, v4, v5, v1, v2]), absent, [], []).
step(hamiltonianPath(graph, [v6, v4, v5, v1, v3, v2]),
     rule(22),
     ['Path' = [v6, v4, v5, v1, v3, v2]],
     [hamiltonian_path([v6, v4, v5, v1, v3, v2])]).
step(hamiltonian_path([v6, v4, v5, v1, v3, v2]),
     rule(20),
     ['A' = v6, 'B' = v4, 'C' = v5, 'D' = v1, 'E' = v3, 'F' = v2],
     [vertex(v6),
      vertex(v4),
      adjacent(v6, v4),
      \+ member(v4, [v6]),
      vertex(v5),
      adjacent(v4, v5),
      \+ member(v5, [v6, v4]),
      vertex(v1),
      adjacent(v5, v1),
      \+ member(v1, [v6, v4, v5]),
      vertex(v3),
      adjacent(v1, v3),
      \+ member(v3, [v6, v4, v5, v1]),
      vertex(v2),
      adjacent(v3, v2),
      \+ member(v2, [v6, v4, v5, v1, v3])]).
step(\+ member(v3, [v6, v4, v5, v1]), absent, [], []).
step(\+ member(v2, [v6, v4, v5, v1, v3]), absent, [], []).
