/* incompl.pl Output: | ?- induce. LAP ver 1 Max derivation depth=10 Current training set: E+=[father(john,mary),father(david,steve)] E-=[father(katy,ellen),father(john,steve)] Generated clause: rule(father(_1107,_1108),[parent(_1107,_1108),male(_1107)]) Positive examples covered: [father(david,steve),father(john,mary)] Abduced literals: [not(male(katy)),not(female(david)),male(david)] End execution. Generated rules rule(father(_1107,_1108),[parent(_1107,_1108),male(_1107)]) Abduced literals: [not(male(katy)),not(female(david)),male(david)] yes */ :-dynamic rule/2. rule(parent(john,mary),[]). rule(male(john),[]). rule(parent(david,steve),[]). rule(parent(katy,ellen),[]). rule(female(katy),[]). bias(rule(father(X,Y),[parent(X,Y),parent(Y,X),male(X),male(Y),female(X), female(Y)])). abducibles([not(father(_,_)),male(_),female(_),not(male(_)),not(female(_))]). ic([male(X),female(X)]). ic([male(X),not(male(X))]). ic([female(X),not(female(X))]). ic([father(X,Y),not(father(X,Y))]). target([father(_,_)]). eplus([father(john,mary),father(david,steve)]). eminus([father(katy,ellen),father(john,steve)]). /* Output: | ?- induce. LAP ver 1 Max derivation depth=10 Current training set: E+=[father(john,mary),father(david,steve)] E-=[father(katy,ellen),father(john,steve)] Generated clause: rule(father(_1107,_1108),[parent(_1107,_1108),male(_1107)]) Positive examples covered: [father(david,steve),father(john,mary)] Abduced literals: [not(male(katy)),not(female(david)),male(david)] End execution. Generated rules rule(father(_1107,_1108),[parent(_1107,_1108),male(_1107)]) Abduced literals: [not(male(katy)),not(female(david)),male(david)] yes */