Extensions: Concurrency, Interrupts, Sensing

Size: px
Start display at page:

Download "Extensions: Concurrency, Interrupts, Sensing"

Transcription

1 IIc. Procedural action programs 1 Extensions: Concurrency, Interrupts, Sensing Exogenous actions Concurrency and interrupts in GOLOG A transitional semantics for GOLOG Sensing actions

2 Mailbot in a Constantly Changing World IIc. Procedural action programs 2

3 IIc. Procedural action programs 3 Example: Exogenous Actions Symbol AddRequest CancelRequest Idle Type PACKAGE ROOM ROOM # ACTION PACKAGE # ACTION # ACTION proc Interaction p. r 1. r 2. AddRequest(p, r 1 ) p. CancelRequest(p) endproc;

4 IIc. Procedural action programs 4 Precondition Axioms Poss(AddRequest(p, r 1 ), s, t) t = Do(AddRequest(p, r 1 ), s) ( r' 1, r' 2 ) Holds(Request(p, r' 1, r' 2 ), s) ( b, r') Holds(Carries(b, p, r'), s) r 1 r 2 Poss(CancelRequest(p), s, t) t = Do(CancelRequest(p), s) ( r 1 ) Holds(Request(p, r 1 ), s) Poss(Idle, s, t) t = Do(Idle, s)

5 IIc. Procedural action programs 5 Effect Axioms Poss(AddRequest(p, r 1 ), s, t) ( f)[f = Request(p, r 1 ) Holds(f, s) Holds(f, t)] ( f)[f Request(p, r 1 ) Holds(f, s) Holds(f, t)] Poss(CancelRequest(p), s, t) ( r 1 )(Holds(Request(p, r 1 ), s) ( f)[holds(f, s) f Request(p, r 1 ) Holds(f, t)] ( f)[f = Request(p, r 1 ) Holds(f, s) Holds(f, t)]) Poss(Idle s, t) ( f)[holds(f, s) Holds(f, t)] ( f)[ Holds(f, s) Holds(f, t)]

6 IIc. Procedural action programs 6 Concurrency and Interrupts in GOLOG Command Meaning concurrent execution concurrent execution with priority concurrent iteration interrupt

7 IIc. Procedural action programs 7 Modified GOLOG Program for Mail Delivery proc Deliver... endproc;... proc Interaction... endproc; Interaction* (while ( p, r 1 ) Request(p, r 1 ) do Idle endwhile; Control)

8 IIc. Procedural action programs 8 A Transitional Semantics for GOLOG The transitional semantics for GOLOG is given by formulas meaning that Trans(, s, ', s') Final(, s) executing one step of in s may result in s', and ' is what remains of after this step; can be considered completed in s.

9 IIc. Procedural action programs 9 Transitional Semantics for GOLOG Constructs Trans(nil, s, ', s') False Trans(a, s, ', s') Poss(a, s, s') ' = nil s' = Do(a, s) Trans(?, s, ', s') [s] ' = nil s' = s Trans( 1 ; 2, s, ', s') ( 1 ') (Trans( 1, s, 1 ', s') ' = ( 1 '; 2 )) Final( 1, s) Trans( 2, s, ', s') Trans( 1 2, s, ', s') Trans( 1, s, ', s') Trans( 2, s, ', s') Trans( x. (x), s, ', s') ( x) Trans( (x), s, ', s') Trans( *, s, ', s') ( '') (Trans(, s, '', s') ' = ( ''; *))

10 IIc. Procedural action programs 10 Transitional Semantics for GOLOG Macros Trans(if then 1 else 2 endif, s, ', s') [ s] Trans( 1, s, ', s') [ s] Trans( 2, s, ', s') Trans(while do endwhile, s, ', s') ( '') ( [ s] Trans(, s, '', s') ' = ( ''; while do endwhile))

11 IIc. Procedural action programs 11 Transitional Semantics for Concurrency Trans( 1 2, s, ', s') ( ) (Trans( 1, s,, s') ' = ( 2 )) ( ) (Trans( 2, s,, s') ' = ( 1 )) Trans( 1 2, s, ', s') ( ) (Trans( 1, s,, s') ' = ( 2 )) ( ) ( Trans( 2, s,, s') ' = ( 1 )) ( '', s'') Trans( 1, s, '', s'') Trans(, s, ', s') ( '') ( Trans(, s, '', s') ' = ( '' ))

12 IIc. Procedural action programs 12 Transitional Semantics for Interrupts while True do if then else False? endif endwhile To terminate the interrupt after one execution, use an arbitrary fluent that is true initially and set to false by.

13 IIc. Procedural action programs 13 Transitional Semantics: Final Configurations (1) Final(nil, s) True Final(a, s) False Final(?, s) False Final( 1 ; 2, s) Final( 1, s) Final( 2, s) Final( 1 2, s) Final( 1, s) Final( 2, s) Final( x. (x), s) ( x) Final( (x), s) Final( *, s) True

14 IIc. Procedural action programs 14 Transitional Semantics: Final Configurations (2) Final( 1 2, s) Final( 1, s) Final( 2, s) Final( 1 2, s) Final( 1, s) Final( 2, s) Final(, s) True Final(if then 1 else 2 endif, s) [ s] Final( 1, s) [ s] Final( 2, s) Final(while do endwhile, s) [ s] Final(, s)

15 IIc. Procedural action programs 15 The Overall Transitional Semantics DO(, s, s') :<=> ( ')(Trans*(, s, ', s') Final( ', s')) where Trans*(, s, ', s') :<=> ( P)([( 1, s 1 )P( 1, s 1, 1, s 1 ) ( 1,..., s 3 )(P( 1, s 1, 2, s 2 ) Trans( 2, s 2, 3, s 3 ) P( 1, s 1, 3, s 3 ))] P(, s, ', s'))

16 IIc. Procedural action programs 16 Example Suppose Holds(f, S 0 ) f = At(1) f = Empty(B 1 ) f = Empty(B 2 ) f = Empty(B 3 ) Then DO( mail, S 0, S) is true for, e.g., S = Do(Drop(B 1 ), Do(Go(Up), Do(Pick(P 2, B 1 ), Do(Go(Down), Do(CancelRequest(P 1 ), Do(AddRequest(P 2, 1, 2), Do(Go(Up), Do(AddRequest(P 1, 2, 1), Do(Idle, S 0 )))))))))

17 Programs with Sensing IIc. Procedural action programs 17

18 Example: Having a Robot Negotiate a Maze IIc. Procedural action programs 18

19 IIc. Procedural action programs 19 A High-Level Control Program for the Robot proc TakeNextStep TurnRight; SenseBlocked; while Blocked do TurnLeft; SenseBlocked endwhile; GoForward endproc; while At(Exit) do TakeNextStep endwhile

20 IIc. Procedural action programs 20 Recap: Online- vs. Offline-Execution Online-execution Agent commits immediately to every non-deterministic choice Program may not be completed althoug s exists s.th. DO(, S 0, s) Example: [Go(Up); ( b) Empty(b)?] Go(Down) Offline-execution Agent searches for s s.th. DO(, S 0, s) before executing any action

21 IIc. Procedural action programs 21 Offline vs. Online Execution in the Presence of Sensing Without sufficient knowledge, GOLOG programs with sensing cannot be executed offline. Without sufficient knowledge of fluent Blocked, there is no provably successful run of maze. Online execution provides sufficient information about initially unknown fluents when needed. But the advantages of offline execution (to enable search) are lost.

22 IIc. Procedural action programs 22 The Search Operator Only subprograms in the scope of the search operator are executed offline. Example: {(PlanA PlanB); SubGoal?}; (ActC ActD); Test? Action PlanA or action PlanB is chosen, depending on which achieves goal SubGoal. Action ActC or action ActD is chosen, and the agent commits to this choice prior to testing Test.

23 IIc. Procedural action programs 23 Axiomatizing Sensing Actions The special predicate SF(a, s) is true if what is sensed by action a holds in situation s. SF(SenseBlocked, s) Holds(Blocked, s) SF(TurnLeft, s) True SF(TurnRight, s) True SF(GoForward, s) True

24 IIc. Procedural action programs 24 Histories A history h is a sequence of (action, sensing result)-pairs (a 1, v 1 ), (a 2, v 2 ),..., (a n, v n ) (n 0) End[h, s] :<=> Do(a n,..., Do(a 2, Do(a 1, s))...) Sensed[h, s] :<=> { } SF(a 1, Do(a 1, s))... { }SF(a n, End[h, s]) where is placed wrt. a i iff v i = false

25 IIc. Procedural action programs 25 Example The history h = (TurnRight, true), (SenseBlocked, false), (GoForward, true) determines this formula as Sensed[h, S 0 ]: True Holds(Blocked, Do(SenseBlocked, Do(TurnRight, S 0 ))) True...

26 IIc. Procedural action programs 26 Transitional Semantics in the Presence of Sensing Given a history h and domain axiomatization Ax A transition is possible if Ax Sensed[h, s] Trans(, End[h, s], ', s') A program may terminate if Ax Sensed[h, s] Final(, End[h, s])

27 IIc. Procedural action programs 27 Semantics of Search Operator Trans(, s, ', s') ( '') (Trans(, s, '', s') ' = '' Final(, s) Final(, s) ( e, s e )(Trans*( '', s', e, s e ) Final( e, s e )))

Continuing the KRR Journey

Continuing the KRR Journey 1 Weeks 1 3 Week 4 Week 5 Week 6 Continuing the KRR Journey Propositional and first-order logic (FOL) Expressiveness and Decidability: Propositional logic is decidable, FOL is not. Classical planning problems:

More information

Lecture 3: High-level Programming in the Situation Calculus: Golog and ConGolog

Lecture 3: High-level Programming in the Situation Calculus: Golog and ConGolog DIS La Sapienza, PhD Course: Reasoning about Action and High-Level Programs Lecture 3: High-level Programming in the Situation Calculus: Golog and ConGolog Yves Lespérance Dept. of Computer Science & Engineering,

More information

Interpreting Golog Programs in Flux

Interpreting Golog Programs in Flux Interpreting Golog Programs in Flux Stephan Schiffel and Michael Thielscher Department of Computer Science Dresden University of Technology {stephan.schiffel,mit}@inf.tu-dresden.de Abstract A new semantics

More information

DIS La Sapienza PhD Course. Autonomous Agents and Multiagent Systems. Lecture 4: High-Level Programming in the Situation Calculus: Golog and ConGolog

DIS La Sapienza PhD Course. Autonomous Agents and Multiagent Systems. Lecture 4: High-Level Programming in the Situation Calculus: Golog and ConGolog DIS La Sapienza PhD Course Autonomous Agents and Multiagent Systems Lecture 4: High-Level Programming in the Situation Calculus: Golog and ConGolog Yves Lespérance Dept. of Computer Science & Engineering

More information

initial state to some prespecied goal state, the task is to nd a sequence of actions that constitutes a legal execution of some prespecied non-determi

initial state to some prespecied goal state, the task is to nd a sequence of actions that constitutes a legal execution of some prespecied non-determi ConGolog, a concurrent programming language based on the situation calculus: foundations Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza" Via Salaria 113,

More information

demanding computationally in all but simple settings. An alternative approach that is showing promise is that of high-level program execution [20]. Th

demanding computationally in all but simple settings. An alternative approach that is showing promise is that of high-level program execution [20]. Th ConGolog, a concurrent programming language based on the situation calculus Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza" Via Salaria 113, 00198 Roma,

More information

Reconciling Situation Calculus and Fluent Calculus

Reconciling Situation Calculus and Fluent Calculus Reconciling Situation Calculus and Fluent Calculus Stephan Schiffel and Michael Thielscher Department of Computer Science Dresden University of Technology {stephan.schiffel,mit}@inf.tu-dresden.de Abstract

More information

ConGolog, a concurrent programming language based on the situation calculus

ConGolog, a concurrent programming language based on the situation calculus Artificial Intelligence 121 (2000) 109 169 ConGolog, a concurrent programming language based on the situation calculus Giuseppe De Giacomo a,, Yves Lespérance b, Hector J. Levesque c a Dipartimento di

More information

Situation Calculus and Golog

Situation Calculus and Golog Situation Calculus and Golog Institute for Software Technology 1 Recap Situation Calculus Situation Calculus allows for reasoning about change and actions a dialect of the second-order logic uses the concept

More information

state to some goal state, the task is to nd a sequence of actions that constitutes a legal execution of some high-level non-deterministic program. As

state to some goal state, the task is to nd a sequence of actions that constitutes a legal execution of some high-level non-deterministic program. As ConGolog, a concurrent programming language based on the situation calculus: language and implementation. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Universita di Roma \La Sapienza"

More information

On the Semantics of Deliberation in IndiGolog

On the Semantics of Deliberation in IndiGolog On the Semantics of Deliberation in IndiGolog From Theory to Implementation GIUSEPPE DE GIACOMO (degiacomo@dis.uniroma1.it) Dip. Informatica e Sistemistica, Università di Roma La Sapienza, Via Salaria

More information

On the semantics of deliberation in IndiGolog from theory to implementation

On the semantics of deliberation in IndiGolog from theory to implementation Annals of Mathematics and Artificial Intelligence 41: 259 299, 2004. 2004 Kluwer Academic Publishers. Printed in the Netherlands. On the semantics of deliberation in IndiGolog from theory to implementation

More information

Gerald Steinbauer Institute for Software Technology

Gerald Steinbauer Institute for Software Technology Situation ti Calculus l and Golog Institute for Software Technology 1 Recap Situation Calculus Situation Calculus allows for reasoning about change and actions a dialect of the second-orderorder logic

More information

The Situation Calculus and Golog

The Situation Calculus and Golog and A Tutorial Gerhard Lakemeyer Dept. of Computer Science RWTH Aachen University Germany 2nd Hybris Workshop, Freiburg, May 27 28, 2013 Outline 1 2 3 May 28, 2013 2 / 34 Knowledge-Based Agents Example:

More information

On Ability to Autonomously Execute Agent Programs with Sensing

On Ability to Autonomously Execute Agent Programs with Sensing On Ability to Autonomously Execute Agent Programs with Sensing Sebastian Sardiña Dept. of Computer Science University of Toronto ssardina@cs.toronto.edu Yves Lespérance Dept. of Computer Science York University

More information

APPLIED LOGIC SERIES VOLUME 33. Managing Editor Dov M. Gabbay, Department of Computer Science, King s College, London, U.K. Co-Editor Jon Barwise

APPLIED LOGIC SERIES VOLUME 33. Managing Editor Dov M. Gabbay, Department of Computer Science, King s College, London, U.K. Co-Editor Jon Barwise TLFeBOOK TLFeBOOK Reasoning Robots APPLIED LOGIC SERIES VOLUME 33 Managing Editor Dov M. Gabbay, Department of Computer Science, King s College, London, U.K. Co-Editor Jon Barwise Editorial Assistant Jane

More information

14. Actions. KR & R Brachman & Levesque Situation calculus

14. Actions. KR & R Brachman & Levesque Situation calculus 14. Actions KR & R Brachman & Levesque 2005 236 Situation calculus The situation calculus is a dialect of FOL for representing dynamically changing worlds in which all changes are the result of named actions.

More information

Proofs of Correctness: Introduction to Axiomatic Verification

Proofs of Correctness: Introduction to Axiomatic Verification Proofs of Correctness: Introduction to Axiomatic Verification Introduction Weak correctness predicate Assignment statements Sequencing Selection statements Iteration 1 Introduction What is Axiomatic Verification?

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Winter 2017 Lecture 2b Andrew Tolmach Portland State University 1994-2017 Semantics Informal vs. Formal Informal semantics Descriptions in English (or other natural language)

More information

Non-Markovian Control in the Situation Calculus

Non-Markovian Control in the Situation Calculus Non-Markovian Control in the Situation Calculus An Elaboration Niklas Hoppe Seminar Foundations Of Artificial Intelligence Knowledge-Based Systems Group RWTH Aachen May 3, 2009 1 Contents 1 Introduction

More information

Applying DTGolog to Large-scale Domains

Applying DTGolog to Large-scale Domains Applying DTGolog to Large-scale Domains by Huy N Pham A thesis presented to Ryerson University in partial fulfillment of the requirements for the degree of Masters of Applied Science in the Program of

More information

On the Role of Possibility in Action Execution and Knowledge in the Situation Calculus

On the Role of Possibility in Action Execution and Knowledge in the Situation Calculus On the Role of Possibility in Action Execution and Knowledge in the Situation Calculus Vahid Vaezian (B) and James P. Delgrande School of Computing Science, Simon Fraser University, Burnaby, BC V5A 1S6,

More information

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated

More information

Representing Beliefs in the Fluent Calculus

Representing Beliefs in the Fluent Calculus Representing Beliefs in the Fluent Calculus Yi Jin and Michael Thielscher 1 Abstract. Action formalisms like the uent calculus have been developed to endow logic-based agents with the abilities to reason

More information

Axiomatic Semantics. Lecture 9 CS 565 2/12/08

Axiomatic Semantics. Lecture 9 CS 565 2/12/08 Axiomatic Semantics Lecture 9 CS 565 2/12/08 Axiomatic Semantics Operational semantics describes the meaning of programs in terms of the execution steps taken by an abstract machine Denotational semantics

More information

Situation Calculus. Gerald Steinbauer. Institute for Software Technology. Gerald Steinbauer. Situation Calculus - Introduction

Situation Calculus. Gerald Steinbauer. Institute for Software Technology. Gerald Steinbauer. Situation Calculus - Introduction Situation Calculus Institute for Software Technology 1 Dates Organizational Issues 10.11.2016 8:45-11:00 (HS i12) lecture and first assignment 17.11.2016 8:45-11:00 (HS i12) lecture and programming assignment

More information

Tractable Reasoning with Incomplete First-Order Knowledge in Dynamic Systems with Context-Dependent Actions

Tractable Reasoning with Incomplete First-Order Knowledge in Dynamic Systems with Context-Dependent Actions Tractable Reasoning with Incomplete First-Order Knowledge in Dynamic Systems with Context-Dependent Actions Yongmei Liu and Hector J. Levesque Department of Computer Science University of Toronto Toronto,

More information

Belief Management for High-Level Robot Programs

Belief Management for High-Level Robot Programs Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Belief Management for High-Level Robot Programs Stephan Gspandl, Ingo Pill, Michael Reip, Gerald Steinbauer Institute

More information

Axiomatic Semantics. Semantics of Programming Languages course. Joosep Rõõmusaare

Axiomatic Semantics. Semantics of Programming Languages course. Joosep Rõõmusaare Axiomatic Semantics Semantics of Programming Languages course Joosep Rõõmusaare 2014 Direct Proofs of Program Correctness Partial correctness properties are properties expressing that if a given program

More information

Action, Belief Change and the Frame Problem: A Fluent Calculus Approach

Action, Belief Change and the Frame Problem: A Fluent Calculus Approach Action, Belief Change and the Frame Problem: A Fluent Calculus Approach Richard B. Scherl Computer Science Department Monmouth University West Long Brach, NJ 07764 U.S.A. email: rscherl@monmouth.edu Abstract

More information

Handling Implication and Universal Quantification Constraints in FLUX

Handling Implication and Universal Quantification Constraints in FLUX Handling Implication and Universal Quantification Constraints in FLUX Michael Thielscher Dresden University of Technology, 01062 Dresden, Germany, mit@inf.tu-dresden.de Abstract. FLUX is a CLP-approach

More information

Handling Uncertainty System in the Situation Calculus with Macro-actions. actions

Handling Uncertainty System in the Situation Calculus with Macro-actions. actions Handling Uncertainty System in the Situation Calculus with Macro-actions actions Yilan Gu Department of Computer Science University of Toronto November 28, 2002 Outline Review the situation calculus Introducing

More information

On Defaults in Action Theories

On Defaults in Action Theories On Defaults in Action Theories Hannes Strass and Michael Thielscher Department of Computer Science Dresden University of Technology {hannes.strass,mit}@inf.tu-dresden.de Abstract. We study the integration

More information

On the Decidability of Verifying LTL Properties of GOLOG Programs

On the Decidability of Verifying LTL Properties of GOLOG Programs On the Decidability of Verifying LTL Properties of GOLOG Programs Benjamin Zarrieß Theoretical Computer Science TU Dresden, Germany zarriess@tcs.inf.tu-dresden.de Jens Claßen Knowledge-Based Systems Group

More information

LTCS Report. On the Decidability of Verifying LTL Properties of Golog Programs (Extended Version) LTCS-Report 13-10

LTCS Report. On the Decidability of Verifying LTL Properties of Golog Programs (Extended Version) LTCS-Report 13-10 Technische Universität Dresden Institute for Theoretical Computer Science Chair for Automata Theory LTCS Report On the Decidability of Verifying LTL Properties of Golog Programs (Extended Version) Benjamin

More information

14. Actions. Situation calculus. Fluents. Preconditions and effects

14. Actions. Situation calculus. Fluents. Preconditions and effects Situation calculus 14. Actions The situation calculus is a dialect of FOL for representing dynamically changing worlds in which all changes are the result of named actions. There are two distinguished

More information

Multi-agent actions under uncertainty: situation calculus, discrete time, plans and policies

Multi-agent actions under uncertainty: situation calculus, discrete time, plans and policies Multi-agent actions under uncertainty: situation calculus, discrete time, plans and policies David Poole Department of Computer Science University of British Columbia Vancouver, B.C., Canada V6T 1Z4 poole@cs.ubc.ca

More information

Program verification. 18 October 2017

Program verification. 18 October 2017 Program verification 18 October 2017 Example revisited // assume(n>2); void partition(int a[], int n) { int pivot = a[0]; int lo = 1, hi = n-1; while (lo

More information

Progression of Situation Calculus Action Theories with Incomplete Information

Progression of Situation Calculus Action Theories with Incomplete Information Progression of Situation Calculus Action Theories with Incomplete Information Stavros Vassos and Hector Levesque Department of Computer Science University of Toronto Toronto, ON, CANADA {stavros,hector}@cs.toronto.edu

More information

Towards the Integration of Programming by Demonstration and Programming by Instruction using Golog

Towards the Integration of Programming by Demonstration and Programming by Instruction using Golog Towards the Integration of Programming by Demonstration and Programming by Instruction using Golog Christian Fritz and Yolanda Gil Information Sciences Institute University of Southern California Marina

More information

Program verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program

Program verification. Hoare triples. Assertional semantics (cont) Example: Semantics of assignment. Assertional semantics of a program Program verification Assertional semantics of a program Meaning of a program: relation between its inputs and outputs; specified by input assertions (pre-conditions) and output assertions (post-conditions)

More information

On the Progression of Situation Calculus Basic Action Theories: Resolving a 10-year-old Conjecture

On the Progression of Situation Calculus Basic Action Theories: Resolving a 10-year-old Conjecture On the Progression of Situation Calculus Basic Action Theories: Resolving a 10-year-old Conjecture Stavros Vassos and Hector J Levesque Department of Computer Science University of Toronto Toronto, ON,

More information

Resolving Non-Determinism in Programs for Complex Task Planning with Search Control

Resolving Non-Determinism in Programs for Complex Task Planning with Search Control Resolving Non-Determinism in Programs for Complex Task Planning with Search Control Alfredo Gabaldon National ICT Australia, School of CS and Eng., UNSW Sydney, Australia, alfredo@cse.unsw.edu.au Abstract

More information

A Generative Dialogue System for Arguing about Plans in Situation Calculus

A Generative Dialogue System for Arguing about Plans in Situation Calculus A Generative Dialogue System for Arguing about Plans in Situation Calculus Alexandros Belesiotis 1, Michael Rovatsos 1, and Iyad Rahwan 2,1 1 School of Informatics, The University of Edinburgh, Edinburgh

More information

Programming Languages and Compilers (CS 421)

Programming Languages and Compilers (CS 421) Programming Languages and Compilers (CS 421) Sasa Misailovic 4110 SC, UIUC https://courses.engr.illinois.edu/cs421/fa2017/cs421a Based in part on slides by Mattox Beckman, as updated by Vikram Adve, Gul

More information

AHoare-Style Proof System for Robot Programs

AHoare-Style Proof System for Robot Programs From: AAAI-02 Proceedings Copyright 2002, AAAI (wwwaaaiorg) All rights reserved AHoare-Style Proof System for Robot Programs Yongmei Liu Department of Computer Science University of Toronto Toronto, ON,

More information

Introduction on Situational Calculus

Introduction on Situational Calculus Introduction on Situational Calculus Fangkai Yang Department of Computer Sciences The University of Texas at Austin September 24, 2010 Fangkai Yang (fkyang@cs.utexas.edu) September 24, 2010 1 / 27 Outline

More information

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.

More information

The Assignment Axiom (Hoare)

The Assignment Axiom (Hoare) The Assignment Axiom (Hoare) Syntax: V := E Semantics: value of V in final state is value of E in initial state Example: X:=X+ (adds one to the value of the variable X) The Assignment Axiom {Q[E/V ]} V

More information

Designing and Evaluating Generic Ontologies

Designing and Evaluating Generic Ontologies Designing and Evaluating Generic Ontologies Michael Grüninger Department of Industrial Engineering University of Toronto gruninger@ie.utoronto.ca August 28, 2007 1 Introduction One of the many uses of

More information

Knowledge of Other Agents and Communicative Actions in the Fluent Calculus

Knowledge of Other Agents and Communicative Actions in the Fluent Calculus Knowledge of Other Agents and Communicative Actions in the Fluent Calculus Yves Martin Fakultät Informatik Technische Universität Dresden 01062 Dresden (Germany) ym1@inf.tu-dresden.de Iman Narasamdya Department

More information

Artificial Intelligence. Propositional logic

Artificial Intelligence. Propositional logic Artificial Intelligence Propositional logic Propositional Logic: Syntax Syntax of propositional logic defines allowable sentences Atomic sentences consists of a single proposition symbol Each symbol stands

More information

Spring 2015 Program Analysis and Verification. Lecture 4: Axiomatic Semantics I. Roman Manevich Ben-Gurion University

Spring 2015 Program Analysis and Verification. Lecture 4: Axiomatic Semantics I. Roman Manevich Ben-Gurion University Spring 2015 Program Analysis and Verification Lecture 4: Axiomatic Semantics I Roman Manevich Ben-Gurion University Agenda Basic concepts of correctness Axiomatic semantics (pages 175-183) Hoare Logic

More information

COP4020 Programming Languages. Introduction to Axiomatic Semantics Prof. Robert van Engelen

COP4020 Programming Languages. Introduction to Axiomatic Semantics Prof. Robert van Engelen COP4020 Programming Languages Introduction to Axiomatic Semantics Prof. Robert van Engelen Assertions and Preconditions Assertions are used by programmers to verify run-time execution An assertion is a

More information

Online Agent Supervision in the Situation Calculus

Online Agent Supervision in the Situation Calculus Online Agent Supervision in the Situation Calculus Bita Banihashemi York University Toronto, ON, Canada bita@cse.yorku.ca Giuseppe De Giacomo Sapienza Università di Roma Roma, Italy degiacomo@dis.uniroma1.it

More information

Axiomatic Verification II

Axiomatic Verification II Axiomatic Verification II Software Testing and Verification Lecture Notes 18 Prepared by Stephen M. Thebaut, Ph.D. University of Florida Axiomatic Verification II Reasoning about iteration (while loops)

More information

Hoare Logic: Part II

Hoare Logic: Part II Hoare Logic: Part II COMP2600 Formal Methods for Software Engineering Jinbo Huang Australian National University COMP 2600 Hoare Logic II 1 Factorial {n 0} fact := 1; i := n; while (i >0) do fact := fact

More information

Hoare Logic and Model Checking

Hoare Logic and Model Checking Hoare Logic and Model Checking Kasper Svendsen University of Cambridge CST Part II 2016/17 Acknowledgement: slides heavily based on previous versions by Mike Gordon and Alan Mycroft Introduction In the

More information

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11.

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11. Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 1 Overview We ll develop proof rules, such as: { I b } S { I } { I } while b do S end { I b } That allow us to verify

More information

Spring 2016 Program Analysis and Verification. Lecture 3: Axiomatic Semantics I. Roman Manevich Ben-Gurion University

Spring 2016 Program Analysis and Verification. Lecture 3: Axiomatic Semantics I. Roman Manevich Ben-Gurion University Spring 2016 Program Analysis and Verification Lecture 3: Axiomatic Semantics I Roman Manevich Ben-Gurion University Warm-up exercises 1. Define program state: 2. Define structural semantics configurations:

More information

Logic and Artificial Intelligence Lecture 20

Logic and Artificial Intelligence Lecture 20 Logic and Artificial Intelligence Lecture 20 Eric Pacuit Currently Visiting the Center for Formal Epistemology, CMU Center for Logic and Philosophy of Science Tilburg University ai.stanford.edu/ epacuit

More information

Predicate Logic: Sematics Part 1

Predicate Logic: Sematics Part 1 Predicate Logic: Sematics Part 1 CS402, Spring 2018 Shin Yoo Predicate Calculus Propositional logic is also called sentential logic, i.e. a logical system that deals with whole sentences connected with

More information

Composition of ConGolog Programs

Composition of ConGolog Programs Composition of ConGolog Programs Sebastian Sardina 1 Giuseppe De Giacomo 2 1 Department of Computer Science and Information Technology RMIT University, Melbourne, AUSTRALIA 2 Dipartimento di Informatica

More information

Ontologies and Domain Theories

Ontologies and Domain Theories Ontologies and Domain Theories Michael Grüninger Department of Mechanical and Industrial Engineering University of Toronto gruninger@mie.utoronto.ca Abstract Although there is consensus that a formal ontology

More information

First Order Logic vs Propositional Logic CS477 Formal Software Dev Methods

First Order Logic vs Propositional Logic CS477 Formal Software Dev Methods First Order Logic vs Propositional Logic CS477 Formal Software Dev Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures

More information

Hoare Calculus and Predicate Transformers

Hoare Calculus and Predicate Transformers Hoare Calculus and Predicate Transformers Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.uni-linz.ac.at

More information

Cumulative Effects of Concurrent Actions on Numeric-Valued Fluents

Cumulative Effects of Concurrent Actions on Numeric-Valued Fluents Cumulative Effects of Concurrent Actions on Numeric-Valued Fluents Esra Erdem Institute of Information Systems, Vienna University of Technology, Vienna, Austria esra@kr.tuwien.ac.at Alfredo Gabaldon National

More information

Declarative Strategies for Agents with Incomplete Knowledge

Declarative Strategies for Agents with Incomplete Knowledge Declarative Strategies for Agents with Incomplete Knowledge Gerhard Brewka and Hannes Strass Computer Science Institute University of Leipzig {brewka, strass}@informatik.uni-leipzig.de Michael Thielscher

More information

Decision-Theoretic Planning with Fuzzy Notions in Golog

Decision-Theoretic Planning with Fuzzy Notions in Golog International Journal of Uncertainty, Fuzziness and Knowledge-Based Systems c World Scientific Publishing Company Decision-Theoretic Planning with Fuzzy Notions in Golog Stefan Schiffer Knowledge-Based

More information

Local Conditional High-Level Robot Programs (extended version)

Local Conditional High-Level Robot Programs (extended version) Local Conditional High-Level Robot Programs (extended version) Sebastian Sardiña Department of Computer Science University of Toronto Toronto, Canada M5S 1A4 ssardina@cs.toronto.edu, WWW home page: http://www.cs.toronto.edu

More information

GAME-THEORETIC GOLOG UNDER PARTIAL OBSERVABILITY

GAME-THEORETIC GOLOG UNDER PARTIAL OBSERVABILITY I N F S Y S R E S E A R C H R E P O R T INSTITUT FÜR INFORMATIONSSYSTEME ARBEITSBEREICH WISSENSBASIERTE SYSTEME GAME-THEORETIC GOLOG UNDER PARTIAL OBSERVABILITY ALBERTO FINZI THOMAS LUKASIEWICZ INFSYS

More information

arxiv:cs/ v1 [cs.ai] 19 Aug 2004

arxiv:cs/ v1 [cs.ai] 19 Aug 2004 Under consideration for publication in Theory and Practice of Logic Programming 1 arxiv:cs/0408044v1 [cs.ai] 19 Aug 2004 FLUX: A Logic Programming Method for Reasoning Agents MICHAEL THIELSCHER Dresden

More information

THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester COMP2600/COMP6260 (Formal Methods for Software Engineering)

THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester COMP2600/COMP6260 (Formal Methods for Software Engineering) THE AUSTRALIAN NATIONAL UNIVERSITY Second Semester 2016 COMP2600/COMP6260 (Formal Methods for Software Engineering) Writing Period: 3 hours duration Study Period: 15 minutes duration Permitted Materials:

More information

A Semantics for ADL as Progression in the Situation Calculus

A Semantics for ADL as Progression in the Situation Calculus A Semantics for ADL as Progression in the Situation Calculus Jens Claßen and Gerhard Lakemeyer Department of Computer Science RWTH Aachen 52056 Aachen Germany classen gerhard @cs.rwth-aachen.de Abstract

More information

Axiomatic Semantics. Hoare s Correctness Triplets Dijkstra s Predicate Transformers

Axiomatic Semantics. Hoare s Correctness Triplets Dijkstra s Predicate Transformers Axiomatic Semantics Hoare s Correctness Triplets Dijkstra s Predicate Transformers Goal of a program = IO Relation Problem Specification Properties satisfied by the input and expected of the output (usually

More information

A First-Order Theory of Communication and Multi-Agent Plans: Appendix A

A First-Order Theory of Communication and Multi-Agent Plans: Appendix A A First-Order Theory of Communication and Multi-Agent Plans: Appendix A Ernest Davis Courant Institute New York University davise@cs.nyu.edu Leora Morgenstern IBM Watson Labs leora@us.ibm.com March 14,

More information

REACTIVE PASCAL and the Event Calculus: A platform to program reactive, rational agents. Extended Abstract. Jacinto A.

REACTIVE PASCAL and the Event Calculus: A platform to program reactive, rational agents. Extended Abstract. Jacinto A. REACTIVE PASCAL and the Event Calculus: A platform to program reactive, rational agents Exted Abstract Abstract Jacinto A. Davila Quintero j.davila@doc.ic.ac.uk Logic Programming Section Department of

More information

Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE

Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 CSE 6341 1 Outline Introduction What are axiomatic semantics? First-order logic & assertions about states Results (triples)

More information

Online agent supervision in the situation calculus - Extended version

Online agent supervision in the situation calculus - Extended version Online agent supervision in the situation calculus - Extended version Bita Banihashemi, Giuseppe De Giacomo, and Yves Lespérance Technical Report EECS-2016-02 July 12 2016 Department of Electrical Engineering

More information

Hoare Logic: Reasoning About Imperative Programs

Hoare Logic: Reasoning About Imperative Programs Hoare Logic: Reasoning About Imperative Programs COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2017 Catch Up / Drop in Lab When Fridays, 15.00-17.00 Where N335, CSIT Building

More information

Notation for Logical Operators:

Notation for Logical Operators: Notation for Logical Operators: always true always false... and...... or... if... then...... if-and-only-if... x:x p(x) x:x p(x) for all x of type X, p(x) there exists an x of type X, s.t. p(x) = is equal

More information

Denotational Semantics of Programs. : SimpleExp N.

Denotational Semantics of Programs. : SimpleExp N. Models of Computation, 2010 1 Denotational Semantics of Programs Denotational Semantics of SimpleExp We will define the denotational semantics of simple expressions using a function : SimpleExp N. Denotational

More information

Example: Robot Tasks. What is planning? Background: Situation Calculus. Issues in Planning I

Example: Robot Tasks. What is planning? Background: Situation Calculus. Issues in Planning I What is planning? q A plan is any hierarchical process in the organism that can control the order in which a sequence of operations is to be performed. [Miller, Galanter and Pribram 1960] q Planning can

More information

1 Introduction. 2 First Order Logic. 3 SPL Syntax. 4 Hoare Logic. 5 Exercises

1 Introduction. 2 First Order Logic. 3 SPL Syntax. 4 Hoare Logic. 5 Exercises Contents 1 Introduction INF5140: Lecture 2 Espen H. Lian Institutt for informatikk, Universitetet i Oslo January 28, 2009 2 Proof System 3 SPL 4 GCD 5 Exercises Institutt for informatikk (UiO) INF5140:

More information

G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV

G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV Henrik Nilsson University of Nottingham, UK G54FOP: Lecture 17 & 18 p.1/33 These Two Lectures Revisit attempt to define denotational

More information

Part of this work we present an extension for Language PP and we show how this

Part of this work we present an extension for Language PP and we show how this Chapter 5 Planning problems Currently, we can find different definitions for Planning. For instance, McCarthy defines planning in [25] as the restricted problem of finding a finite sequence of actions

More information

Foundations of Computation

Foundations of Computation The Australian National University Semester 2, 2018 Research School of Computer Science Tutorial 6 Dirk Pattinson Foundations of Computation The tutorial contains a number of exercises designed for the

More information

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach Process Scheduling for RTS Dr. Hugh Melvin, Dept. of IT, NUI,G RTS Scheduling Approach RTS typically control multiple parameters concurrently Eg. Flight Control System Speed, altitude, inclination etc..

More information

Planning under Uncertainty as GOLOG Programs

Planning under Uncertainty as GOLOG Programs Planning under Uncertainty as GOLOG Programs Jorge A Baier and Javier A Pinto Departamento de Ciencia de la Computación Pontificia Universidad Católica de Chile Casilla 306 - Santiago 22 - Chile Phone:

More information

Adaptive Multi-Agent Programming in GTGolog

Adaptive Multi-Agent Programming in GTGolog Adaptive Multi-Agent Programming in GTGolog Alberto Finzi 1, 2 and Thomas Lukasiewicz 2, 1 1 Institut für Informationssysteme, Technische Universität Wien Favoritenstraße 9-11, A-1040 Vienna, Austria 2

More information

if t 1,...,t k Terms and P k is a k-ary predicate, then P k (t 1,...,t k ) Formulas (atomic formulas)

if t 1,...,t k Terms and P k is a k-ary predicate, then P k (t 1,...,t k ) Formulas (atomic formulas) FOL Query Evaluation Giuseppe De Giacomo Università di Roma La Sapienza Corso di Seminari di Ingegneria del Software: Data and Service Integration Laurea Specialistica in Ingegneria Informatica Università

More information

A Framework for Decision-Theoretic Planning 1: Combining the Situation Calculus, Conditional Plans, Probability and Utility*

A Framework for Decision-Theoretic Planning 1: Combining the Situation Calculus, Conditional Plans, Probability and Utility* 436 Poole A Framework for Decision-Theoretic Planning 1: Combining the Situation Calculus, Conditional Plans, Probability and Utility* David Poole Department of Computer Science University of British Columbia

More information

PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2

PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2 PREDICATE LOGIC: UNDECIDABILITY AND INCOMPLETENESS HUTH AND RYAN 2.5, SUPPLEMENTARY NOTES 2 Neil D. Jones DIKU 2005 14 September, 2005 Some slides today new, some based on logic 2004 (Nils Andersen) OUTLINE,

More information

Towards an Integration of Golog and Planning

Towards an Integration of Golog and Planning Towards an Integration of Golog and Planning Jens Claßen + and Patrick Eyerich and Gerhard Lakemeyer + and Bernhard Nebel + Department of Computer Science, RWTH Aachen, 52056 Aachen, Germany classen gerhard

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

Deductive Verification

Deductive Verification Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant

More information

Lecture Notes: Axiomatic Semantics and Hoare-style Verification

Lecture Notes: Axiomatic Semantics and Hoare-style Verification Lecture Notes: Axiomatic Semantics and Hoare-style Verification 17-355/17-665/17-819O: Program Analysis (Spring 2018) Claire Le Goues and Jonathan Aldrich clegoues@cs.cmu.edu, aldrich@cs.cmu.edu It has

More information

The Algorithm (DSC): Mark all nodes as unscheduled WHILE there are unscheduled nodes DO In descending order of priority, sort list of free nodes In descending order of priority, sort list of partial free

More information

Reasoning Under Uncertainty: Introduction to Probability

Reasoning Under Uncertainty: Introduction to Probability Reasoning Under Uncertainty: Introduction to Probability CPSC 322 Lecture 23 March 12, 2007 Textbook 9 Reasoning Under Uncertainty: Introduction to Probability CPSC 322 Lecture 23, Slide 1 Lecture Overview

More information