motherOf(renate, susanne).
motherOf(susanne, aline).
ancestor(V,X) :- motherOf(V,X).
ancestor(V,X) :- motherOf(V,Y), ancestor(Y,X).
anc(Z,a)
mO(Z,a)
{Z/s}
mO(Z, Y ),anc(Y,a)
{Z/r,Y /s}
{Z/s, Y /a}
✷ anc(s,a) . . . . . . mO(Z, Y ),mO(Y, Y1),anc(Y1,a)
mO(s,a) . . . . . . mO(Z, Y ),mO(Y, Y1),mO(Y, Y2),anc(Y2,a)
✷ ...
motherOf(renate, susanne).
motherOf(susanne, aline).
ancestor(V,X) :- motherOf(V,X).
ancestor(V,X) :- motherOf(V,Y), ancestor(Y,X).
anc(Z, a)
mO(Z, a)
{Z/s}
mO(Z, Y ),anc(Y, a)
{Z/r,Y /s} {Z/s,Y /a}
✷ anc(s,a) anc(a,a)
mO(s,a) mO(s, Y1),anc(Y1,a)
{Y1/a}
mO(a,a) mO(a, Y3),anc(Y3,a)
✷ anc(a,a)
mO(a,a) mO(a, Y4),anc(Y4,a)
motherOf(renate, susanne).
motherOf(susanne, aline).
ancestor(V,X) :- motherOf(V,X).
ancestor(V,X) :- ancestor(Y,X), motherOf(V,Y).
anc(Z, a)
mO(Z,a)
{Z/s}
anc(Y,a),mO(Z, Y )
✷ mO(Y,a),mO(Z, Y )
{Y /s}
anc(Y1,a),mO(Y, Y1),mO(Z, Y )
mO(Z,s)
{Z/r}
... ...
✷
motherOf(renate, susanne).
motherOf(susanne, aline).
ancestor(V,X) :- ancestor(Y,X), motherOf(V,Y).
ancestor(V,X) :- motherOf(V,X).
anc(Z, a)
anc(Y,a),mO(Z, Y ) mO(Z, a)
{Z/s}
anc(Y1,a),mO(Y, Y1),mO(Z, Y ) mO(Y,a),mO(Z, Y )
{Y /s}
✷
... ... mO(Z,s)
{Z/r}
✷