solution:
Solution:
Substitution:
[(_1?Z,1$_$_2?Z)(_1?X,1$_$_2?X)(1$_$_2?Z,2$_$_1?Z)(1$_$_2?X,2$_$_1?X)(2$_$_1?X,wim)(2$_$_1?Y,christine)(2$_$_1?Z,elza)]
Proof:
(gender(elza,female)./2,gender(elza,female)./2)
(child(christine,elza)./2,child(christine,elza)./2)
(child(wim,christine)./2,child(wim,christine)./2)
(child(wim,christine),child(christine,elza) :>
grandparent(elza,wim)./2,grandparent(elza,wim)./2)
(grandparent(elza,wim),gender(elza,female) :>
grandmother(elza,wim)./2,grandmother(elza,wim)./10)
General rule:
"gender(X2,female),child(X1,X2),child(X3,X1) :>
grandmother(X2,X3)."