Two Easy Theories Whose Combination is Hard

We restrict attention to the validity problem for unquantified disjunctions of literals (possibly negated atomic formulae) over the domain of integers, or what is just as good, the satisfiability problem for unquantified conjunctions. When = is the only predicate symbol and all function symbols are left uninterpreted, or when ≤ is the only predicate symbol (taking its standard interpretation on the integers) and the only terms are variables and integers, then satisfiability is decidable in polynomial time. However when ≤ and uninterpreted function symbols are allowed to appear together, satisfiability becomes an NPcomplete problem. This combination of the two theories can arise for example when reasoning about arrays (the uninterpreted function symbols) and subscript manipulation (where ≤ arises in considering subscript bounds). These results are unaffected by the presence of successor, which also arises commonly in reasoning about subscript manipulation.

[1]  Peter J. Downey,et al.  Assignment commands and array structures , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[2]  Vaughan R. Pratt,et al.  A Proof-Checker for Dynamic Logic , 1977, IJCAI.

[3]  Greg Nelson,et al.  Fast decision algorithms based on union and find , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).