Tabling, Rational Terms, and Coinduction Finally Together!
نویسندگان
چکیده
Tabling is a commonly used technique in logic programming for avoiding cyclic behavior of logic programs and enabling more declarative program de nitions. Furthermore, tabling often improves computational performance. Rational term are terms with one or more in nite subterms but with a nite representation. Rational terms can be generated in Prolog by omitting the occurs check when unifying two terms. Applications of rational terms include de nite clause grammars, constraint handling systems, and coinduction. In this paper, we report our extension of YAP's Prolog tabling mechanism to support rational terms. We describe the internal representation of rational terms within the table space and prove its correctness. We then use this extension to implement a tabling based approach to coinduction. We compare our approach with current coinductive transformations and describe the implementation. In addition, we present an algorithm that ensures a canonical representation for rational terms.
منابع مشابه
Sampling, Splitting and Merging in Coinductive Stream Calculus
We study various operations for partitioning, projecting and merging streams of data. These operations are motivated by their use in dataflow programming and the stream processing languages. We use the framework of stream calculus and stream circuits for defining and proving properties of such operations using behavioural differential equations and coinduction proof principles. We study the inv...
متن کاملStream processing coalgebraically
We study various operations for splitting, partitioning, projecting and merging streams of data. These operations are motivated by their use in dataflow programming and stream processing languages. We use the framework of stream calculus and stream circuits for defining and proving properties of such operations using behavioural differential equations and coinduction proof principles. As a feat...
متن کاملCoinductive Constraint Logic Programming
Constraint logic programming (CLP) has been proposed as a declarative paradigm for merging constraint solving and logic programming. Recently, coinductive logic programming has been proposed as a powerful extension of logic programming for handling (rational) infinite objects and reasoning about their properties. Coinductive logic programming does not include constraints while CLP’s declarative...
متن کاملOn the Rationality of Escalation
Escalation is a typical feature of infinite games. Therefore tools conceived for studying infinite mathematical structures, namely those deriving from coinduction are essential. Here we use coinduction, or backward coinduction (to show its connection with the same concept for finite games) to study carefully and formally the infinite games especially those called dollar auctions, which are cons...
متن کاملRationality and Escalation in Infinite Extensive Games
The aim of this article is to study infinite games and to prove formally properties in this framework. In particular, we show that the behavior which leads to speculative crashes or escalation is rational. Indeed it proceeds logically from the statement that resources are infinite. The reasoning is based on the concept of coinduction conceived by computer scientists to model infinite computatio...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- TPLP
دوره 14 شماره
صفحات -
تاریخ انتشار 2014