Like the other propositional learners, id 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). : id(object)? id0 : pf id0! id0 isa [id] with creator: id(object); date: '97/10/21 - 10:45:24'; n_examples: 7; errors: 0; time: 0; rule: object(Size, Colour, Shape, Class) :- (Shape = wedge -> Class = no |Shape = brick -> Class = yes |Shape = pillar -> (Colour = red -> Class = no |Colour = green -> Class = yes) |Shape = sphere -> Class = yes). !