Sort it out with monotonicity: translating between many-sorted and unsorted first-order logic
Paper i proceeding, 2011

We present a novel analysis for sorted logic, which determines if a given sort is monotone. The domain of a monotone sort can always be extended with an extra element. We use this analysis to significantly improve well-known translations between unsorted and many-sorted logic, making use of the fact that it is cheaper to translate monotone sorts than non-monotone sorts. Many interesting problems are more naturally expressed in many-sorted first-order logic than in unsorted logic, but most existing highly-efficient automated theorem provers solve problems only in unsorted logic. Conversely, some reasoning tools, for example model finders, can make good use of sort-information in a problem, but most problems today are formulated in unsorted logic. This situation motivates translations in both ways between many-sorted and unsorted problems. We present the monotonicity analysis and its implementation in our tool Monotonox, and also show experimental results on the TPTP benchmark library.

Automated theorem proving

Automated reasoning

First-order logic


Koen Lindström Claessen

Chalmers, Data- och informationsteknik, Programvaruteknik

Ann Lillieström

Chalmers, Data- och informationsteknik, Programvaruteknik

Nicholas Smallbone

Chalmers, Data- och informationsteknik, Programvaruteknik

Lecture Notes in Computer Science

0302-9743 (ISSN)



Data- och informationsvetenskap