To become a mature science, Artificial Intelligence needs more theoretical work. One form this should take is the analytic comparison of existing programs to extract precise techniques from the code, compare similar techniques, expose faults, and extend successful techniques. In this spirit, we compare the rule-learning programs of Brazdil , Langley , Mitchell et al. [14, 15], Shapiro , and Waterman . Each of these programs has two main parts: a critic for identifying faulty rules and a modifier for correcting them. To aid comparison we describe the techniques of the various authors using a uniform notation. We find several similarities in the techniques used by the various authors and uncover the relations between them. We compare the rule-learning programs with the concept-learning programs of Quinlan [17l, and Young ct al. . The two types of program have much in common, and many of the rule- modifying techniques are subsumed by the techniques of Young et al. Quinlan's program is able to learn disjunctive concepts that are more general than those that can be learned by most of the other programs.