4 research outputs found

    On Safe Folding

    Get PDF
    In [3] a general fold operation has been introduced for definite programs wrt computed answer substitution semantics. It differs from the fold operation defined by Tamaki and Sato in [26,25] because its application does not depend on the transformation history. This paper extends the results in [3] by giving a more powerful sufficient condition for the preservation of computed answer substitutions. Such a condition is meant to deal with the critical case when the atom introduced by folding depends on the clause to which the fold applies. The condition compares the dependency degree between the fonding atom and the folded clause, with the semantic delay between the folding atom and the ones to be folded. The result is also extended to a more general replacement operation, by showing that it can be decomposed into a sequence of definition, general folding and unfolding operations

    Transformation of logic programs: Foundations and techniques

    Get PDF
    AbstractWe present an overview of some techniques which have been proposed for the transformation of logic programs. We consider the so-called “rules + strategies” approach, and we address the following two issues: the correctness of some basic transformation rules w.r.t. a given semantics and the use of strategies for guiding the application of the rules and improving efficiency. We will also show through some examples the use and the power of the transformational approach, and we will briefly illustrate its relationship to other methodologies for program development

    Flux de l'information en programmation logique

    Get PDF
    Cette thèse est développée dans le but d'aborder la question du flux de l'information en programmation logique. Les contributions de cette thèse peuvent être divisées en trois parties: 1. Flux de l'information en programmation logique: Nous proposons une base théorique de ce que pourrait être un flux de l'information en programmation logique. Plusieurs définitions de flux d'information (basées sur la réussite / échec, les substitutions réponses, bisimulation entre les arbres de résolution des buts logiques) sont évaluées et comparées. Des problèmes de décision sont donnés pour chaque définition et la complexité est étudiée pour certaines catégories de programmes logiques. 2. Bisimulation de buts logiques: Nous introduisons la notion de bisimulation entre les buts Datalog: deux buts Datalog sont bisimilaires par rapport à un programme Datalog donné lorsque leurs SLD-arbres, considérés comme des structures relationnelles, sont bisimilaires. Nous abordons le problème de décider si deux buts donnés sont bisimilaires à l'égard d'un programme donné. Lorsque les programmes sont hiérarchiques ou restricted, ce problème est décidable en 2EXPTIME. 3. Contrôle préventif de l'inférence dans les bases de données déductives: Nous proposons un mécanisme de sécurité sûr et précis pour les bases de données déductives basé sur la notion de flux de l'information dans la programmation logique.This thesis is developed in order to tackle the issue of information flow in logic programming. The contributions of this thesis can be split into three mains parts: 1. Information flow in logic programming: we propose a theoretical foundation of what could be an information flow in logic programming. Several information flow definitions (based on success/failure, substitution answers, bisimulation between resolution trees of goals) are stated and compared. Decision procedures are given for each definition and complexity is studied for specific classes of logic programs. 2. Bisimulation of logic goals: We introduce the concept of bisimulation between Datalog goals: two Datalog goals are bisimilar with respect to a given Datalog program when their SLD-trees, considered as relational structures, are bisimilar. We address the problem of deciding whether two given goals are bisimilar with respect to given programs. When the given programs are hierarchical or restricted, this problem is decidable in 2EXPTIME. 3. Preventive inference control for deductive databases: We propose a secure and a precise security mechanism for deductive databases based on the notion of information flow in logic programming
    corecore