/* Learning qsort/2 predicate */ background([qsort/2,components/3,part/4,conc/3]). propositional([[]]). /* Examples of the target predicate */ qsort('[3,5,4,2,1]','[1,2,3,4,5]'). qsort('[5,4]','[4,5]'). qsort('[2,1]','[1,2]'). qsort('[4]','[4]'). qsort('[1]','[1]'). qsort([],[]). /* Background knowledge */ part(3,'[5,4,2,1]','[2,1]','[5,4]'). part(3,'[4,2,1]','[2,1]','[4]'). part(3,'[5,4,2]','[2]','[5,4]'). part(5,'[4]','[4]',[]). part(2,'[1]','[1]',[]). part(4,[],[],[]). part(1,[],[],[]). conc('[1,2]','[3,4,5]','[1,2,3,4,5]'). conc('[4]','[5]','[4,5]'). conc('[1]','[2]','[1,2]'). conc([],'[1]','[1]'). conc([],'[4]','[4]'). conc([],[],[]). components('[3,5,4,2,1]',3,'[5,4,2,1]'). components('[3,4,2,1]',3,'[4,2,1]'). components('[3,5,4,2]',3,'[5,4,2]'). components('[3,4,5]',3,'[4,5]'). components('[5,4]',5,'[4]'). components('[2,1]',2,'[1]'). components('[4]',4,[]). components('[1]',1,[]). components('[5]',5,[]). components('[2]',2,[]).