%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% The "relative" Benchmark.
% Part of the DPPD Library.
% 
% A Lam & Kusalik benchmark which can be fully unfolded. It uses neither
% negations nor builtins.

:- module relative.

:- interface.

:- pred relative is semidet.

:- implementation.

:- import_module relative_impl.

relative :-
    relative_john(peter).

% The partial deduction query
% 
% :- relative(john, X).
% 
% The run-time queries
% 
% :- relative(john, peter).
% 
% Example solution
% 
% This benchmark can be fully unfolded. With the ECCE partial deduction system
% one can obtain the following program, which runs more than 300 times faster
% than the original:
% 
% relative__1(anna).
% relative__1(john).
% relative__1(carol).
% relative__1(jonas).
% relative__1(paulina).
% relative__1(albertina).
% relative__1(peter).
% relative__1(maria).
% relative__1(mary).
% relative__1(jose).
% 
% Michael Leuschel / K.U. Leuven / michael@cs.kuleuven.ac.be
