% ILP-503 (Prof. Dr. Silvio do Lago Pereira)

inicial(a).

meta(j).

ação(vai(P,Q), P, Q, D) :-
   via(P, Q), dist(P, Q, D).

h(S,H) :- meta(G), dist(S, G, H).

via(a, b). via(a, d). via(a, e).
via(a, h). via(b, c). via(c, f).
via(d, c). via(d, j). via(e, g).
via(f, i). via(g, j). via(h, j).
via(i, d). via(i, j). via(j, a).

pos(a, 1, 2). pos(b, 1, 6). pos(c, 2, 9).
pos(d, 4, 7). pos(e, 4, 3). pos(f, 6, 9).
pos(g, 6, 4). pos(h, 8, 2). pos(i, 9, 8).
pos(j, 9, 4).

dist(P, Q, D) :-
   pos(P, Xp, Yp), pos(Q, Xq, Yq),
   D is sqrt((Xp-Xq)^2 + (Yp-Yq)^2).
