Using methods from model theory, the authors construct algorithms that, given any first-order predicate calculus query over a finite database, determine if they have a finite number of solutions or not, and if they do, list them all. This is done for languages that include function names (but no symbols for infinite relations) and for languages that include a name for the order of natural number or for the prefix order in a domain of strings over some alphabet (but no function symbols). The results prove some conjectures of M. Kiffer (Proc. Int. Conf. on Databases and Knowledge Bases, 1988, p.405-415). >
['Arnon Avron', 'J. Hirshfeld']
On first order database query languages