which substances are in the Reacts predicates Create a name for the class Generate a new Has-Quality predicate set removing all the predicates in Has-Quality with the selected quality {value} and adding the predicate (Has-Quality {class-name} quality {value}) to the Class predicates where class-name is the name obtained in step 3 Generate a new Reacts predicate set by replacing the name of the substance in the class formed in the step 2 by the name created in step 3 Create a new class extension by associating the name generated on step 3 with the set of all substances on the class selected on step 2 Determine-Quantifier Input: the Reacts, Has-Quality and Class (generated by Form-Class) predicate sets Output: An intentional quantified class corresponding to the extensional class generated by Form-Class, a new Reacts predicate set extended with the appropriate quantifier of the last discovered class received from Form-Class Universally quantify the rule to determine the class (Has-Quality {class-name} quality {value}) => (∀ class-name (Has-Quality {class-name} quality {value})) Generate Reacts predicates replacing each substance in the new class for its class-name in the Reacts predicates if all the predicates generated in the previous step are contained in the original set then quantify universally else quantify existentially References Chemistry software