Warning:
This wiki has been archived and is now read-only.
Prolog Example
From RIF
Back to PRD Logic Example
This Prolog program does the following:
- Lists some relationships facts: parents and married.
- Provides some rules to infer new relationships
- Provides some rules to infer Aunts and Uncles
- Ends by requesting the aunts and uncles for william.
parents(william, diana, charles). parents(henry, diana, charles). parents(charles, elizabeth, philip). parents(diana, frances, edward). parents(anne, elizabeth, philip). parents(andrew, elizabeth, philip). parents(edwardW, elizabeth, philip). married(diana, charles). married(elizabeth, philip). married(frances, edward). married(anne, mark). parent(C,M) <= parents(C,M,D). parent(C,D) <= parents(C,M,D). sibling(X,Y) <= parents(X,M,D) and parents(Y,M,D). aORuDirect(C, A) <= parent(C,P) and sibling(P,A). aORuMarr(C, A) <= aORuDirect(C,X) and married(X,A). aORuMarr(C, A) <= aORuDirect(C,X) and married(A,X). aORu(C,A) <= aORuDirect(C,A). aORu(C,A) <= aORuMarr(C,A). ? aORu(william, A).