46,848 research outputs found
An Effective Fixpoint Semantics for Linear Logic Programs
In this paper we investigate the theoretical foundation of a new bottom-up
semantics for linear logic programs, and more precisely for the fragment of
LinLog that consists of the language LO enriched with the constant 1. We use
constraints to symbolically and finitely represent possibly infinite
collections of provable goals. We define a fixpoint semantics based on a new
operator in the style of Tp working over constraints. An application of the
fixpoint operator can be computed algorithmically. As sufficient conditions for
termination, we show that the fixpoint computation is guaranteed to converge
for propositional LO. To our knowledge, this is the first attempt to define an
effective fixpoint semantics for linear logic programs. As an application of
our framework, we also present a formal investigation of the relations between
LO and Disjunctive Logic Programming. Using an approach based on abstract
interpretation, we show that DLP fixpoint semantics can be viewed as an
abstraction of our semantics for LO. We prove that the resulting abstraction is
correct and complete for an interesting class of LO programs encoding Petri
Nets.Comment: 39 pages, 5 figures. To appear in Theory and Practice of Logic
Programmin
Automatic Termination Analysis of Programs Containing Arithmetic Predicates
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
Polytool: polynomial interpretations as a basis for termination analysis of Logic programs
Our goal is to study the feasibility of porting termination analysis
techniques developed for one programming paradigm to another paradigm. In this
paper, we show how to adapt termination analysis techniques based on polynomial
interpretations - very well known in the context of term rewrite systems (TRSs)
- to obtain new (non-transformational) ter- mination analysis techniques for
definite logic programs (LPs). This leads to an approach that can be seen as a
direct generalization of the traditional techniques in termination analysis of
LPs, where linear norms and level mappings are used. Our extension general-
izes these to arbitrary polynomials. We extend a number of standard concepts
and results on termination analysis to the context of polynomial
interpretations. We also propose a constraint-based approach for automatically
generating polynomial interpretations that satisfy the termination conditions.
Based on this approach, we implemented a new tool, called Polytool, for
automatic termination analysis of LPs
Automatic Synthesis of Logical Models for Order-Sorted First-Order Theories
[EN] In program analysis, the synthesis of models of logical theories representing the program semantics is often useful to prove program properties. We use order-sorted first- order logic as an appropriate framework to describe the semantics and properties of programs as given theories. Then we investigate the automatic synthesis of models for such theories. We use convex polytopic domains as a flexible approach to associate different domains to different sorts. We introduce a framework for the piecewise definition of functions and predicates. We develop its use with linear expressions (in a wide sense, including linear transformations represented as matrices) and inequalities to specify functions and predicates. In this way, algorithms and tools from linear algebra and arithmetic constraint solving (e.g., SMT) can be used as a backend for an efficient implementation.Partially supported by the EU (FEDER), projects TIN2015-69175-C4-1-R, and GV PROMETEOII/2015/ 013. R. GutiĂ©rrez also supported by Juan de la Cierva Fellowship JCI-2012-13528.Lucas Alba, S.; GutiĂ©rrez Gil, R. (2018). Automatic Synthesis of Logical Models for Order-Sorted First-Order Theories. Journal of Automated Reasoning. 60(4):465-501. https://doi.org/10.1007/s10817-017-9419-3S465501604AlarcĂłn, B., GutiĂ©rrez, R., Lucas, S., Navarro-Marset, R.: Proving termination properties with MU-TERM. In: Proceedings of AMASTâ10. LNCS, vol. 6486, pp. 201â208 (2011)AlarcĂłn, B., Lucas, S., Navarro-Marset, R.: Using matrix interpretations over the reals in proofs of termination. In: Proceedings of PROLEâ09, pp. 255â264 (2009)Albert, E., Genaim, S., GutiĂ©rrez, R.: A Transformational Approach to Resource Analysis with Typed-Norms. Revised Selected Papers from LOPSTRâ13. LNCS, vol. 8901, pp 38â53 (2013)de Angelis, E., Fioravante, F., Pettorossi, A., Proietti, M.: Proving correctness of imperative programs by linearizing constrained Horn clauses. Theory Pract. Log. Program. 15(4â5), 635â650 (2015)de Angelis, E., Fioravante, F., Pettorossi, A., Proietti, M.: Semantics-based generation of verification conditions by program specialization. In: Proceedings of PPDPâ15, pp. 91â102. ACM Press, New York (2015)Aoto, T.: Solution to the problem of zantema on a persistent property of term rewriting systems. J. Funct. Log. Program. 2001(11), 1â20 (2001)Barwise, J.: An Introduction to First-Order Logic. In: Barwise, J. (ed.) Handbook of Mathematical Logic. North-Holland, Amsterdam (1977)Barwise, J.: Axioms for Abstract Model Theory. Ann. Math. Log. 7, 221â265 (1974)Bochnak, J., Coste, M., Roy, M.-F.: Real Algebraic Geometry. Springer, Berlin (1998)Birkhoff, G., Lipson, J.D.: Heterogeneous algebras. J. Comb. Theory 8, 115â133 (1970)Bofill, M., Nieuwenhuis, R., Oliveras, A., RodrĂguez-Carbonell, E., Rubio, A.: The Barcelogic SMT Solver. In: Proceedings of CAVâ08. LNCS, vol. 5123, pp. 294â298 (2008)BjĂžrner, N., Gurfinkel, A., McMillan, K., Rybalchenko, A.: Horn-clause solvers for program verification. In: Fields of Logic and Computation IIâEssays Dedicated to Yuri Gurevich on the Occasion of His 75th Birthday. LNCS, vol. 9300, pp. 24â51 (2015)BjĂžrner, N., McMillan, K., Rybalchenko, A.: On solving universally quantified horn-clauses. In: Proceedings of SASâ13. LNCS vol. 7935, pp. 105â125 (2013)BjĂžrner, N., McMillan, K., Rybalchenko, A.: Program verification as satisfiability modulo theories. In: Proceedings of SMTâ12, EPiC Series in Computing, vol. 20, pp. 3â11 (2013)Bliss, G.A.: Algebraic Functions. Dover (2004)Bonfante, G., Marion, J.-Y., Moyen, J.-Y.: On Lexicographic Termination Ordering With Space Bound Certifications. Revised Papers from PSI 2001. LNCS, vol. 2244, pp. 482â493 (2001)Boolos, G.S., Burgess, J.P., Jeffrey, R.C.: Computability and Logic, 4th edn. Cambridge University Press, Cambridge (2002)Borralleras, C., Lucas, S., Oliveras, A., RodrĂguez, E., Rubio, A.: SAT modulo linear arithmetic for solving polynomial constraints. J. Autom. Reason. 48, 107â131 (2012)BĂŒrckert, H.-J., Hollunder, B., Laux, A.: On Skolemization in constrained logics. Ann. Math. Artif. Intell. 18, 95â131 (1996)Burstall, R.M., Goguen, J.A.: Putting Theories together to make specifications. In: Proceedings of IJCAIâ77, pp. 1045â1058. William Kaufmann (1977)Caplain, M.: Finding invariant assertions for proving programs. In: Proceedings of the International Conference on Reliable Software, pp. 165â171. ACM Press, New York (1975)Chang, C.L., Lee, R.C.: Symbolic Logic and Mechanical Theorem Proving. Academic Press, Orlando (1973)Clavel, M., DurĂĄn, F., Eker, S., Lincoln, P., MartĂ-Oliet, N., Meseguer, J., Talcott, C.: All About MaudeâA High-Performance Logical Framework. LNCS 4350, (2007)Cohn, A.G.: Improving the expressiveness of many sorted logic. In: Proceedings of the National Conference on Artificial Intelligence, pp. 84â87. AAAI Press, Menlo Park (1983)Contejean, E., MarchĂ©, C., TomĂĄs, A.-P., Urbain, X.: Mechanically proving termination using polynomial interpretations. J. Autom. Reason. 34(4), 325â363 (2006)Cooper, D.C.: Programs for mechanical program verification. Mach. Intell. 6, 43â59 (1971). Edinburgh University PressCooper, D.C.: Theorem proving in arithmetic without multiplication. Mach. Intell. 7, 91â99 (1972)Courtieu, P., Gbedo, G., Pons, O.: Improved matrix interpretations. In: Proceedings of SOFSEMâ10. LNCS, vol. 5901, pp. 283â295 (2010)Cousot, P., Cousot, R., Mauborgne, L.: Logical abstract domains and interpretations. In: The Future of Sofware Engineering, pp. 48â71. Springer, New York (2011)Cousot, P., Halbwachs, N.: Automatic Discovery of linear restraints among variables of a program. In: Conference Record of POPLâ78, pp. 84â96. ACM Press, New York (1978)Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)Elspas, B., Levitt, K.N., Waldinger, R.J., Waksman, A.: An assessment of techniques for proving program correctness. Comput. Surv. 4(2), 97â147 (1972)van Emdem, M.H., Kowalski, R.A.: The semantics of predicate logic as a programming language. J. ACM 23(4), 733â742 (1976)Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. In: Proceedings of IJCARâ06. LNCS, vol. 4130, pp. 574â588 (2006)Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. J. Autom. Reason. 40(2â3), 195â220 (2008)Floyd, R.W.: Assigning meanings to programs. Math. Asp. Comput. Sci. 19, 19â32 (1967)Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: Maximal termination. In: Proceedings of RTAâ08. LNCS, vol. 5117, pp. 110â125 (2008)Fuhs, C., Giesl, J., Parting, M., Schneider-Kamp, P., Swiderski, S.: Proving termination by dependency pairs and inductive theorem proving. J. Autom. Reason. 47, 133â160 (2011)Fuhs, C., Kop, C.: Polynomial interpretations for higher-order rewriting. In: Proceedings of RTAâ12. LIPIcs, vol. 15, pp. 176â192 (2012)Futatsugi, K., Diaconescu, R.: CafeOBJ Report. World Scientific, AMAST Series, (1998)Gaboardi, M., PĂ©choux, R.: On bounding space usage of streams using interpretation analysis. Sci. Comput. Program. 111, 395â425 (2015)Giesl, J., Mesnard, F., Rubio, A., Thiemann, R., Waldmann, J.: Termination competition (termCOMP 2015). In: Proceedings of CADEâ15. LNCS, vol. 9195, pp. 105â108 (2015)Giesl, J., Ströder, T., Schneider-Kamp, P., Emmes, F., Fuhs, C.: Symbolic evaluation graphs and term rewritingâa general methodology for analyzing logic programs. In: Proceedings of the PPDPâ12, pp. 1â12. ACM Press (2012)Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for haskell by term rewriting. ACM Trans. Program. Lang. Syst. 33(2), 7 (2011)Gnaedig, I.: Termination of Order-sorted Rewriting. In: Proceedings of ALPâ92. LNCS, vol. 632, pp. 37â52 (1992)Goguen, J.A.: Order-Sorted Algebra. Semantics and Theory of Computation Report 14, UCLA (1978)Goguen, J.A., Burstall, R.M.: Some fundamental algebraic tools for the semantics of computation. Part 1: comma categories, colimits, signatures and theories. Theoret. Comput. Sci. 31, 175â209 (1984)Goguen, J.A., Burstall, R.M.: Some fundamental algebraic tools for the semantics of computation. Part 2 signed and abstract theories. Theoret. Comput. Sci. 31, 263â295 (1984)Goguen, J., Meseguer, J.: Models and equality for logical programming. In: Proceedings of TAPSOFTâ87. LNCS, vol. 250, pp. 1â22 (1987)Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness and implementation of abstract data types. In: Current Trends in Programming Methodology, pp. 80â149. Prentice Hall (1978)Goguen, J.A., Meseguer, J.: Remarks on remarks on many-sorted equational logic. Sigplan Notices 22(4), 41â48 (1987)Goguen, J., Meseguer, J.: Order-sorted algebra I: equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoret. Comput. Sci. 105, 217â273 (1992)Goguen, J.A., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ. In: Goguen, J., Malcolm, G. (eds.) Software Engineering with OBJ: Algebraic Specification in Action. Kluwer, Boston (2000)Grebenshikov, S., Lopes, N.P., Popeea, C., Rybalchenko, A.: Synthesizing software verifiers from proof rules. In: Proceedings of PLDIâ12, pp. 405â416. ACM Press (2012)Gulwani, S., Tiwari, A.: Combining Abstract Interpreters. In: Proceedings of PLDIâ06, pp. 376â386. ACM Press (2006)Gurfinkel, A., Kahsai, T., Komuravelli, A., Navas, J.A.: The seahorn verification framework. In: Proceedings of CAVâ15, Part I. LNCS, vol. 9206, pp. 343â361 (2015)GutiĂ©rrez, R., Lucas, S., Reinoso, P.: A tool for the automatic generation of logical models of order-sorted first-order theories. In: Proceedings of PROLEâ16, pp. 215â230 (2016). http://zenon.dsic.upv.es/ages/Hantler, S.L., King, J.C.: An introduction to proving the correctness of programs. ACM Comput. Surv. 8(3), 331â353 (1976)Hayes, P.: A logic of actions. Mach. Intell. 6, 495â520 (1971). Edinburgh University Press, EdinburghHeidergott, B., Olsder, G.J., van der Woude, J.: Max plus at work. A course on max-plus algebra and its applications. In: Modeling and Analysis of Synchronized Systems, Princeton University Press (2006)Hirokawa, N., Moser, G.: Automated complexity analysis based on the dependency pair method. In: Proceedings of IJCAR 2008. LNCS, vol. 5195, pp. 364â379 (2008)Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576â583 (1969)Hodges, W.: Elementary Predicate Logic. Handbook of Philosophical Logic, vol. 1, pp. 1â131. Reidel Publishing Company (1983)Hodges, W.: A Shorter Model Theory. Cambridge University Press, Cambridge (1997)Hofbauer, D.: Termination proofs by context-dependent interpretation. In: Proceedings of RTAâ01. LNCS, vol. 2051, pp. 108â121 (2001)Hofbauer, D.: Termination proofs for ground rewrite systems. interpretations and derivational complexity. Appl. Algebra Eng. Commun. Comput. 12, 21â38 (2001)Hofbauer, D., Lautemann, C.: Termination proofs and the length of derivations. In: Proceedings of RTAâ89. LNCS, vol. 355, pp. 167â177 (1989)Hull, T.E., Enright, W.H., Sedgwick, A.E.: The correctness of numerical algorithms. In: Proceedings of PAAPâ72, pp. 66â73 (1972)Igarashi, S., London, R.L., Luckham, D.: Automatic program verification I: a logical basis and its implementation. Acta Inform. 4, 145â182 (1975)Iwami, M.: Persistence of termination of term rewriting systems with ordered sorts. In: Proceedings of 5th JSSST Workshop on Programming and Programming Languages, Shizuoka, Japan, pp. 47â56. (2003)Iwami, M.: Persistence of termination for non-overlapping term rewriting systems. In: Proceedings of Algebraic Systems, Formal Languages and Conventional and Unconventional Computation Theory, Kokyuroku RIMS, University of Kyoto, vol. 1366, pp. 91â99 (2004)Katz, S., Manna, Z.: Logical analysis of programs. Commun. ACM 19(4), 188â206 (1976)Langford, C.H.: Review: Ăber deduktive Theorien mit mehreren Sorten von Grunddingen. J. Symb. Log. 4(2), 98 (1939)Lankford, D.S.: Some approaches to equality for computational logic: a survey and assessment. Memo ATP-36, Automatic Theorem Proving Project, University of Texas, Austin, TXLondon, R.L.: The current state of proving programs correct. In: Proceedings of ACMâ72, vol. 1, pp. 39â46. ACM (1972)Lucas, S.: Polynomials over the reals in proofs of termination: from theory to practice. RAIRO Theor. Inform. Appl. 39(3), 547â586 (2005)Lucas, S.: Synthesis of models for order-sorted first-order theories using linear algebra and constraint solving. Electron. Proc. Theor. Comput. Sci. 200, 32â47 (2015)Lucas, S.: Use of logical models for proving operational termination in general logics. In: Selected Papers from WRLAâ16. LNCS, vol. 9942, pp. 1â21 (2016)Lucas, S., MarchĂ©, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Inform. Proces. Lett. 95, 446â453 (2005)Lucas, S., Meseguer, J.: Models for logics and conditional constraints in automated proofs of termination. In: Proceedings of AISCâ14. LNAI, vol. 8884, pp. 7â18 (2014)Lucas, S., Meseguer, J.: Order-sorted dependency pairs. In: Proceedings of PPDPâ08 , pp. 108â119. ACM Press (2008)Lucas, S., Meseguer, J.: Proving operational termination of declarative programs in general logics. In: Proceedings of PPDPâ14, pp. 111â122. ACM Digital Library (2014)Lucas, S., Meseguer, J.: Dependency pairs for proving termination properties of conditional term rewriting systems. J. Log. Algebr. Methods Program. 86, 236â268 (2017)Manna, Z.: The correctness of programs. J. Comput. Syst. Sci. 3, 119â127 (1969)Manna, Z.: Properties of programs and the first-order predicate calculus. J. ACM 16(2), 244â255 (1969)Manna, Z.: Termination of programs represented as interpreted graphs. In: Proceedings of AFIPSâ70, pp. 83â89 (1970)Manna, Z., Ness, S.: On the termination of Markov algorithms. In: Proceedings of the Third Hawaii International Conference on System Science, pp. 789â792 (1970)Manna, Z., Pnueli, A.: Formalization of properties of functional programs. J. ACM 17(3), 555â569 (1970)Marion, Y.-I., PĂ©choux, R.: Sup-interpretations, a semantic method for static analysis of program resources. ACM Trans. Comput. Log. 10(4), 27 (2009)MartĂ-Oliet, N., Meseguer, J., Palomino, M.: Theoroidal maps as algebraic simulations. Revised Selected Papers from WADTâ04. LNCS, vol. 3423, pp. 126â143 (2005)McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine. Part I. Commun. ACM 3(4), 184â195 (1960)Meseguer, J.: General logics. In: Ebbinghaus, H.D., et al. (eds.) Logic Colloquiumâ87, pp. 275â329. North-Holland (1989)Meseguer, J., Skeirik, S.: Equational formulas and pattern operations in initial order-sorted algebras. Revised Selected Papers from LOPSTRâ15. LNCS, vol. 9527, pp. 36â53 (2015)Middeldorp, A.: Matrix interpretations for polynomial derivational complexity of rewrite systems. In: Proceedings of LPARâ12. LNCS, vol. 7180, p. 12 (2012)Monin, J.-F.: Understanding Formal Methods. Springer, London (2003)Montenegro, M., Peña, R., Segura, C.: Space consumption analysis by abstract interpretation: inference of recursive functions. Sci. Comput. Program. 111, 426â457 (2015)de Moura, L., BjĂžrner, N.: Satisfiability modulo theories: introduction and applications. Commun. ACM 54(9), 69â77 (2011)Naur, P.: Proof of algorithms by general snapshots. Bit 6, 310â316 (1966)Neurauter, F., Middeldorp, A.: Revisiting matrix interpretations for proving termination of term rewriting. In: Proceedings of RTAâ11. LIPICS, vol. 10, pp. 251â266 (2011)Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, New York (2002)Ălveczky, P.C., Lysne, O.: Order-sorted termination: the unsorted way. In: Proceedings of ALPâ96. LNCS, vol. 1139, pp. 92â106 (1996)Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated termination analysis of java bytecode by term rewriting. In: Proceedings of RTAâ10. LIPICS, vol. 6, pp. 259â276 (2010)PĂ©choux, R.: Synthesis of sup-interpretations: a survey. Theoret. Comput. Sci. 467, 30â52 (2013)Podelski, A., Rybalchenko, A.: Transition invariants. In: IEEE Computer Society Proceedings of LICSâ04, pp. 32â41 (2004)Prestel, A., Delzell, C.N.: Positive Polynomials. From Hilbertâs 17th Problem to Real Algebra. Springer, Berlin (2001)Robinson, D.J.S.: A Course in Linear Algebra with Applications, 2nd edn. World Scientific Publishing, Co, Singapore (2006)RĂŒmmer, P., Hojjat, H., Kuncak, V.: Disjunctive interpolants for horn-clause verification. In: Proceedings of CAVâ13, vol. 8044, pp. 347â363 (2013)Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Amsterdam (1986)Schmidt, A.: Ăber deduktive Theorien mit mehreren Sorten von Grunddingen. Matematische Annalen 115(4), 485â506 (1938)Schmidt-Schauss, M.: Computational Aspects Of An Order-Sorted Logic With Term Declarations. PhD Thesis, Fachbereich Informatik der UniversitĂ€t Kaiserslautern (1988)Shapiro, S.: Foundations without Foundationalism: A Case for Second-Order Logic. Clarendon Press, New York (1991)Shostak, R.E.: A practical decision procedure for arithmetic with function symbols. J. ACM 26(2), 351â360 (1979)Smullyan, R.M.: Theory of Formal Systems. Princeton University Press, Princeton (1961)Tarski, A.: A Decision Method for Elementary Algebra and Geometry, 2nd edn. University of California Press, Berkeley (1951)Toyama, Y.: Counterexamples to termination for the direct sum of term rewriting systems. Inform. Process. Lett. 25, 141â143 (1987)Turing, A.M.: Checking a large routine. In: Report of a Conference on High Speed Automatic Calculating Machines, University Mathematics Laboratory, Cambridge, pp. 67â69 (1949)Urban, C.: The abstract domain of segmented ranking functions. In: Proceeding of SASâ13. LNCS, vol. 7935, pp. 43â62 (2013)Urban, C., Gurfinkel, A., Kahsai, T.: Synthesizing ranking functions from bits and pieces. In: Proceedings of TACASâ16. LNCS, vol. 9636, pp. 54â70 (2016)Waldmann, J.: Matrix interpretations on polyhedral domains. In: Proceedings of RTAâ15. LIPICS, vol. 26, pp. 318â333 (2015)Waldmann, J., Bau, A., Noeth, E.: Matchbox termination prover. http://github.com/jwaldmann/matchbox/ (2014)Walther, C.: A mechanical solution of schubertâs steamroller by many-sorted resolution. Aritif. Intell. 26, 217â224 (1985)Wang, H.: Logic of many-sorted theories. J. Symb. Logic 17(2), 105â116 (1952)Zantema, H.: Termination of term rewriting: interpretation and type elimination. J. Symb. Comput. 17, 23â50 (1994
Classes of Terminating Logic Programs
Termination of logic programs depends critically on the selection rule, i.e.
the rule that determines which atom is selected in each resolution step. In
this article, we classify programs (and queries) according to the selection
rules for which they terminate. This is a survey and unified view on different
approaches in the literature. For each class, we present a sufficient, for most
classes even necessary, criterion for determining that a program is in that
class. We study six classes: a program strongly terminates if it terminates for
all selection rules; a program input terminates if it terminates for selection
rules which only select atoms that are sufficiently instantiated in their input
positions, so that these arguments do not get instantiated any further by the
unification; a program local delay terminates if it terminates for local
selection rules which only select atoms that are bounded w.r.t. an appropriate
level mapping; a program left-terminates if it terminates for the usual
left-to-right selection rule; a program exists-terminates if there exists a
selection rule for which it terminates; finally, a program has bounded
nondeterminism if it only has finitely many refutations. We propose a
semantics-preserving transformation from programs with bounded nondeterminism
into strongly terminating programs. Moreover, by unifying different formalisms
and making appropriate assumptions, we are able to establish a formal hierarchy
between the different classes.Comment: 50 pages. The following mistake was corrected: In figure 5, the first
clause for insert was insert([],X,[X]
Inferring Termination Conditions for Logic Programs using Backwards Analysis
This paper focuses on the inference of modes for which a logic program is
guaranteed to terminate. This generalises traditional termination analysis
where an analyser tries to verify termination for a specified mode. Our
contribution is a methodology in which components of traditional termination
analysis are combined with backwards analysis to obtain an analyser for
termination inference. We identify a condition on the components of the
analyser which guarantees that termination inference will infer all modes which
can be checked to terminate. The application of this methodology to enhance a
traditional termination analyser to perform also termination inference is
demonstrated
12th International Workshop on Termination (WST 2012) : WST 2012, February 19â23, 2012, Obergurgl, Austria / ed. by Georg Moser
This volume contains the proceedings of the 12th International Workshop on Termination (WST 2012), to be held February 19â23, 2012 in Obergurgl, Austria. The goal of the Workshop on Termination is to be a venue for presentation and discussion of all topics in and around termination. In this way, the workshop tries to bridge the gaps between different communities interested and active in research in and around termination. The 12th International Workshop on Termination in Obergurgl continues the successful workshops held in St. Andrews (1993), La Bresse (1995), Ede (1997), Dagstuhl (1999), Utrecht (2001), Valencia (2003), Aachen (2004), Seattle (2006), Paris (2007), Leipzig (2009), and Edinburgh (2010). The 12th International Workshop on Termination did welcome contributions on all aspects of termination and complexity analysis. Contributions from the imperative, constraint, functional, and logic programming communities, and papers investigating applications of complexity or termination (for example in program transformation or theorem proving) were particularly welcome. We did receive 18 submissions which all were accepted. Each paper was assigned two reviewers. In addition to these 18 contributed talks, WST 2012, hosts three invited talks by Alexander Krauss, Martin Hofmann, and Fausto Spoto
A Polyvariant Binding-Time Analysis for Off-line Partial Deduction
We study the notion of binding-time analysis for logic programs. We formalise
the unfolding aspect of an on-line partial deduction system as a Prolog
program. Using abstract interpretation, we collect information about the
run-time behaviour of the program. We use this information to make the control
decisions about the unfolding at analysis time and to turn the on-line system
into an off-line system. We report on some initial experiments.Comment: 19 pages (including appendix) Paper (without appendix) appeared in
Programming Languages and Systems, Proceedings of the European Symposium on
Programming (ESOP'98), Part of ETAPS'98 (Chris Hankin, eds.), LNCS, vol.
1381, 1998, pp. 27-4
- âŠ