中文
相关论文

相关论文: A Refinement Calculus for Logic Programs

200 篇论文

We discuss proving correctness and completeness of definite clause logic programs. We propose a method for proving completeness, while for proving correctness we employ a method which should be well known but is often neglected. Also, we…

计算机科学中的逻辑 · 计算机科学 2017-01-31 Włodzimierz Drabent

Refinement types enrich a language's type system with logical predicates that circumscribe the set of values described by the type, thereby providing software developers a tunable knob with which to inform the type system about what…

编程语言 · 计算机科学 2020-10-16 Ranjit Jhala , Niki Vazou

We advocate a declarative approach to proving properties of logic programs. Total correctness can be separated into correctness, completeness and clean termination; the latter includes non-floundering. Only clean termination depends on the…

计算机科学中的逻辑 · 计算机科学 2011-10-25 W. Drabent , M. Milkowska

The generation of comprehensible explanations is an essential feature of modern artificial intelligence systems. In this work, we consider probabilistic logic programming, an extension of logic programming which can be useful to model…

人工智能 · 计算机科学 2023-08-17 Germán Vidal

We introduce a generalized logic programming paradigm where programs, consisting of facts and rules with the usual syntax, can be enriched by co-facts, which syntactically resemble facts but have a special meaning. As in coinductive logic…

编程语言 · 计算机科学 2017-09-26 Davide Ancona , Francesco Dagnino , Elena Zucca

We present Executable Abstract Programs and analyse their role for software development and documentation. The intuitive understanding of these programs fits the computational mindset of software system engineers and is supported by a…

软件工程 · 计算机科学 2022-09-15 Egon Boerger

A logic programming paradigm which expresses solutions to problems as stable models has recently been promoted as a declarative approach to solving various combinatorial and search problems, including planning problems. In this paradigm,…

人工智能 · 计算机科学 2007-05-23 Maurice Bruynooghe

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

编程语言 · 计算机科学 2015-09-29 M. H. van Emden

Partial correctness of imperative or functional programming divides in logic programming into two notions. Correctness means that all answers of the program are compatible with the specification. Completeness means that the program produces…

计算机科学中的逻辑 · 计算机科学 2025-08-26 Włodzimierz Drabent

It is widely acknowledged that function symbols are an important feature in answer set programming, as they make modeling easier, increase the expressive power, and allow us to deal with infinite domains. The main issue with their…

人工智能 · 计算机科学 2020-02-19 Marco Calautti , Sergio Greco , Cristian Molinaro , Irina Trubitsyna

Many logic programming based approaches can be used to describe and solve combinatorial search problems. On the one hand there is constraint logic programming which computes a solution as an answer substitution to a query containing the…

人工智能 · 计算机科学 2007-05-23 Nikolay Pelov , Emmanuel De Mot , Marc Denecker

Inductions and game semantics are two useful extensions to traditional logic programming. To be specific, inductions can capture a wider class of provable formulas in logic programming. Adopting game semantics can make logic programming…

计算机科学中的逻辑 · 计算机科学 2015-08-11 Keehang Kwon

We present an expressive logic over trace formulas, based on binary state predicates, chop, and least fixed-points, for precise specification of programs with recursive procedures. Both, programs and trace formulas, are equipped with a…

计算机科学中的逻辑 · 计算机科学 2024-11-21 Dilian Gurov , Reiner Hähnle

This dissertation introduces executable refinement types, which refine structural types by semi-decidable predicates, and establishes their metatheory and accompanying implementation techniques. These results are useful for undecidable type…

编程语言 · 计算机科学 2014-03-14 Kenneth Knowles

We present an approach to program reasoning which inserts between a program and its verification conditions an additional layer, the denotation of the program expressed in a declarative form. The program is first translated into its…

计算机科学中的逻辑 · 计算机科学 2012-02-23 Wolfgang Schreiner

In this paper we propose a calculus for expressing algorithms for programming languages transformations. We present the type system and operational semantics of the calculus, and we prove that it is type sound. We have implemented our…

编程语言 · 计算机科学 2019-10-29 Benjamin Mourad , Matteo Cimini

Logic programming with fixed-point definitions is a useful extension of traditional logic programming. Fixed-point definitions can capture simple model checking problems and closed-world assumptions. Its operational semantics is typically…

计算机科学中的逻辑 · 计算机科学 2015-08-06 Keehang Kwon

Program specialization is a program transformation methodology which improves program efficiency by exploiting the information about the input data which are available at compile time. We show that current techniques for program…

编程语言 · 计算机科学 2007-05-23 Alberto Pettorossi , Maurizio Proietti , Sophie Renault

Software and hardware architectures are prone to modifications. We demonstrate how a mathematically founded powerful refinement calculus for a class of architectures, namely pipe and filter architectures, can be used to modify a system in a…

软件工程 · 计算机科学 2014-11-11 Jan Philipps , Bernhard Rumpe

Algorithmic and data refinement are well studied topics that provide a mathematically rigorous approach to gradually introducing details in the implementation of software. Program refinements are performed in the context of some programming…

编程语言 · 计算机科学 2016-06-08 Jason Koenig , K. Rustan M. Leino