Let's say I have this scenario:
ascendent(X,Y) :- parent(X,Y).
ascendent(X,Y) :- parent(X,Z), ascendent(Z,Y).
brother(X,Y):-parent(Z,X),parent(Z,Y), X \= Y .
uncle(X,Y):-brother(X,Z),parent(Z,Y),X \= Y.
How can I know the predicates used by ascendent and the predicates that uses ascendent? Is there any built-in function or meta-predicate useful for this task?