A New Logical Framework for Deductive Planning *

Size: px
Start display at page:

Download "A New Logical Framework for Deductive Planning *"

Transcription

1 A New Logical Framework for Deductive Planning * Werner Stephan and Susanne Biundo German Research Center for Artificial Intelligence (DFKI) Stuhlsatzenhausweg 3, Saarbrucken <lastname>@dfki.uni-sb.cie Abstract In this paper we present a logical framework for defining consistent axiomatizations of planning domains. A language to define basic actions and structured plans is embedded in a logic. This allows general properties of a whole planning scenario to be proved as well as plans to be formed deductively. In particular, frame assertions and domain constraints as invariants of the basic actions can be formulated and proved Even for complex plans most frame assertions are obtained by purely syntactic analysis In such cases the formal proof can be generated in a uniform way. The formalism we introduce is especially useful when treating recursive plans A tactical theorem prover, the Karlsruhe Interactive Verifier KIV is used to implement this logical framework 1 Introduction In this paper we present a logical framework for defining consistent axiomatizations of planning domains. An effective mechanism for defining the basic operations in a constructive way is embedded in a logic that allows properties of state spaces given by these actions to be proved. This not only includes the deductive generation of plans; reasoning about the complete scenario is also supported by this approach Our work follows the "Plans are Programs" paradigm. This approach is not new; in deductive planning, in particular, it has already been discussed by several authors (cf. [Green, 1969; Rosenschein, 1981; Kautz, 1982; Bibel, 1986; Manna and Waldinger, 1987; Biundo et al., 1992]). However, their contributions concentrated mainly on aspects of common control structures like sequential composition, conditional branching, and sometimes recursion. Less attention has been paid to the question of data structures Our approach is based on the idea of treating relations used in the axiomatizations of planning scenarios in the same way data with an algebraic structure are treated in ordinary programming lan- *This work was partly supported by the German Ministry for Research and Technology (BMFT) under contract ITW guages. In planning, situations are usually described by a set of relations between certain objects (blocks, rooms, robots etc.). These relations are flexible in the sense that they may change from one situation to another. The fact that these changes are local to a small section of the entire situation is not reflected in the basic semantic concepts underlying most formalisms for deductive planning. So, for example, the blocks world operation unstack(a,b), [Genesereth and Nilsson, 1987], changes only the on-relation between a and 6, the clear-property of 6 and the table-property of a If the pile of blocks is just a part of some room, which in turn is just one constituent of a larger scene, the unstack-operation exhibits very local behavior. A straightforward concept is to consider these relations as objects, like elements of (abstract) data types in ordinary programming languages In the theory of abstract data types most often one only considers algebraic structures where all elements are (freely) generated by so-called constructors. In our case, restricting ourselves to finite relations, an appropriate set of Constructors" and "selectors" can easily be devised as well Starting with the empty relation all finite n-ary relations can be generated by successive applications of an add- operation that adds an n-tuple to a given relation As is the case with freely generated data types, we have to supply a corresponding delete-operation in order to compute with this data type It seems reasonable to take these two operations as the basis of a planning language designed to compute changes of relational structures. In our approach relations between unstructured objects correspond to data objects and are therefore considered to be finite. This seems to be a realistic assumption in most applications. In the context of recursive plans the finiteness of relations and its reflection by axioms becomes essential for termination proofs. This approach, whereby one considers a fixed state space generated by add- (and delete') operations, underlies STRIPS-like [Fikes and Nilsson, 1971] planners. These systems also demand a complete description of the operations used in the planning process. In particular, they allow an efficient treatment of the frame problem [McCarthy and Hayes, 1969] since it is explicitly denoted which parts of a situation are changed. Our approach lends formal semantics to the basic concepts 32 Automated Reasoning

2 underlying the STRIPS approach and, while retaining its effectiveness, removes most of its limitations by providing a more general mechanism for defining operations and by embedding this mechanism in a logical framework. This not only extends the STRIPS approach and makes it suitable for deductive planning but also allows whole planning environments to be set up in a provably consistent way. Based on elementary add- and delete-operations with fixed semantics, we will begin with the definition of basic actions, and then use efficient control structures to build up more complex plans. Apart from the usual ones, these control structures include a new non-deterministic choose construct, necessary to select objects in a nondeterministic way. Domain constraints are formulated as tnvariants of the basic actions and can be proved from their basic definitions, thus guaranteeing consistency of the whole planning environment. Due to the fixed semantics of the elementary operations, as well as the control structures, "side effects" can be excluded in many cases, by a purely syntactical inspection of plans, thereby providing an efficient treatment of the frame problem. We will restrict ourselves to a formalization within a variant of Dynamic Logic (DL), although many of the basic ideas could be used in the context of other programming logics as well (e.g., [Salwicki, 1977; Harel, 1979; Manna and Pnueli, 1991; Kroger, 1987]). Not only does DL seem to be expressive enough for most applications in planning; this choice also allows an easy implementation of our formalism in an existing deductive system, the Karlsruhe Interactive Verifier (KIV) [Heisel et a/., 1990]. This system can be used as a logic-based shell for setting up planning environments. This includes the definition of the basic actions, the proof of invariants and additional lemmmata, and on top of that the implementation of various planning strategies The paper is organized in the following way: section 2 introduces the semantic background of our theory. In section 3, we define the logic, including syntax and semantics of the planning language. Section 4 shows how state invariants can be derived from the basic operator definitions; it also shows how the abstract operator descriptions, already seen in other planning formalisms, can be obtained, and serve as the basis for deductive planning Section 5 is devoted to the frame problem In section 6 we discuss some aspects of the implementation within the KIV system. Section 7 refers to related work and finally, we conclude with some remarks in section 8. Stephen and Biundo 33

3 34 Automated Reasoning

4 Stephan and Biundo 35

5 36 Automated Reasoning

6 They define basic actions as atomic constituents of their planning language that are axiomatized freely by describing their preconditions and effects, respectively. Our approach goes beyond this by providing a STRIPSlike way of defining basic actions and setting up consistent planning scenarios on top of that. The logical formalism is extended to reason about these basic actions as well as about composite plans built out of them. In both cases this includes recursive definitions. With the work of Pednault [Pednault, 1986; Pednault, 1989] the approach we presented in this paper shares the idea of describing basic actions in a STRIPS-like manner, that is, by giving add and delete lists for relations. Moreover, both approaches embed these descriptions into a logical formalism that can be used to reason about plans. We begin with the observation that the appropriate semantical background for integrating this STRIPS approach into deductive planning are models based on finitely generated relations. While ADL uses a fixed form of conditional add and delete lists our approach allows to program basic operations in a carefully chosen programming language that covers ADL schemata in a straightforward way. In our approach it is easy to add non-determinism and also in the deterministic case we can do without auxiliary relations which seem to be necessary in ADL to describe more complicated actions. In our setting we start out with the definition of basic actions. The defining programs always have a precise meaning in the underlying semantical structures. From these definitions which in addition are independent of each other we then prove domain constraints, derived descriptions, and frame assertions. These issues are not addressed in the ADL work. In addition, we have outlined a method to generate certain frame assertions even for composite plans by a purely textual analysis. Although many ideas presented above are independent of the logical basis we want to stress that the ability to reason about the structure of (possibly) recursive definitions (programs) is essential in this context. As already mentioned above, our formalism is based on the STRIPS ideas that have been given formal semantics by Lifschitz [Lifschitz, 1986]. We feel that our formalism in some sense "proceduralizes" Lifschitz's approach and extends it in some way, e.g. as far as the treatment of negative effects etc. is concerned. However, investigating this relationship in more detail goes beyond the scope of this paper. Separate work will be devoted to that issue. 8 Conclusion Combining characteristic features of conventional planning with techniques borrowed from programming logics, we have introduced a new theory of action based on a special variant of Dynamic Logic. Plans may be constructed using rich control structures including recursion, non-deterministic branching, and a special choose construct. In our approach, we start out by the definition of basic actions and are then able to prove properties about the state space generated by these actions. This includes frame assertions and domain constraints. In this way, we prevent our planning environment from running into inconsistencies. These are possible in other Stephan and Biundo 37

7 systems where frame assertions and domain constraints are considered to be axioms. An efficient treatment of the frame problem is provided by a method to generate most frame assertions non-deductively (with the possibility of a uniform formal proof within the system). Our theory of action clearly is not restricted to blocks-worldtype planning domains. One could equally well define a theory for an intelligent help system context where the planning domain is a command language environment. There the ability of reasoning about recursive plans is essential. Implementing our logical framework in the KIV system provides the basis not only for a deductive planning system, but also for a complete deductive planning environment, i.e., a system that also assists a user in developing a consistent axiomatization of his planning domain. Furthermore, this notion of environment can be extended by implementing tactics for temporal projection, plan validation and other reasoning methods. Further work is devoted to the automated generation of recursive plans and an extension of the logical framework to parallelism. References [Bibel et a/., 1989] W. Bibel, L. Farinas del Oerro, B. Fronhofer, and A. Herzig. Plan Generation by Linear Proofs: On Semantics. In GWA189: Curman Workshop on Artificial Intelligence, pages Springer LNCS 216, [Bibel, 1986] W. Bibel. A Deductive Solution for Plan generation. New Generation Computing, 4: , [Biundo et al, 1992] S. Bitindo, D. Dengler, and J. Kohler. Deductive Planning and Plan Reuse in a Command Language Environment. In Proceedings of the 10th European Conference on Artificial Intelligence, pages , [Dijkstra, 1976] E.W. Dijkstra. A Discipline of Programming. Prentice Hall, London, [Fikes and Nilsson, 1971] RE. Fikes and N..I Nilsson. STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving. Artificial Intelligence, 2: , [Genesereth and Nilsson, 1987] MR. Genesereth and N.J. Nilsson. Logical Foundations of Artificial Intelligence. Morgan Kaufmann Publishers, Los Altos, California, [Green, 1969] C. Green. Application of Theorem Proving to Problem Solving. In Proceedings of the 1st International Joint Conference on Artificial Intelligence, pages , [Guinchiglia et al, 1992] F. Guinchiglia, P. Traverso, A. Cimatti, and L. Spalazzi. Tactics. Extending the Notion of Plan. In Proc. of the ECA1-92 Workshop on Beyond Sequential Planning, [Harel, 1979] D. Harel. First Order Dynamic Logic. Springer LNCS 68, New York, [Heisel et al, 1989] M. Heisel, W. Reif, and W. Stephan. A Dynamic Logic for Program Verification. In A. Meyer and M. Taitslin, editors, Proceedings of Logic at Botik, pages Springer LCNS 363, [Heisel et al, 1990] M. Heisel, W. Reif, and W. Stephan. Tactical Theorem Proving in Program Verification. In Proceedings of the 10th International Conference on Automated Deduction, pages Springer LCNS 449, [Heisel et al, 1991] M. Heisel, W. Reif, and W. Stephan. Formal Software Development in the KIV System. In Automating Software Design, R. McCartney and M.R. Lowry (eds.). AAAI Press, [Kautz, 1982] H.A. Kautz. Planning within First-Order Dynamic Logic. In Proceedings of the CSCSI/SCEIO, pages 19-26, [Kroger, 1987] F. Kroger. Temporal Logic for Programs. Springer, Berlin, Heidelberg, New York, [Lifschitz, 1986] V. Lifschitz. On the Semantics of STRIPS. In MP. Georgeff and AL. Lansky, editors, Reasoning about Actions and Plans, pages 1-8. Morgan Kaufmann Publishers, Los Altos, [Manna and Pnueli, 1991] Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer, New York, [Manna and Waldinger, 1987] Z. Manna and R.. Waldinger How to Clear a Block: Plan Formation in Situational Logic. Journal of Automated Reasoning, 3: , [McCarthy and Hayes, 1969] J. McCarthy and P. Hayes. Some Philosophical Problems from the Standpoint of Artificial Intelligence. In B. Meltzer and D. Michie, editors, Machine Intelligence Vol 4, pages Edinburgh University Press, Edinburgh, [Pednault, 1986] E. Pednault. Formulating Multiagent, Dynamic-World Problems in the Classical Planning Framework. In MP. Georgeff and AL. Lansky, editors, Reasoning about Actions and Plans, pages Morgan Kaufmann Publishers, Los Altos, [Pednault, 1989] E. Pednault. ADL: Exploring the Middle Ground Between STRIPS and the Situation Calculus. In Proceedings of the 1st International Conference on Principles of Knowledge Representation and Reasoning, pages Morgan Kaufmann Publishers, [Rosenschein, 1981] S. Rosenschein. Plan Synthesis: A Logic Perspective. In Proceedings of the 7th International Joint Conference on Artificial Intelligence, pages , [Salwicki, 1977] A. Salwicki. Algorithmic Logic. A Tool for Investigations of Programs. In Logic, Foundations of Mathematics, and Computability Theory, Butts and Hintikka (eds.), pages D. Reidel Publishing Company, Dordrecht, Holland, [Stephan, 1989] W. Stephan. Axiomatisierung rekursiver Prozeduren in der Dynamischen Logik. Habilitationsschrift, Universitat Karlsruhe, Karlsruhe, Automated Reasoning

System Assistance in Structured Domain Model Development*

System Assistance in Structured Domain Model Development* System Assistance in Structured Domain Model Development* Susanne Biundo and Werner Stephan German Research Center for Artificial Intelligence (DFKI) Stuhlsatzenhausweg 3 D-66123 Saarbriicken, Germany

More information

Liveness and Fairness Properties in Multi-Agent Systems

Liveness and Fairness Properties in Multi-Agent Systems Liveness and Fairness Properties in Multi-Agent Systems Hans-Dieter Burkhard FB Informatik Humboldt-University Berlin PF 1297, 1086 Berlin, Germany e-mail: hdb@informatik.hu-berlin.de Abstract Problems

More information

Proving the Correctness of Distributed Algorithms using TLA

Proving the Correctness of Distributed Algorithms using TLA Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)

More information

Interactive Verification of Concurrent Systems using Symbolic Execution

Interactive Verification of Concurrent Systems using Symbolic Execution Interactive Verification of Concurrent Systems using Symbolic Execution Michael Balser, Simon Bäumler, Wolfgang Reif, and Gerhard Schellhorn University of Augsburg Abstract This paper presents an interactive

More information

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Roman Barták Charles University in Prague, Faculty of Mathematics and Physics Institute for Theoretical Computer

More information

A Partial Correctness Proof for Programs with Decided Specifications

A Partial Correctness Proof for Programs with Decided Specifications Applied Mathematics & Information Sciences 1(2)(2007), 195-202 An International Journal c 2007 Dixie W Publishing Corporation, U. S. A. A Partial Correctness Proof for Programs with Decided Specifications

More information

An Algebraic Framework for Optimizing Parallel Programs

An Algebraic Framework for Optimizing Parallel Programs An Algebraic Framework for Optimizing Parallel Programs Ichiro Satoh Department of Information Sciences, Ochanomizu University 2-1-1 Otsuka Bunkyo-ku Tokyo 112, Japan ichiro@is.ocha.ac.jp Abstract This

More information

Java-MOP: A Monitoring Oriented Programming Environment for Java

Java-MOP: A Monitoring Oriented Programming Environment for Java Java-MOP: A Monitoring Oriented Programming Environment for Java Feng Chen and Grigore Roşu Department of Computer Science, University of Illinois at Urbana - Champaign, USA {fengchen, grosu}@uiuc.edu

More information

PROPER TECHNIQUE OF SOFTWARE INSPECTION USING GUARDED COMMAND LANGUAGE

PROPER TECHNIQUE OF SOFTWARE INSPECTION USING GUARDED COMMAND LANGUAGE International Journal of Computer Science and Communication Vol. 2, No. 1, January-June 2011, pp. 153-157 PROPER TECHNIQUE OF SOFTWARE INSPECTION USING GUARDED COMMAND LANGUAGE Neeraj Kumar Singhania University,

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Verification of Concurrent Programs, Part I: The Temporal Framework

Verification of Concurrent Programs, Part I: The Temporal Framework June 1981 Report. No. ~ 1 AN-U-81-836 Verification of Concurrent Programs, Part I: The Temporal Framework by Zohar MilnIla Amir Ynucli Office of Navitl Rcscarch Department of Computer Science Stanford

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

Contents. Chapter 1 SPECIFYING SYNTAX 1

Contents. Chapter 1 SPECIFYING SYNTAX 1 Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren

More information

Modelling, Specification and Verification of an Emergency Closing System

Modelling, Specification and Verification of an Emergency Closing System From: FLAIRS-00 Proceedings. Copyright 2000, AAAI (www.aaai.org). All rights reserved. Modelling, Specification and Verification of an Emergency Closing System Werner Stephan and Georg Rock and Michael

More information

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac

Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massachusetts, 2000 Among the many approaches to formal reasoning

More information

Off-line Reasoning for On-line Efficiency *

Off-line Reasoning for On-line Efficiency * Off-line Reasoning for On-line Efficiency * Yoram Moses Moshe Tennenholtz Robotics Lab Department of Applied Math and CS Department of Computer Science The Weizmann Institute of Science Stanford University

More information

Rule Formats for Nominal Modal Transition Systems

Rule Formats for Nominal Modal Transition Systems Rule Formats for Nominal Modal Transition Systems Anke Stüber Universitet Uppsala, Uppsala, Sweden anke.stuber@it.uu.se Abstract. Modal transition systems are specification languages that allow the expression

More information

From Event-B Models to Dafny Code Contracts

From Event-B Models to Dafny Code Contracts From Event-B Models to Dafny Code Contracts Mohammadsadegh Dalvandi, Michael Butler, Abdolbaghi Rezazadeh Electronic and Computer Science School, University of Southampton Southampton, United Kingdom {md5g11,mjb,ra3}@ecs.soton.ac.uk

More information

Proving Invariants of Functional Programs

Proving Invariants of Functional Programs Proving Invariants of Functional Programs Zoltán Horváth, Tamás Kozsik, Máté Tejfel Eötvös Loránd University Department of General Computer Science {hz,kto,matej}@inf.elte.hu Abstract. In a pure functional

More information

A Look at Function Symbols and Planning

A Look at Function Symbols and Planning From: AAAI Technical Report SS-93-03. Compilation copyright 1993, AAAI (www.aaai.org). All rights reserved. A Look at Function Symbols and Planning Eric Jacopin * Laforia, 4 place Jussieu, Bolte 169 France,

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

6. Hoare Logic and Weakest Preconditions

6. Hoare Logic and Weakest Preconditions 6. Hoare Logic and Weakest Preconditions Program Verification ETH Zurich, Spring Semester 07 Alexander J. Summers 30 Program Correctness There are many notions of correctness properties for a given program

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic 3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax

More information

An ACL2 Tutorial. Matt Kaufmann and J Strother Moore

An ACL2 Tutorial. Matt Kaufmann and J Strother Moore An ACL2 Tutorial Matt Kaufmann and J Strother Moore Department of Computer Sciences, University of Texas at Austin, Taylor Hall 2.124, Austin, Texas 78712 {kaufmann,moore}@cs.utexas.edu Abstract. We describe

More information

Safe Stratified Datalog With Integer Order Does not Have Syntax

Safe Stratified Datalog With Integer Order Does not Have Syntax Safe Stratified Datalog With Integer Order Does not Have Syntax Alexei P. Stolboushkin Department of Mathematics UCLA Los Angeles, CA 90024-1555 aps@math.ucla.edu Michael A. Taitslin Department of Computer

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS 1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

More information

Revisiting Kalmar completeness metaproof

Revisiting Kalmar completeness metaproof Revisiting Kalmar completeness metaproof Angélica Olvera Badillo 1 Universidad de las Américas, Sta. Catarina Mártir, Cholula, Puebla, 72820 México angelica.olverabo@udlap.mx Abstract In this paper, I

More information

The User Interface of the KIV Verification System A System Description

The User Interface of the KIV Verification System A System Description UITP 2005 Preliminary Version The User Interface of the KIV Verification System A System Description Dominik Haneberg, Simon Bäumler, Michael Balser, Holger Grandy, Frank Ortmeier, Wolfgang Reif, Gerhard

More information

40 Behaviour Compatibility

40 Behaviour Compatibility 40 Behaviour Compatibility [2] R. De Nicola, Extentional Equivalences for Transition Systems, Acta Informatica, vol. 24, pp. 21-237, 1987. [3] J. Gray, Notes on Data Base Operating Systems, in Operating

More information

Lecture Notes on Program Equivalence

Lecture Notes on Program Equivalence Lecture Notes on Program Equivalence 15-312: Foundations of Programming Languages Frank Pfenning Lecture 24 November 30, 2004 When are two programs equal? Without much reflection one might say that two

More information

Type raising, continuations, and classical logic

Type raising, continuations, and classical logic Type raising, continuations, and classical logic Philippe de Groote Inria-Lorraine Abstract. There is a striking analogy between type raising, as introduced by Montague (973), and the notion of continuation

More information

Term Algebras with Length Function and Bounded Quantifier Elimination

Term Algebras with Length Function and Bounded Quantifier Elimination with Length Function and Bounded Ting Zhang, Henny B Sipma, Zohar Manna Stanford University tingz,sipma,zm@csstanfordedu STeP Group, September 3, 2004 TPHOLs 2004 - p 1/37 Motivation: Program Verification

More information

Lectures 20, 21: Axiomatic Semantics

Lectures 20, 21: Axiomatic Semantics Lectures 20, 21: Axiomatic Semantics Polyvios Pratikakis Computer Science Department, University of Crete Type Systems and Static Analysis Based on slides by George Necula Pratikakis (CSD) Axiomatic Semantics

More information

Extracting the Range of cps from Affine Typing

Extracting the Range of cps from Affine Typing Extracting the Range of cps from Affine Typing Extended Abstract Josh Berdine, Peter W. O Hearn Queen Mary, University of London {berdine, ohearn}@dcs.qmul.ac.uk Hayo Thielecke The University of Birmingham

More information

Pet: An Interactive Software Testing Tool

Pet: An Interactive Software Testing Tool Pet: An Interactive Software Testing Tool Elsa Gunter, Robert Kurshan, and Doron Peled Bell Laboratories 600 Mountain Ave. Murray Hill, NJ 07974 Abstract. We describe here the Pet (standing for path exploration

More information

Declarative Semantics for Revision Programming and Connections to Active Integrity Constraints

Declarative Semantics for Revision Programming and Connections to Active Integrity Constraints Declarative Semantics for Revision Programming and Connections to Active Integrity Constraints Luciano Caroprese 1 and Mirosław Truszczyński 2 1 Università della Calabria, 87030 Rende, Italy, caroprese@deis.unical.it

More information

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. !

! Use of formal notations. ! in software system descriptions. ! for a broad range of effects. ! and varying levels of use. ! What Are Formal Methods? David S. Rosenblum ICS 221 Winter 2001! Use of formal notations! first-order logic, state machines, etc.! in software system descriptions! system models, constraints, specifications,

More information

Operational Semantics

Operational Semantics 15-819K: Logic Programming Lecture 4 Operational Semantics Frank Pfenning September 7, 2006 In this lecture we begin in the quest to formally capture the operational semantics in order to prove properties

More information

Reading 1 : Introduction

Reading 1 : Introduction CS/Math 240: Introduction to Discrete Mathematics Fall 2015 Instructors: Beck Hasti and Gautam Prakriya Reading 1 : Introduction Welcome to CS 240, an introduction to discrete mathematics. This reading

More information

A Formalization of Transition P Systems

A Formalization of Transition P Systems Fundamenta Informaticae 49 (2002) 261 272 261 IOS Press A Formalization of Transition P Systems Mario J. Pérez-Jiménez and Fernando Sancho-Caparrini Dpto. Ciencias de la Computación e Inteligencia Artificial

More information

A graphical user interface for service adaptation

A graphical user interface for service adaptation A graphical user interface for service adaptation Christian Gierds 1 and Niels Lohmann 2 1 Humboldt-Universität zu Berlin, Institut für Informatik, Unter den Linden 6, 10099 Berlin, Germany gierds@informatik.hu-berlin.de

More information

Chapter 1. Introduction

Chapter 1. Introduction 1 Chapter 1 Introduction An exciting development of the 21st century is that the 20th-century vision of mechanized program verification is finally becoming practical, thanks to 30 years of advances in

More information

Introduction to Axiomatic Semantics (1/2)

Introduction to Axiomatic Semantics (1/2) #1 Introduction to Axiomatic Semantics (1/2) How s The Homework Going? Remember: just do the counterexample guided abstraction refinement part of DPLL(T). If you notice any other errors, those are good

More information

Chapter 2 & 3: Representations & Reasoning Systems (2.2)

Chapter 2 & 3: Representations & Reasoning Systems (2.2) Chapter 2 & 3: A Representation & Reasoning System & Using Definite Knowledge Representations & Reasoning Systems (RRS) (2.2) Simplifying Assumptions of the Initial RRS (2.3) Datalog (2.4) Semantics (2.5)

More information

The Method for Verifying Software Architecture with FSP Model

The Method for Verifying Software Architecture with FSP Model The Method for Verifying Software Architecture with FSP Model Kim, Jungho SKC&C Inc., SK u-tower 25-1, Jeongja-dong, Bundang-gu, Seongnam-si, Gyeonggi-do 463-844, Korea kimjh@skcc.com Abstract C&C view

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

Com S 541. Programming Languages I

Com S 541. Programming Languages I Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR

More information

LOGIC AND DISCRETE MATHEMATICS

LOGIC AND DISCRETE MATHEMATICS LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University

More information

Modeling Dynamic Domains with ConGolog

Modeling Dynamic Domains with ConGolog Modeling Dynamic Domains with ConGolog Yves Lespérance, Dept. of Computer Science, York University, Toronto, ON Canada, M3J 1P3 lesperan@cs.yorku.ca Todd G. Kelley, John Mylopoulos, and Eric S.K. Yu Dept.

More information

Towards a Logical Reconstruction of Relational Database Theory

Towards a Logical Reconstruction of Relational Database Theory Towards a Logical Reconstruction of Relational Database Theory On Conceptual Modelling, Lecture Notes in Computer Science. 1984 Raymond Reiter Summary by C. Rey November 27, 2008-1 / 63 Foreword DB: 2

More information

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur Module 3 Requirements Analysis and Specification Lesson 6 Formal Requirements Specification Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a formal

More information

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996

More information

Consider a description of arithmetic. It includes two equations that define the structural types of digit and operator:

Consider a description of arithmetic. It includes two equations that define the structural types of digit and operator: Syntax A programming language consists of syntax, semantics, and pragmatics. We formalize syntax first, because only syntactically correct programs have semantics. A syntax definition of a language lists

More information

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL Introduction to Linear-Time Temporal Logic CSE 814 Introduction to LTL 1 Outline Motivation for TL in general Types of properties to be expressed in TL Structures on which LTL formulas are evaluated Syntax

More information

Formal Predicate Calculus. Michael Meyling

Formal Predicate Calculus. Michael Meyling Formal Predicate Calculus Michael Meyling May 24, 2013 2 The source for this document can be found here: http://www.qedeq.org/0_04_07/doc/math/qedeq_formal_logic_v1.xml Copyright by the authors. All rights

More information

Introduction to Axiomatic Semantics (1/2)

Introduction to Axiomatic Semantics (1/2) #1 Introduction to Axiomatic Semantics (1/2) How s The Homework Going? Remember that you can t just define a meaning function in terms of itself you must use some fixed point machinery. #2 #3 Observations

More information

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system.

Q Body of techniques supported by. R precise mathematics. R powerful analysis tools. Q Rigorous, effective mechanisms for system. Introduction to Formal Methods 1 Introduction to Formal Methods 2 Formal Specification Requirements specification R notational statement of system services Software specification R formal abstract depiction

More information

Propositional Theories are Strongly Equivalent to Logic Programs

Propositional Theories are Strongly Equivalent to Logic Programs Under consideration for publication in Theory and Practice of Logic Programming 1 Propositional Theories are Strongly Equivalent to Logic Programs Pedro Cabalar Department of Computer Science, University

More information

Proofs and Proof Certification in the TLA + Proof System

Proofs and Proof Certification in the TLA + Proof System Proofs and Proof Certification in the TLA + Proof System Stephan Merz Inria Nancy Grand-Est & LORIA, Villers-lès-Nancy, France Abstract TLA + is a specification language originally designed for specifying

More information

The Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England

The Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England The Formal Semantics of Programming Languages An Introduction Glynn Winskel The MIT Press Cambridge, Massachusetts London, England Series foreword Preface xiii xv 1 Basic set theory 1 1.1 Logical notation

More information

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T. Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement

More information

The minimum spanning tree and duality in graphs

The minimum spanning tree and duality in graphs The minimum spanning tree and duality in graphs Wim Pijls Econometric Institute Report EI 2013-14 April 19, 2013 Abstract Several algorithms for the minimum spanning tree are known. The Blue-red algorithm

More information

Formal Verification of MIX Programs

Formal Verification of MIX Programs Formal Verification of MIX Programs Jean-Christophe Filliâtre CNRS LRI, Univ Paris-Sud, Orsay F-91405 INRIA Futurs, ProVal, Orsay F-91893 Abstract We introduce a methodology to formally verify MIX programs.

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

Formalizing Dijkstra

Formalizing Dijkstra Formalizing Dijkstra 1 Formalizing Dijkstra John Harrison Intel Corporation A Discipline of Programming Mechanizing programming logics Relational semantics Weakest preconditions Guarded commands Theorems

More information

Representing Product Designs Using a Description Graph Extension to OWL 2

Representing Product Designs Using a Description Graph Extension to OWL 2 Representing Product Designs Using a Description Graph Extension to OWL 2 Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. Product development requires

More information

Planning with failure

Planning with failure Planning with failure Fausto Giunchiglia 1 2, Luca Spalazzi 1,3, Paolo l Traverso IRST, 38050 Povo, Trento, Italy University of Trento, Via Inama 5, 38100 Trento, Italy University of Ancona, Via Brecce

More information

Topic 1: What is HoTT and why?

Topic 1: What is HoTT and why? Topic 1: What is HoTT and why? May 5, 2014 Introduction Homotopy type theory (HoTT) is a newly emerging field of mathematics which is currently being developed as a foundation of mathematics which is in

More information

Fundamental Concepts. Chapter 1

Fundamental Concepts. Chapter 1 Chapter 1 Fundamental Concepts This book is about the mathematical foundations of programming, with a special attention on computing with infinite objects. How can mathematics help in programming? There

More information

A METHOD FOR MINING FUNCTIONAL DEPENDENCIES IN RELATIONAL DATABASE DESIGN USING FCA

A METHOD FOR MINING FUNCTIONAL DEPENDENCIES IN RELATIONAL DATABASE DESIGN USING FCA STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume LIII, Number 1, 2008 A METHOD FOR MINING FUNCTIONAL DEPENDENCIES IN RELATIONAL DATABASE DESIGN USING FCA KATALIN TUNDE JANOSI RANCZ AND VIORICA VARGA Abstract.

More information

Towards Dependable Development Tools for Embedded Systems A Case Study in Software Verification*

Towards Dependable Development Tools for Embedded Systems A Case Study in Software Verification* From: FLAIRS-00 Proceedings. Copyright ' 2000, AAAI (www.aaai.org). All rights reserved. Towards Dependable Development Tools for Embedded Systems A Case Study in Software Verification* Uwe Petermanu Dept.

More information

Representing Symbolic Reasoning

Representing Symbolic Reasoning Representing Symbolic Reasoning Brian Mastenbrook and Eric Berkowitz 1400 N. Roosevelt Blvd. Schaumburg, IL 60173 chandler@acm.roosevelt.edu eric@cs.roosevelt.edu Abstract Introspection is a fundamental

More information

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK DER TECHNISCHEN UNIVERSITÄT MÜNCHEN Master-Seminar Software Verification Author: Lukas Erlacher Advisor: Prof. Andrey Rybalchenko, Dr. Corneliu Popeea Submission: April, 2013 Contents

More information

Reasoning in Attempto Controlled English: Non-Monotonicity

Reasoning in Attempto Controlled English: Non-Monotonicity Reasoning in Attempto Controlled English: Non-Monotonicity Norbert E. Fuchs Department of Informatics & Institute of Computational Linguistics University of Zurich fuchs@ifi.uzh.ch http://attempto.ifi.uzh.ch/

More information

A CRASH COURSE IN SEMANTICS

A CRASH COURSE IN SEMANTICS LAST TIME Recdef More induction NICTA Advanced Course Well founded orders Slide 1 Theorem Proving Principles, Techniques, Applications Slide 3 Well founded recursion Calculations: also/finally {P}... {Q}

More information

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability

More information

Seminar Software Quality and Safety

Seminar Software Quality and Safety Seminar Software Quality and Safety SCADE a model-driven Software Development Environment by Dominik Protte Software Engineering Group Universität Paderborn Motivation Many safety-critical components in

More information

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Markus Krötzsch Pascal Hitzler Marc Ehrig York Sure Institute AIFB, University of Karlsruhe, Germany; {mak,hitzler,ehrig,sure}@aifb.uni-karlsruhe.de

More information

Distributed Information System as a System of Asynchronous Concurrent Processes

Distributed Information System as a System of Asynchronous Concurrent Processes Distributed Information System as a System of Asynchronous Concurrent Processes Marek Rychlý Jaroslav Zendulka Department of Information Systems Faculty of Information Technology Brno University of Technology

More information

A New Method to Index and Query Sets

A New Method to Index and Query Sets A New Method to Index and Query Sets Jorg Hoffmann and Jana Koehler Institute for Computer Science Albert Ludwigs University Am Flughafen 17 79110 Freiburg, Germany hoffmann koehler@informatik.uni-freiburg.de

More information

Introduction to Homotopy Type Theory

Introduction to Homotopy Type Theory Introduction to Homotopy Type Theory Lecture notes for a course at EWSCS 2017 Thorsten Altenkirch March 5, 2017 1 What is this course about? To explain what Homotopy Type Theory is, I will first talk about

More information

Formal Methods in Software Development

Formal Methods in Software Development Formal Methods in Software Development Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at

More information

Representation in a Domain-Independent Planner. David E. Wilkins Artificial Intelligence Center SRI International Menlo Park, California

Representation in a Domain-Independent Planner. David E. Wilkins Artificial Intelligence Center SRI International Menlo Park, California Representation in a Domain-Independent Planner David E. Wilkins Artificial Intelligence Center SRI International Menlo Park, California ABSTRACT The representation used in a domain-independent planning

More information

Dependent Object Types - A foundation for Scala s type system

Dependent Object Types - A foundation for Scala s type system Dependent Object Types - A foundation for Scala s type system Draft of September 9, 2012 Do Not Distrubute Martin Odersky, Geoffrey Alan Washburn EPFL Abstract. 1 Introduction This paper presents a proposal

More information

Program Design in PVS. Eindhoven University of Technology. Abstract. Hoare triples (precondition, program, postcondition) have

Program Design in PVS. Eindhoven University of Technology. Abstract. Hoare triples (precondition, program, postcondition) have Program Design in PVS Jozef Hooman Dept. of Computing Science Eindhoven University of Technology P.O. Box 513, 5600 MB Eindhoven, The Netherlands e-mail: wsinjh@win.tue.nl Abstract. Hoare triples (precondition,

More information

Towards certification of TLA + proof obligations with SMT solvers

Towards certification of TLA + proof obligations with SMT solvers Towards certification of TLA + proof obligations with SMT solvers Stephan Merz and Hernán Vanzetto INRIA Nancy Grand-Est & LORIA Nancy, France Abstract TLA + is a formal specification language that is

More information

Efficient SQL-Querying Method for Data Mining in Large Data Bases

Efficient SQL-Querying Method for Data Mining in Large Data Bases Efficient SQL-Querying Method for Data Mining in Large Data Bases Nguyen Hung Son Institute of Mathematics Warsaw University Banacha 2, 02095, Warsaw, Poland Abstract Data mining can be understood as a

More information

Decision Procedures for Recursive Data Structures with Integer Constraints

Decision Procedures for Recursive Data Structures with Integer Constraints Decision Procedures for Recursive Data Structures with Ting Zhang, Henny B Sipma, Zohar Manna Stanford University tingz,sipma,zm@csstanfordedu STeP Group, June 29, 2004 IJCAR 2004 - p 1/31 Outline Outline

More information

Lecture 5 - Axiomatic semantics

Lecture 5 - Axiomatic semantics Program Verification March 2014 Lecture 5 - Axiomatic semantics Lecturer: Noam Rinetzky Scribes by: Nir Hemed 1.1 Axiomatic semantics The development of the theory is contributed to Robert Floyd, C.A.R

More information

Implementation of Axiomatic Language

Implementation of Axiomatic Language Implementation of Axiomatic Language Walter W. Wilson 1 1 Dept. of Computer Science & Engineering The University of Texas at Arlington Arlington, Texas 76019, USA wwwilson@acm.org Abstract This report

More information

Automata Theory for Reasoning about Actions

Automata Theory for Reasoning about Actions Automata Theory for Reasoning about Actions Eugenia Ternovskaia Department of Computer Science, University of Toronto Toronto, ON, Canada, M5S 3G4 eugenia@cs.toronto.edu Abstract In this paper, we show

More information

Paradigms of computer programming

Paradigms of computer programming Paradigms of computer programming Louv1.1x and Louv1.2x form a two-course sequence Together they teach programming as a unified discipline that covers all programming languages Second-year university level:

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

Leslie Lamport: The Specification Language TLA +

Leslie Lamport: The Specification Language TLA + Leslie Lamport: The Specification Language TLA + This is an addendum to a chapter by Stephan Merz in the book Logics of Specification Languages by Dines Bjørner and Martin C. Henson (Springer, 2008). It

More information

Deduction-based Refinement Planning

Deduction-based Refinement Planning Deduction-based Refinement Planning Werner Stephan and Susanne Biundo German Research Center for Artificial Intelligence (DFKI) Stuhlsatzenhausweg 3 D-66123 Saarbriicken, Germany {stephan, biundo) @dfld.uni-sb.de

More information

MATH Iris Loeb.

MATH Iris Loeb. MATH 134 http://www.math.canterbury.ac.nz/math134/09/su1/c Iris Loeb I.Loeb@math.canterbury.ac.nz Office Hours: Thur 10.00-11.00, Room 703 (MSCS Building) The Limits of Formal Logic We now turn our attention

More information

Institut für Informatik D Augsburg

Institut für Informatik D Augsburg Universität Augsburg Safer Ways to Pointer Manipulation Bernhard Möller Report 2000-4 Mai 2000 Institut für Informatik D-86135 Augsburg Copyright c Bernhard Möller Institut für Informatik Universität Augsburg

More information

An Annotated Language

An Annotated Language Hoare Logic An Annotated Language State and Semantics Expressions are interpreted as functions from states to the corresponding domain of interpretation Operators have the obvious interpretation Free of

More information