
INPUT TEXT:
If someone X is more important than someone that is more important than someone Y then X is more important than Y.
John is more important than Mary.
Mary is more important than Bill.
Bill is more important than Sue.

RULES:
group([property(A,important,comp_than,B)]) <- [group([property(A,important,comp_than,C)]), group([property(C,important,comp_than,B)]), object(B,D,E,F,G,H), object(C,I,J,K,L,M), object(A,N,O,P,Q,R)].
group([property(named('Bill'),important,comp_than,named('Sue'))]).
group([property(named('John'),important,comp_than,named('Mary'))]).
group([property(named('Mary'),important,comp_than,named('Bill'))]).
object(named('Bill'),'Bill',named,na,eq,1).
object(named('John'),'John',named,na,eq,1).
object(named('Mary'),'Mary',named,na,eq,1).
object(named('Sue'),'Sue',named,na,eq,1).

SIMPLE RULES:
important(A,B) <- [important(A,C), important(C,B), something(B), something(C), something(A)].
important(named('Bill'),named('Sue')).
important(named('John'),named('Mary')).
important(named('Mary'),named('Bill')).

ANSWERSET #1:
object(named('Bill'),'Bill',named,na,eq,1).
object(named('John'),'John',named,na,eq,1).
object(named('Mary'),'Mary',named,na,eq,1).
object(named('Sue'),'Sue',named,na,eq,1).
group([property(named('John'),important,comp_than,named('Bill'))]).
group([property(named('John'),important,comp_than,named('Mary'))]).
group([property(named('Mary'),important,comp_than,named('Bill'))]).
group([property(named('John'),important,comp_than,named('Sue'))]).
group([property(named('Mary'),important,comp_than,named('Sue'))]).
group([property(named('Bill'),important,comp_than,named('Sue'))]).

ANSWERTEXT #1:
Bill is more important than Sue.
Mary is more important than Sue.
John is more important than Sue.
Mary is more important than Bill.
John is more important than Mary.
John is more important than Bill.

