//open util/ordering[Node]

  sig Node {edges: set Node}

  run {} for 3 Node
  -----

  /*pred twoSAT {
    #Node = 2
  }
  run twoSAT for 3
  */

  pred tour[start: Node, t: seq Node, t': Node -> Int] {
    -- t visits everywhere
    t.elems = Node
    -- tour needs to use edges
    all i: t.inds - t.lastIdx | {
      t[add[1, i]] in t[i].edges
    }
    -- start and end in "start"
    --t[0] = start
    0.t = start
    t[t.lastIdx] = start

    t' = ~t
  }
  run tour for exactly 5 Node, 5 int, 6 seq