On transformation of logic specifications into procedural programs

Lin, J.M.,Juang, J.Y.,Stephen S. Yau
DOI: https://doi.org/10.1109/TAI.1989.65331
1989-01-01
Abstract:A method for transforming a source program expressed as a set of Horn clauses into a target program in an Algol-like procedural language is presented. Compared with deterministic execution of a conventional program, the top-down procedural interpretation of a Horn clause program is inherently nondeterministic. This transformation method is aimed at removing certain types of nondeterministic in a Horn clause program via a variable-dependence analysis and a procedure formation scheme. It is assumed that the input/output mode information for each predicate in the Horn clause is known in advance and that each predicate is used unidirectionally, i.e. each argument in the argument list of a predicate is used either as an input or an output, but not both. Therefore, the Horn clauses treated by this method represent only a subclass of the general Horn logic clauses. During the transformation process, the method is also capable of discovering inconsistent or missing information in the source program
What problem does this paper attempt to address?