Extensible Logic Program Schemata
نویسنده
چکیده
Schema-based transformational systems maintain a library of logic program schemata which capture large classes of logic programs. One of the shortcomings of schema-based transformation approaches is their reliance on a large (possibly incomplete) set of logic program schemata that is required in order to capture all of the minor syntactic differences between semantically similar logic programs. By defining a set of extensible logic program schemata and an associated set of logic program transformations, it is possible to reduce the size of the schema library while maintaining the robustness of the transformational system. In our transformational system, we have defined a set of extensible logic program schemata in Prolog. Because Prolog is a higher-order logic programming language, it can be used as the representation language for both the logic programs and the extensible logic program schemata. In addition to the instantiation of predicate variables, extensible logic program schemata can be extended by applying standard programming techniques (e.g., accumulating results), introducing additional arguments (e.g., a second list to append to the end of the primary list), combining logic program schemata which share a common primary input, and connecting logic program schemata which are connected via a result of one schema being an input to the other schema. These extensions increase the robustness of logic program schemata and enhance traditional schema-based transformational systems.
منابع مشابه
Program Development Schemata as Derived Rules
We show how the formalization and application of schemata for program development can be reduced to the formalization and application of derived rules of inference. We formalize and derive schemata as rules in theories that axiomatize program data and programs themselves. We reduce schema-based program development to ordinary theorem proving, where higher-order uniication is used to apply rules...
متن کاملLogic Program Transformation through Generalization Schemata
In program synthesis, program transformation can be done on the fly, based on information generated and exploited during the program construction process. For instance, some logic program generalization techniques can be pre-compiled at the logic program schema level, yielding transformation schemata that give rise to elimination of the eureka discovery, full automation of the transformation pr...
متن کاملDevelopment of Correct Transformation Schemata for Prolog Programs 1 Schema-based Transformations
Schema-based program transformation 5] has been proposed as an eeective technique for the optimisation of logic programs. Schemata are applied to a logic program, mapping ineecient constructs to more eecient ones. One challenging aspect of the technique is that of proving that the schemata are correct. This paper describes work in progress addressing the issue of correctness. We deene operation...
متن کاملLogic program development based on typed moded schemata and data types
The main contribution of the thesis is to develop a comprehensive framework for developinglogic programs using ve program schemata and some basic data types, and to evaluate itssuitability for developing sizable programs. The schemata are intended to capture designdecisions made by a programmer during top-down re nement of a predicate. The schemataare completely independent from...
متن کاملCorrectness of logic programs using proof schemes
The correctness of logic programs which are constructed by a schema-based method is presented in this paper. This schema-based method constructs typed, moded logic programs by stepwise top-down design using five program schemata, data types and modes. Correctness proofs in this approach are guided by the constructed logic programs. A proof scheme is proposed for each program schema. It is claim...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996