.TH Files 5 "September 7, 1994" .SH NAME .B FileName.pl \- input file for .I Progol .SH DESCRIPTION All input for .I Progol is read from a single file which has a ".pl" suffix. The contents of this file are usually: .RS .TP .B 1. Progol commands including mode declarations and parameter settings. .TP .B 2. Background knowledge as a set of Prolog clauses. .TP .B 3. Positive examples as a set of definite clauses (not necessarily ground unit clauses). .TP .B 4. Negative examples as a set of ground negative literals. .RE Comments can appear anywhere in the file provided they are prefaced by a "%" sign. .SH EXAMPLES Here is an example input file for learning list membership. .sp 2 .DS 0 0 :- set(c,2)? .br %%%%%%%%%%%%%%%%%%%%%%%%%%% .br % Learns recursive clauses for member(Element,List) .br .br :- modeh(1,member(-constant,+clist))? .br :- modeb(1,+constant = #constant)? .br :- modeb(1,+clist = [-constant|-clist])? .br :- modeb(1,member(-constant,+clist))? .br .br %%%%%%%%%%%%%%%%%%%%%%%%%%% .br % Types .br .br clist([]). .br clist([H|T]) :- constant(H), clist(T). .br %%%%%%%%%%%%%%%%%%%%%%%%%%% .br % Positive examples .br member(0,[0]). .br member(0,[0,0]). .br member(0,[1,0]). .br member(0,[2,0]). .br member(1,[0,1]). .br member(1,[1,1]). .br member(1,[1]). .br member(1,[2,1]). .br member(2,[2,2]). .br member(2,[2]). .br member(2,[3,2]). .br member(3,[2,3]). .br member(3,[3]). .br member(4,[3,4,5]). .br member(3,[4,2,3]). .br member(4,[4]). .br .br % member(X,[X|_]). .br % member(X,[_,X|_]). .br .br %%%%%%%%%%%%%%%%%%%%%%%%%%% .br % Negative examples .br .br :- member(0,[1,2]). .br :- member(0,[1]). .br :- member(1,[0]). .br :- member(2,[3]). .br :- member(2,[]). .br :- member(3,[]). .br .DE .SH "SEE ALSO" set/2, mode/2