Version spaces: A candidate elmination approach to rule learning