You are on page 1of 1

Schemes:

A(a,b)
B(a,b)
rA(a,b)
Reflexive(a,b)
blah(a,b)
colB(b)
Symmetric(a,b)
Transitive(a,b)
SymTran(a,b)
Facts:
A('1','2').
A('2','3').
A('3','4').
B('1','2').
B('2','1').
B('2','2').
B('3','2').
B('5','3').
Rules:
#Symmetric(X,Y) :- A(X,Y).
#Symmetric(X,Y) :- Symmetric(Y,X).
#rA(a,b) :- blah(b,a).
rA(a,b) :- A(b,a),B(a,b).
#rA(a,b) :- A(b,a),blah(b,a).
#blah(a,b) :- A(b,a),B(a,b).
#blah(a,b) :- A(b,a),B(b,a).
Reflexive(X,Y) :- A(X,Z),rA(Z,Y).
#Transitive(X,Y) :- A(X,Y).
#Transitive(X,Z) :- Transitive(X,Y),Transitive(Y,Z).
#SymTran(X,Y) :- SymTran(Y,X).
#SymTran(X,Z) :- SymTran(X,Y),SymTran(Y,Z).
#SymTran(X,Y) :- A(Y,X).
Queries:
Symmetric(Q,R)?
Reflexive(Q,R)?
Transitive('1',P)?
A('1','2')?
Symmetric('2','1')?
SymTran(X,Y)?
rA(A,B)?
blah('3',A)?

You might also like