6 research outputs found

    Automatic Termination Analysis of Programs Containing Arithmetic Predicates

    Full text link
    For logic programs with arithmetic predicates, showing termination is not easy, since the usual order for the integers is not well-founded. A new method, easily incorporated in the TermiLog system for automatic termination analysis, is presented for showing termination in this case. The method consists of the following steps: First, a finite abstract domain for representing the range of integers is deduced automatically. Based on this abstraction, abstract interpretation is applied to the program. The result is a finite number of atoms abstracting answers to queries which are used to extend the technique of query-mapping pairs. For each query-mapping pair that is potentially non-terminating, a bounded (integer-valued) termination function is guessed. If traversing the pair decreases the value of the termination function, then termination is established. Simple functions often suffice for each query-mapping pair, and that gives our approach an edge over the classical approach of using a single termination function for all loops, which must inevitably be more complicated and harder to guess automatically. It is worth noting that the termination of McCarthy's 91 function can be shown automatically using our method. In summary, the proposed approach is based on combining a finite abstraction of the integers with the technique of the query-mapping pairs, and is essentially capable of dividing a termination proof into several cases, such that a simple termination function suffices for each case. Consequently, the whole process of proving termination can be done automatically in the framework of TermiLog and similar systems.Comment: Appeared also in Electronic Notes in Computer Science vol. 3

    A General Framework for Automatic Termination Analysis of Logic Programs

    Full text link
    This paper describes a general framework for automatic termination analysis of logic programs, where we understand by ``termination'' the finitenes s of the LD-tree constructed for the program and a given query. A general property of mappings from a certain subset of the branches of an infinite LD-tree into a finite set is proved. From this result several termination theorems are derived, by using different finite sets. The first two are formulated for the predicate dependency and atom dependency graphs. Then a general result for the case of the query-mapping pairs relevant to a program is proved (cf. \cite{Sagiv,Lindenstrauss:Sagiv}). The correctness of the {\em TermiLog} system described in \cite{Lindenstrauss:Sagiv:Serebrenik} follows from it. In this system it is not possible to prove termination for programs involving arithmetic predicates, since the usual order for the integers is not well-founded. A new method, which can be easily incorporated in {\em TermiLog} or similar systems, is presented, which makes it possible to prove termination for programs involving arithmetic predicates. It is based on combining a finite abstraction of the integers with the technique of the query-mapping pairs, and is essentially capable of dividing a termination proof into several cases, such that a simple termination function suffices for each case. Finally several possible extensions are outlined

    Inference of termination conditions for numerical loops in Prolog

    Full text link
    We present a new approach to termination analysis of numerical computations in logic programs. Traditional approaches fail to analyse them due to non well-foundedness of the integers. We present a technique that allows overcoming these difficulties. Our approach is based on transforming a program in a way that allows integrating and extending techniques originally developed for analysis of numerical computations in the framework of query-mapping pairs with the well-known framework of acceptability. Such an integration not only contributes to the understanding of termination behaviour of numerical computations, but also allows us to perform a correct analysis of such computations automatically, by extending previous work on a constraint-based approach to termination. Finally, we discuss possible extensions of the technique, including incorporating general term orderings.Comment: To appear in Theory and Practice of Logic Programming. To appear in Theory and Practice of Logic Programmin

    The Value of Technics: An Ontogenetic Approach to Money, Markets, and Networks

    Full text link
    This thesis investigates the impact of the digitalization of monetary and financial flows on the political-economic sphere in order to provide a novel perspective on the relations between economic and technological forces at the present global juncture. In the aftermath of the Global Financial Crisis and with the rise of the cryptoeconomy, an increasing number of scholars have highlighted the immanence of market logic to cultural and social life. At the same time, speculative practices have emerged that attempt to challenge the political economy through financial experiments. This dissertation complements these approaches by stressing the need to pair the critical study of finance with scholarship in the philosophy of technology that emphasizes the value immanent to technics and technology – i.e. the normative and genetic role of ubiquitous algorithmic networks in the organization of markets and socius. In order to explore these events, I propose an interdisciplinary theoretical framework informed largely by Gilbert Simondon’s philosophy of individuation and technics and the contemporary literature on the ontology of computation, supported by insights drawn from the history of finance and economic theory. This novel framework will provide the means to investigate the ontogenetic processes at work in the techno-cultural ecosystem following the digitalization of monetary and financial flows. Through an exploration of the fleeting materiality and multifaceted character of digital fiat money, the social power of algorithmic financial logic, and the new possibilities offered by the invention of the Bitcoin protocol, this research aims to challenge some of the bedrocks of the economic orthodoxy – economic and monetary value, liquidity, market rationality – in order to move beyond the overarching narrative of capitalism as a monolithic system. The thesis instead foregrounds the techno-historical contingencies that have led to the contemporary power formation. Furthermore, it argues that the ontogenetic character of algorithmic technology ushers in novel possibilities for the speculative engineering of alternative networks of value creation and distribution that have the potential to reverse the current balance of power

    Unfolding the mystery of Mergesort

    No full text
    This paper outlines a fully automatic transformation for proving termination of queries to a class of logic programs, for which existing methods do not work directly. The transformation consists of creating adorned clauses and unfolding. In general, the transformation may improve termination behavior by pruning infinite branches from the LD-tree. Conditions are given under which the transformation preserves termination behavior. The work presented here has been done in the framework of the TermiLog system, and it complements the algorithms described in [12]

    Unfolding the mystery of Mergesort

    No full text
    This paper outlines a fully automatic transformation for proving termination of queries to a class of logic programs, for which existing methods do not work directly. The transformation consists of creating adorned clauses and unfolding. In general, the transformation may improve termination behavior by pruning infinite branches from the LD-tree. Conditions are given under which the transformation preserves termination behavior. The work presented here has been done in the framework of the TermiLog system, and it complements the algorithms described in [12]
    corecore