Skip to content

Instantly share code, notes, and snippets.

@SealOfTime
Created October 17, 2021 22:11
Show Gist options
  • Save SealOfTime/495fa7b88ed52c92261cc7ea9f26db06 to your computer and use it in GitHub Desktop.
Save SealOfTime/495fa7b88ed52c92261cc7ea9f26db06 to your computer and use it in GitHub Desktop.
female(vera).
female(shura).
female(tanya).
female(galya).
female(yana).
female(sasha).
female(luba).
female(aunt_yana).
female(lena).
female(diana).
male(kolya).
male(mishka).
male(zheka).
male(dmitriy).
male(vadim).
male(dimka).
male(mikhail).
male(peklo).
male(alex).
male(serge).
male(valya).
male(dima).
male(matvei).
male(pasha).
male(misha).
parent(mikhail, shura).
parent(mikhail, tanya).
parent(vera, shura).
parent(vera, tanya).
parent(tanya, serge).
parent(tanya, lena).
parent(peklo, valya).
parent(peklo, aunt_yana).
parent(shura, valya).
parent(galya, yana).
parent(galya, dima).
parent(yana, matvei).
parent(valya, matvei).
parent(sasha, luba).
parent(sasha, misha).
parent(sasha, pasha).
parent(serge, luba).
parent(serge, misha).
parent(serge, pasha).
parent(aunt_yana, dimka).
parent(aunt_yana, mishka).
parent(aunt_yana, zheka).
parent(dmitriy, vadim).
parent(dmitriy, diana).
parent(lena, vadim).
parent(lena, diana).
spouse(alex, galya).
spouse(sasha, serge).
spouse(vera, mikhail).
spouse(tanya, kolya).
spouse(lena, dmitriy).
father(X, Y) :- male(X), parent(X, Y).
mother(X, Y) :- female(X), parent(X, Y).
sibling(Sib1, Sib2) :- parent(CommonParent, Sib1), !, parent(CommonParent, Sib2), Sib1 \== Sib2.
sister(Sister, Sibling) :- female(Sister), sibling(Sister, Sibling).
brother(Brother, Sibling) :- male(Brother), sibling(Brother, Sibling).
pibling(Pibling, Nibling) :- sibling(Pibling, ParentOfNibling), parent(ParentOfNibling, Nibling).
uncle(Uncle, Nibling) :- male(Uncle), pibling(Uncle, Nibling).
aunt(Aunt, Nibling) :- female(Aunt), pibling(Aunt, Nibling).
nibling(Nibling, Pibling) :- pibling(Pibling, Nibling).
grandparent(GrandParent, GrandChild) :- parent(GrandParent, Parent), parent(Parent, GrandChild), !.
grandpa(GrandPa, GrandChild) :- male(GrandPa), grandparent(GrandPa, GrandChild).
grandma(GrandMa, GrandChild) :- female(GrandMa), grandparent(GrandMa, GrandChild).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment