Created
June 11, 2019 09:25
-
-
Save beerose/4dedd10767f0715bd2a90d3d4af468b0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
isMember(A, houses(A, _, _, _, _)). | |
isMember(A, houses(_, A, _, _, _)). | |
isMember(A, houses(_, _, A, _, _)). | |
isMember(A, houses(_, _, _, A, _)). | |
isMember(A, houses(_, _, _, _, A)). | |
isInMiddle(A, houses(_, _, A, _, _)). | |
isFisrt(A, houses(A, _, _, _, _)). | |
isNextTo(A, B, houses(B, A, _, _, _)). | |
isNextTo(A, B, houses(_, B, A, _, _)). | |
isNextTo(A, B, houses(_, _, B, A, _)). | |
isNextTo(A, B, houses(_, _, _, B, A)). | |
isNextTo(A, B, houses(A, B, _, _, _)). | |
isNextTo(A, B, houses(_, A, B, _, _)). | |
isNextTo(A, B, houses(_, _, A, B, _)). | |
isNextTo(A, B, houses(_, _, _, A, B)). | |
% house(Nationality, Color, Pet, Cigarette, Drink) | |
solve(Houses) :- | |
% Anglik ma czerwony dom | |
isMember(house(red, english, _, _, _), Houses), | |
% Hiszpan ma psa | |
isMember(house(_, spanish, dog, _, _), Houses), | |
% W zielonym domu pije się kawę | |
isMember(house(green, _, _, _, cofee), Houses), | |
% Ukrainiec pija herbatę | |
isMember(house(_, ukrainian, _, _, tea), Houses), | |
% Zielony dom sąsiaduje z białym | |
isNextTo(house(green, _, _, _, _), house(white, _, _, _, _), Houses), | |
% Właściciel węża pali winstony | |
isMember(house(_, _, snake, winston, _), Houses), | |
% W żółtym domu palą Koole | |
isMember(house(_, yellow, _, kool, _), Houses), | |
% W domu pośrodku piją mleko | |
isInMiddle(house(_, _, _, _, milk), Houses), | |
% Dom Norwega to pierszy z lewej | |
isFisrt(house(norwegian, _, _, _, _), Houses), | |
% Palacz Chesterfiledów jest sąsiadem własciciela lisa | |
isMember(house(_, _, fox, chesterfield, _), Houses), | |
% W domu sąsiadującym z właścicielem konia palą Koole | |
isNextTo(house(_, _, horse, _, _), house(_, _, _, kool, _), Houses), | |
% Palacz Lucky Strike pija sok | |
isMember(house(_, _, _, luckystrike, juice), Houses), | |
% Japończyk pali Kenty | |
isMember(house(japanese, _, _, kent, _), Houses), | |
% Norweg sąsiaduje z niebieskim domem | |
isNextTo(house(norwegian, _, _, _, _),house(_, blue, _, _, _), Houses), | |
% #1 zagadka -- Kto jest właścicielem słonia | |
isMember(house(_, _, elephant, _, _), Houses), | |
% #2 zagadka -- Kto pije wódkę | |
isMember(house(_, _, _, _, vodka), Houses). | |
drinksVodka(X) :- | |
solve(Houses), | |
isMember(house(X,_,_,_,vodka), Houses). | |
hasElephant(X) :- | |
solve(Houses), | |
isMember(house(X,_,elephant,_,_), Houses). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment