/* Learning palidrome/1 using conc/3 */ background([palindrome/1,conc/3,components/3]). propositional([[]]). /* Examples of the target predicate */ palindrome('[c,a,b,a,c]'). palindrome('[a,b,a]'). palindrome('[a]'). palindrome('[b]'). palindrome('[c]'). palindrome([]). /* Background knowledge */ conc('[a,b,a]','[c]','[a,b,a,c]'). conc('[a,b]','[a,c]','[a,b,a,c]'). conc('[a]','[b,a,c]','[a,b,a,c]'). conc([],'[a,b,a,c]','[a,b,a,c]'). conc([],'[a,b,a]','[a,b,a]'). conc('[a]','[b,a]','[a,b,a]'). conc('[a,b]','[a]','[a,b,a]'). conc('[a,b,a]',[],'[a,b,a]'). conc([],'[a,b]','[a,b]'). conc('[a]','[b]','[a,b]'). conc('[a,b]',[],'[a,b]'). conc([],'[b,a]','[b,a]'). conc('[b]','[a]','[b,a]'). conc('[b,a]',[],'[b,a]'). conc([],'[a,a]','[a,a]'). conc('[a]','[a]','[a,a]'). conc('[a,a]',[],'[a,a]'). conc([],'[b,b]','[b,b]'). conc('[b]','[b]','[b,b]'). conc('[b,b]',[],'[b,b]'). conc([],'[a]','[a]'). conc('[a]',[],'[a]'). conc([],'[b]','[b]'). conc('[b]',[],'[b]'). conc([],[],[]). components('[c,a,b,a,c]',c,'[a,b,a,c]'). components('[a,a,b,a]',a,'[a,b,a]'). components('[a,b,a]',a,'[b,a]'). components('[b,a]',b,'[a]'). components('[a,b]',a,'[b]'). components('[a,c]',a,'[c]'). components('[c,a]',c,'[a]'). components('[c,b]',c,'[b]'). components('[b,c]',b,'[c]'). components('[a]',a,[]). components('[b]',b,[]). components('[c]',c,[]).