Skolem functions play a central role in the study of first order logic, both from theoretical and practical perspectives. While every Skolemized formula in first-order logic makes use of Skolem constants and/or functions, not all such Skolem constants and/or functions admit effectively computable interpretations. Indeed, the question of whether there exists an effectively computable interpretation of a Skolem function, and if so, how to automatically synthesize it, is fundamental to their use in several applications, such as planning, strategy synthesis, program synthesis etc. In this paper, we investigate the computability of Skolem functions and their automated synthesis in the full generality of first order logic. We first show a strong negative result, that even under mild assumptions on the vocabulary, it is impossible to obtain computable interpretations of Skolem functions. We then show a positive result, providing a precise characterization of first-order theories that admit effective interpretations of Skolem functions, and also present algorithms to automatically synthesize such interpretations. We discuss applications of our characterization as well as complexity bounds for Skolem functions (interpreted as Turing machines).
翻译:Skolem 函数在从理论和实践角度研究一阶逻辑方面发挥着核心作用。 虽然第一阶逻辑中的每个Skolem公式都使用Skolem 常数和/或函数,但并非所有的Skolem常数和/或函数都承认有效的可比较解释。事实上,对 Skolem 函数是否存在有效的可比较解释的问题,以及如果存在的话,如何自动合成,对于在规划、战略综合、程序合成等若干应用中使用这些公式至关重要。 在本文中,我们调查了Skolem 函数的可比较性及其在一阶逻辑的全面通用性中的自动合成。我们首先显示了一个强烈的负面结果,即即使在对词汇的简单假设下,也不可能获得对 Skolem 函数的可比较解释。我们随后展示了一个积极的结果,对允许有效解释 Skolem 函数的一阶理论作了精确的定性,并提出了自动合成这种解释的算法。我们讨论了我们如何定性以及Skoleem 函数(作为图灵机的交) 的复杂界限。