racket/collects/datalog/tests/paren-examples/ancestor.rkt
2010-06-25 17:08:13 -06:00

12 lines
243 B
Racket

#lang datalog/sexp
% Equality test
ancestor(A, B) :-
parent(A, B).
ancestor(A, B) :-
parent(A, C),
D = C, % Unification required
ancestor(D, B).
parent(john, douglas).
parent(bob, john).
parent(ebbon, bob).
ancestor(A, B)?