%% Postive examples only
%:-set(posonly)?

%% Mode declarations    
:-modeh(*, grandfather(+person,-person))?
:-modeb(*, father(+person,-person))?
:-modeb(*, mother(+person,-person))?
:-modeb(*, son(+person,-person))?
:-modeb(*, daughter(+person,-person))?

%% Postive examples    
grandfather(namihei, tarao).
grandfather(mokuzu, katsuo).
grandfather(mokuzu, wakame).
grandfather(mokuzu, sazae).
grandfather(ikari,katsuo).
grandfather(ikari,wakame).
grandfather(ikari,sazae).

%% Negative examples    
:-grandfather(fune, tarao).
:-grandfather(mozuku,sazae).
:-grandfather(mozuku,katsuo).
:-grandfather(mozuku,wakame).
:-grandfather(hesaki,sazae).
:-grandfather(hesaki,katsuo).
:-grandfather(hesaki,wakame).

%% Types    

person(mokuzu).
person(mozuku).
person(ikari).
person(hesaki).
person(namihei).
person(katsuo).
person(tarao).
person(masuo).
person(fune).
person(wakame).
person(sazae).

%% Background knowledge
    
male(mokuzu).
male(ikari).
male(namihei).
male(katsuo).
male(tarao).
male(masuo).

female(hesaki).
female(mozuku).
female(fune).
female(wakame).
female(sazae).

father(ikari,fune).
father(mokuzu,namihei).
father(masuo, tarao).
father(namihei, sazae).
father(namihei, katsuo).
father(namihei, wakame).

mother(hesaki,fune).
mother(mozuku,namihei).
mother(sazae, tarao).
mother(fune, sazae).
mother(fune, katsuo).
mother(fune, wakame).
