view 3-Prolog/day1-unification.pl @ 54:91d02b3d74f8

Write up "unification" code
author IBBoard <dev@ibboard.co.uk>
date Tue, 26 Sep 2017 20:26:18 +0100
parents
children
line wrap: on
line source

% "=" isn't assignment in Prolog, it is "unification" - finding something where
% both structures are identical
cat(lion).
cat(tiger).

% This rule makes sure that X, Y and Z match a lion, a tiger and a bear (oh my!)
dorothy(X, Y, Z) :- X = lion, Y = tiger, Z = bear.

% This rule checks whether both things are cats, if so then they are "twin_cats"
twin_cats(X, Y) :- cat(X), cat(Y).