An Implementation and Optimization of an Algorithm for Reducing Formulae in Second-Order Logic

We have shown that the elimination algorithm (DLS) for reducing secondorder logic to rst-order logic by Doherty, Lukaszewicz and Szalas, can be implemented. In order to make the algorithm e cient when more than one predicate is eliminated some changes are suggested. The DLS algorithm requires the input to be transformed into disjunctive form, however it can be shown that this requirement can be relaxed somewhat in order to avoid exponential growth of the formula. Other optimizations in order to keep the size of the resulting formula are also suggested. A module for handling nested abnormality theories is included to show that the algoritm is general and can be useful in many areas.