One possibility for reusability of software is to parameterize parts of a program leading to an algorithm scheme. The module language of the functional programming language ML with the concepts of signatures, structur...
详细信息
One possibility for reusability of software is to parameterize parts of a program leading to an algorithm scheme. The module language of the functional programming language ML with the concepts of signatures, structures, and functors as mappings on structures is highly qualified for this approach. In this article, we demonstrate how signatures, structures, and functors can be used to realize reusable parameterized software. An example is treated in detail, viz. a generalization of the inherit/synthesize technique known from compiler construction. Further applications of the approach are sketched.
Recently, we proposed a systematic method for top-down synthesis and verification of lemmata and algorithms called “lazy thinking method” as a part of systematic mathematical theory exploration (mathematical knowled...
详细信息
Recently, we proposed a systematic method for top-down synthesis and verification of lemmata and algorithms called “lazy thinking method” as a part of systematic mathematical theory exploration (mathematical knowledge management). The lazy thinking method is characterized: • by using a library of theorem and algorithm schemes • and by using the information contained in failing attempts to prove the schematic theorem or the correctness theorem for the algorithm scheme for inventing lemmata or requirements for subalgorithms , respectively.
In this paper, we give a couple of examples for algorithm synthesis using the lazy thinking paradigm. These examples illustrate how the synthesized algorithm depends on the algorithm scheme used. Also, we give details about the implementation of the lazy thinking algorithm synthesis method in the frame of the Theorema system. In this implementation, the synthesis of the example algorithms can be carried out completely automatically, i.e. without any user interaction.
暂无评论