
// -- edge --
.decl A(node1:number,node2:number)
.output A()
.decl B(node1:number,node2:number)
.output B()
.decl C(node1:number,node2:number)
.output C()
.decl D(node1:number,node2:number)
.output D()
.decl E(node1:number,node2:number)
.output E()
E(1,2).

A(v1,v4) :- B(v1,v2), v1 < v2, C(v2,v3), D(v3,v4), !E(v1,v4). .plan 0:(1,2,4)
B(v1,v4) :- C(v1,v2), D(v2,v3), A(v3,v4).
C(v1,v4) :- D(v1,v2), A(v2,v3), B(v3,v4).
D(v1,v4) :- A(v1,v2), B(v2,v3), C(v3,v4).
