This paper introduces a newalgorithm called SIAO1 for learning first order logic rules withgenetic algorithms. SIAO1uses the covering principle developed in AQwhereseed examplesare generalized into rules usinghowevera genetic search, as initially introduced in the SIAalgorithm for attribute-based representation. Thegenetic algorithm uses a high level representation for learning rules in first order logic and maydeal with numerical data as well as background knowledgesuch as hierarchies over the predicates or tree structured values. Thegenetic operators mayfor instance changea predicate into a moregeneral one according to backgroundknowledge,or changea constant into a variable. Theevaluation function may take into accountuser preferencebiases.