Like the other propositional learners, induct requires a mode declaration to specify the types of attributes that the relation has.
The mode declaration defines the range of values each attribute is allowed to take. The last attribute is always taken to be the class.
mode object( size(small, medium, large), colour(red, blue, green), shape(wedge, brick, pillar, sphere), class(yes, no) ). object(medium, blue, brick, yes). object(small, red, sphere, yes). object(large, green, pillar, yes). object(large, green, sphere, yes). object(small, red, wedge, no). object(large, red, wedge, no). object(large, red, pillar, no). : induct(object)? rdr0 : pf rdr0! rdr0 isa [rdr] with creator: induct(object); date: '97/10/21 - 10:52:37'; n_examples: 7; errors: 0; time: 0; rule: object(Size, Colour, Shape, Class) :- Class = yes unless (Shape = wedge -> Class = no |Size = large , Colour = red -> Class = no). !