English
Related papers

Related papers: Combining Logic Programs and Monadic Second Order …

200 papers

Provably correct software is one of the key challenges of our software-driven society. Program synthesis -- the task of constructing a program satisfying a given specification -- is one strategy for achieving this. The result of this task…

Logic in Computer Science · Computer Science 2022-06-24 Andreas Humenberger , Daneshvar Amrollahi , Nikolaj Bjørner , Laura Kovács

Many safety-critical systems must achieve high-level task specifications with guaranteed safety and correctness. Much recent progress towards this goal has been made through controller synthesis from signal temporal logic (STL)…

Robotics · Computer Science 2018-10-23 Rafael Rodrigues da Silva , Hai Lin

Concolic testing is a popular dynamic validation technique that can be used for both model checking and automatic test case generation. We have recently introduced concolic testing in the context of logic programming. In contrast to…

Logic in Computer Science · Computer Science 2016-08-11 Fred Mesnard , Etienne Payet , German Vidal

We present the Temporal Logic Synthesis Format (TLSF), a high-level format to describe synthesis problems via Linear Temporal Logic (LTL). The format builds upon standard LTL, but additionally allows to use high-level constructs, such as…

Logic in Computer Science · Computer Science 2016-11-24 Swen Jacobs , Felix Klein , Sebastian Schirmer

We introduce and study logic programs whose clauses are built out of monotone constraint atoms. We show that the operational concept of the one-step provability operator generalizes to programs with monotone constraint atoms, but the…

Artificial Intelligence · Computer Science 2007-05-23 V. W. Marek , I. Niemela , M. Truszczynski]

Determining whether a program terminates is a core challenge in program analysis with direct implications for correctness, verification, and security. We investigate whether transformer architectures can recognise termination patterns…

Programming Languages · Computer Science 2026-04-02 Yoav Alon , Cristina David

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence,…

Logic in Computer Science · Computer Science 2016-07-18 Peter Schrammel

Commutativity reasoning based on Lipton's movers is a powerful technique for verification of concurrent programs. The idea is to define a program transformation that preserves a subset of the initial set of interleavings, which is sound…

Programming Languages · Computer Science 2026-01-21 Namratha Gangamreddypalli , Constantin Enea , Shaz Qadeer

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…

Logic in Computer Science · Computer Science 2011-10-25 W. Drabent , M. Milkowska

We propose an operationally-based deductive proof method for program equivalence. It is based on encoding the language semantics as logically constrained term rewriting systems (LCTRSs) and the two programs as terms. The main feature of our…

Logic in Computer Science · Computer Science 2020-01-28 Ştefan Ciobâcă , Dorel Lucanu , Andrei Sebastian Buruiană

First-order logic has been established as an important tool for modeling and verifying intricate systems such as distributed protocols and concurrent systems. These systems are parametric in the number of nodes in the network or the number…

Logic in Computer Science · Computer Science 2024-08-21 Raz Lotan , Eden Frenkel , Sharon Shoham

The classical technique for proving termination of a generic sequential computer program involves the synthesis of a ranking function for each loop of the program. Linear ranking functions are particularly interesting because many…

Programming Languages · Computer Science 2012-04-03 Roberto Bagnara , Fred Mesnard , Andrea Pescetti , Enea Zaffanella

System Level Synthesis (SLS) parametrization facilitates controller synthesis for large, complex, and distributed systems by incorporating system level constraints (SLCs) into a convex SLS problem and mapping its solution to stable…

Systems and Control · Electrical Eng. & Systems 2021-01-14 Shih-Hao Tseng , Carmen {Amo Alonso} , SooJean Han

In this paper we propose an approach to reasoning about properties of imperative programs. We assume in this context that the meanings of program constructs are described using rules in the natural semantics style with the additional…

Logic in Computer Science · Computer Science 2015-03-04 Daniel DaCosta

Logic Programs with Ordered Disjunction (LPODs) extend classical logic programs with the capability of expressing preferential disjunctions in the heads of program rules. The initial semantics of LPODs, although simple and quite intuitive,…

Logic in Computer Science · Computer Science 2022-05-11 Angelos Charalambidis , Christos Nomikos , Panos Rondogiannis

In answer set programming (ASP), a problem at hand is solved by (i) writing a logic program whose answer sets correspond to the solutions of the problem, and by (ii) computing the answer sets of the program using an answer set solver as a…

Artificial Intelligence · Computer Science 2007-05-23 Tomi Janhunen , Emilia Oikarinen

The theory of finite term algebras provides a natural framework to describe the semantics of functional languages. The ability to efficiently reason about term algebras is essential to automate program analysis and verification for…

Logic in Computer Science · Computer Science 2016-11-10 Laura Kovacs , Simon Robillard , Andrei Voronkov

Fundamentally, every static program analyser searches for a proof through a combination of heuristics providing candidate solutions and a candidate validation technique. Essentially, the heuristic reduces a second-order problem to a…

Logic in Computer Science · Computer Science 2015-01-20 Cristina David , Daniel Kroening , Matt Lewis

In various provers and deductive verification tools, logical transformations are used extensively in order to reduce a proof task into a number of simpler tasks. Logical transformations are often part of the trusted base of such tools. In…

Logic in Computer Science · Computer Science 2021-07-07 Quentin Garchery

Programs written in dynamic languages make heavy use of features --- run-time type tests, value-indexed dictionaries, polymorphism, and higher-order functions --- that are beyond the reach of type systems that employ either purely syntactic…

Programming Languages · Computer Science 2011-09-16 Ravi Chugh , Patrick M. Rondon , Ranjit Jhala