Synthesis of positive logic programs for checking a class of definitions with infinite quantification

We describe a method based on unfold/fold transformations that synthesizes positive logicprograms P(r)with the purpose of checking mechanically definitions of the form D(r) =∀X(r(X) ⇔QYR(X, Y))where ris the relation defined by the formula QYR(X, Y), Xis a set of variables to be instantiated at runti...

Descripción completa

Detalles Bibliográficos
Autores: Galán Morillo, Francisco José, Cañete Valdeón, José Miguel
Tipo de recurso: artículo
Estado:Versión enviada para evaluación y publicación
Fecha de publicación:2016
País:España
Institución:Universidad de Sevilla (US)
Repositorio:idUS. Depósito de Investigación de la Universidad de Sevilla
OAI Identifier:oai:idus.us.es:11441/97976
Acceso en línea:https://hdl.handle.net/11441/97976
https://doi.org/10.1016/j.ic.2016.06.014
Access Level:acceso abierto
Palabra clave:Program assertion
Logic program
Program synthesis
Unfold/fold transformation
Descripción
Sumario:We describe a method based on unfold/fold transformations that synthesizes positive logicprograms P(r)with the purpose of checking mechanically definitions of the form D(r) =∀X(r(X) ⇔QYR(X, Y))where ris the relation defined by the formula QYR(X, Y), Xis a set of variables to be instantiated at runtime by ground terms, QYis a set of quantifiedvariables on infinite domains (Qis the quantifier) and R(X, Y)a quantifier-free formulain the language of a first-order logic theory. This work constitutes a first step towards theconstruction of a new type of assertion checkers with the ability of handling restrictedforms of infinite quantification.