43 lines
740 B
Racket
43 lines
740 B
Racket
#lang datalog
|
|
|
|
parent(john,douglas).
|
|
parent(john,douglas)?
|
|
% parent(john, douglas).
|
|
|
|
parent(john,ebbon)?
|
|
|
|
parent(bob,john).
|
|
parent(ebbon,bob).
|
|
parent(A,B)?
|
|
% parent(john, douglas).
|
|
% parent(bob, john).
|
|
% parent(ebbon, bob).
|
|
|
|
parent(john,B)?
|
|
% parent(john, douglas).
|
|
|
|
parent(A,A)?
|
|
|
|
ancestor(A,B) :- parent(A,B).
|
|
ancestor(A,B) :- parent(A,C), ancestor(C, B).
|
|
ancestor(A, B)?
|
|
% ancestor(ebbon, bob).
|
|
% ancestor(bob, john).
|
|
% ancestor(john, douglas).
|
|
% ancestor(bob, douglas).
|
|
% ancestor(ebbon, john).
|
|
% ancestor(ebbon, douglas).
|
|
|
|
ancestor(X,john)?
|
|
% ancestor(bob, john).
|
|
% ancestor(ebbon, john).
|
|
|
|
parent(bob, john)~
|
|
parent(A,B)?
|
|
% parent(john, douglas).
|
|
% parent(ebbon, bob).
|
|
|
|
ancestor(A,B)?
|
|
% ancestor(john, douglas).
|
|
% ancestor(ebbon, bob).
|