Situation Calculus and Golog

Size: px
Start display at page:

Download "Situation Calculus and Golog"

Transcription

1 Situation Calculus and Golog Institute for Software Technology 1

2 Recap Situation Calculus Situation Calculus allows for reasoning about change and actions a dialect of the second-order logic uses the concept of situations allows for proving properties solves the frame problem Basic Action Theory implements the situation calculus Foundation Axioms & Action Precondition & Successor Sate Axioms & Unique Name Assumption 2

3 Golog 3

4 Golog Situation Calculus is yet only a theoretical construct Golog (algol for Logic) is based on the Situation Calculus it is a program language for dynamic systems it allows a balance between reasoning/planning and imperative programming (i.e., planning is expensive) it allows complex actions there exist Prolog interpreters for Golog 4

5 Golog a Golog program is based SC it uses the macro Do(,s,s ) Do(,s,s ) will be macro-expand to a SC formula the formula Do states that s is reachable from s by executing the program the syntax supports primitive and complex actions 5

6 Primitive Action: a Golog Syntax (1) has a precondition Poss and the effects are modeled in the successor state axioms walk(r,l) Test action: φ? tests if φ holds in a situation, does not change the situation ( ( x,y).nextto(x,y))? Sequence: 1 ; 2 executes 1 and 2 one after each other walk(r,l);pickup(r,k) 6

7 Golog Syntax (2) Non-deterministic Choice of Actions: 1 2 (randomly) action 1 or 2 will be executed walk(r,a) walk(r,b) Non-deterministic Choice of Arguments: (π x) (x) (randomly) choose an argument x for the action (π x)pickup(r,x) Non-deterministic Iteration: * executes for a not defined number of times (n 0) (pickup(r,l);drop(r,l))* 7

8 Golog Syntax (3) Conditionals: if then 1 else 2 endif based on the truth value of either 1 or 2 is executed if low_battery(r) then recharge(r) else walk(r,party) endif Loops: while do endwhile as long as is true repeat action while low_battery(r) do pickup(r,l);drop(r,l) endwhile Procedures: proc P(x) endproc defines the procedure P with the parameters x proc d(n) (n=0)? d(n-1) endproc 8

9 On the Semantics of Golog Golog programs are macro-expanded to Situation Calculus formulas using the macro Do(,s,s ) what is the meaning of Golog and a program D ( s).do(,s 0,s) the Basic Action Theory entails if a given program lead to the situation s starting from S 0 drawback: the macros are less expressive a program trace can be obtained by a constructive proof of the above sentence some properties are provable: e.g., termination 9

10 Semantics of Golog Parts (1) Primitive Action: a Do(a,s,s )=Poss(a[s],s) s =do(a[s],s) a[s] denotes restoring of all situation arguments in the functional fluents mentioned in a a=goto(location(sam)), a[s]=goto(location(sam,s)) Test action: φ? Do(?,s,s )= [s] s=s [s] denotes restoring of all situation arguments in the fluents mentioned in =( x).ontable(x), [s]=( x).ontable(x,s) Sequence: 1 ; 2 Do( 1 ; 2,s,s )=( s ). Do( 1,s,s ) Do( 2,s,s ) 10

11 Semantics of Golog Parts (2) Non-deterministic Choice of Actions: 1 2 Do(( 1 2 ),s,s )=Do( 1,s,s ) Do( 2,s,s ) Non-deterministic Choice of Arguments: (π x) (x) Do((π x) (x),s,s )=( x)do( (x),s,s )) Non-deterministic Iteration: * Do( *,s,s )=( P).{ s 1.P(s 1,s 1 ) s 1,s 2,s 3.[P(s 1,s 2 ) Do(,s 2,s 3 ) P(s 1,s 3 )]} P(s,s ) 11

12 Semantics of Golog Parts (3) Conditionals: if then 1 else 2 endif expressed by the previous constructs Do(if then 1 else 2 endif)=do([?; 1?; 2 ],s,s ) Loops: while do endwhile expressed by the previous constructs Do(while do endwhile,s,s )=Do(((?; )*;?),s,s ) 12

13 Semantics of Golog Parts (4) A Program: proc P 1 (x 1 ) 1 endproc; ;proc P n (x n ) n endproc; 0 a sequence of procedure declarations plus a main program 0 we define Do(P(t 1,,t n ),s,s )=P(t 1 [s],,t n [s],s,s ) defines a procedure call t i [s] denotes the evaluation of t i in situation s before passing to P represents a call by value Do({ proc ( P,, P 1 P ( v ) endproc; ; proc 1 n 1 ). i n 1 1 ( s 1, s Do(, s, s ) 0 2, v ). Do(, s i i P ( v 1 n, s 2 n ) endproc; }, s, s ) ) n P( v, s i i 1, s 2 0 ) 13

14 A Simple Example =(π x){a(x);?;[b(x) C(x);?]} Do(,S 0,s)? ( x).{( s 1 ).Poss(A(x),S 0 ) s1=do(a(x),s 0 ) ( s 2 ). [s 1 ] s 1 =s 2 [Poss(B(x),s 2 ) s=do(b(x),s 2 ) ( s 3 ).Poss(C(x),s 2 ) s 3 =do(c(x),s 2 ) [s 3 ] s 3 =s]} ( x).{poss(a(x),s 0 ) [do(a(x),s 0 )] [Poss(B(x), do(a(x),s 0 )) s=do(b(x),do(a(x),s 0 )) Poss(C(x), do(a(x),s 0 )) [do(c(x),do(a(x),s 0 ))] s = do(c(x),do(a(x),s 0 ))]} two possible traces: do(b(x),do(a(x),s 0 )), do(c(x),do(a(x),s 0 )) assuming and holds in the related situations 14

15 Situation Calculus vs. Golog Programs Situation Calculus and Golog Programs are related macro expansion uses the basic action theory (e.g., preconditions and successor state axioms) Golog is not a classical program language there are no side effects or states program traces come from theorem proving Axioms ( s).do(,s 0,s) allows for proving of properties of the program 15

16 Executing a Golog Program Golog Program Macro Expansion Logic Sentence in s and S 0 Theorem Prover Basic Action Theory Situation s Constructive Proof 16

17 Planning versus Programming proc toh() while solved do ( o) ( d) move(o,d) endwhile endproc do(toh(),s0) proc toh(n,o,d,h) toh(n-1,o,h,d) move(o,d) toh(n-1,h,d,o) endproc do(toh(3,a,b,c),s0) a b c

18 The famous Elevator Example Elevator several floors each floor has a door each floor has a call button Possible Actions up(n) down(n) trunoff(n) open close Task serve all requests 18

19 Fluents Elevator Part 1 currentfloor(n,s), elevator is on floor n on(n,s), call button is on at floor n Primitive Action Preconditions Poss(up(n),s) m.currentfloor(m,s) m<n Poss(down(n),s) m.currentfloor(m,s) m>n Poss(open,s) true Poss(close,s) true Poss(turnoff(n),s) on(n,s) 19

20 Successor State Axioms Elevator Part 2 currentfloor(m,do(a,s)) a=up(m) a=down(m) currentfloor(m,s) ( n).[(a=up(n) a=down(n)) m n] on(m,do(a,s)) on(m,s) a turnoff(m) Initial Situation currentfloor(4,s 0 ), on(3,s 0 ), on(5,s 0 ) 20

21 Golog Procedures Elevator Part 3 proc serve(n) gofloor(n); turnoff(n);open;close endproc proc gofloor(n) (currentfloor(n))? up(n) down(n) endproc proc serveafloor (π n)[serve(n)] endproc proc control [while ( n)on(n) do serveafloor endwhile]; park endproc proc park if currentfloor(0) then open else down(0);open endproc 21

22 Running the Program Elevator Part 4 prove the following entailment : Axioms ( s).do(,s 0,s) s=do(open,do(down(0),do(close,do(open,do(turnoff(5), do(up(5),do(close,do(open,do(turnoff(3),do(down(3,s 0 )))))))))) action sequence: down(3),turnoff(3),open,close,up(5), turnoff(5),open,close,down(0),open there are multiple solutions 22

23 Golog - Summary Golog is logic program language Golog is based on Situation Calculus axioms its interpreter is a general purpose theorem prover Golog programs are executed for their side effects Golog programs are executed off-line 23

24 Implementation of Golog 24

25 Prolog as Implementation of Logic Prolog is a logic program language Prolog allows for declarative programming (i.e., concentrates on the problem formulation) Prolog can be used to implement a logical theory if some properties hold there is mapping between Prolog and the logical theory behind use a definitional theory use a proper Prolog interpreter Theorem of Clark 25

26 Prolog Interpreter Prolog represents a clause as A:-L 1,,L m. Prolog represents a goal as L 1,,L k. a proper Prolog interpreter has the following properties it interprets the negation not A as negation as failure it does so only if A is a ground literal if A is not ground the interpreter suspend the evaluation until A become ground or it may abort the computation the Clark s Theorem guarantees the right return value of a Prolog program 26

27 A Golog Interpreter we will show a simple reference implementation (Raymond Reiter) it is based on Prolog for theorem proving the Situation Calculus is based on second-order logic Prolog does not support the whole power of secondorder logic the interpreter use some assumptions there are no functional fluents the initial database is closed special assumptions for of action preconditions and relational fluents 27

28 an initial database D S 0 Closed Initial Database is closed iff for every relation fluent F there is only on sentence in the form F(x 1,,x n,s 0 ) F (x 1,,x n,s 0 ) for every non-fluent predicate P there is only on sentence in the form P(x 1,,x n ) P (x 1,,x n ) where P is situation independent for two distinct function symbols: f(x) g(y) for a function symbol: f(x 1,,x n )= f(y 1,,y n ) x 1 = y 1 x n = y n for every term t[x] that mentions the variable x t[x] x (objects) for every term [a] that mentions the variable a [a] a (actions) a restriction on the expressiveness, not allowed: F(A,S 0 ) F(B,S 0 ) ( x) F(x,S 0 ) murderer(caesar)=brutus 28

29 Implementation Theorem Let D be a basic action theory and P a Prolog program obtained by Lloyd-Topor rules for each non-fluent predicate of D S of form 0 P(x 1,,x n ) P (x 1,,x n ) : P (x 1,,x n ) P(x 1,,x n ) for each relational fluent predicate of D S of form 0 F(x 1,,x n,s 0 ) F (x 1,,x n,s 0 ) : F (x 1,,x n,s 0 ) F(x 1,,x n,s 0 ) for each action precondition axiom of D ap of form Poss(A(x 1,,x n ),s) A (x 1,,x n,s) : A (x 1,,x n,s) Poss(A(x 1,,x n ),s) for each successor state axiom of D ssa of form F(x 1,,x n,do(a,s)) F (x 1,,x n,a,s) : F (x 1,,x n,a,s) F(x 1,,x n,do(a,s)) then P provides a correct Prolog implementation of D 29

30 Directives and Definitions :- dynamic proc/2, restoresitarg/3. /* Compiler directives. Be sure some SWI Prolog related directives :- op(800, xfy, [&]). % Conjunction :- op(850, xfy, [v]). % Disjunction :- op(870, xfy, [=>]). % Implication :- op(880, xfy, [<=>]). % Equivalence :- op(950, xfy, [:]). % Action sequence :- op(960, xfy, [#]). % Nondeterministic action choice definition of operators 30

31 Definition of the do Function do(e1 : E2,S,S1) :- do(e1,s,s2), do(e2,s2,s1). do(?(p),s,s) :- holds(p,s). do(e1 # E2,S,S1) :- do(e1,s,s1) ; do(e2,s,s1). do(if(p,e1,e2),s,s1) :- do((?(p) : E1) # (?(-P) : E2),S,S1). do(star(e),s,s1) :- S1 = S ; do(e : star(e),s,s1). do(while(p,e),s,s1):- do(star(?(p) : E) :?(-P),S,S1). do(pi(v,e),s,s1) :- sub(v,_,e,e1), do(e1,s,s1). do(e,s,s1) :- proc(e,e1), do(e1,s,s1). do(e,s,do(e,s)) :- primitive_action(e), poss(e,s). a program e is a list of expressions a query of the form do(e,s 0,S) will be answered by binding the final situation S 31

32 Definition of Substitution sub(x1,x2,t1,t2) :- var(t1), T2 = T1. sub(x1,x2,t1,t2) :- \+ var(t1), T1 = X1, T2 = X2. sub(x1,x2,t1,t2) :- \+ T1 = X1, T1 =..[F L1], sub_list(x1,x2,l1,l2), T2 =..[F L2]. sub_list(x1,x2,[],[]). sub_list(x1,x2,[t1 L1],[T2 L2]) :- sub(x1,x2,t1,t2), sub_list(x1,x2,l1,l2). sub(name,new,term1,term2) Term2 is Term1 with name replaced by new 32

33 Test Conditions (Lloyd-Topor Transformation) holds(p & Q,S) :- holds(p,s), holds(q,s). holds(p v Q,S) :- holds(p,s); holds(q,s). holds(p => Q,S) :- holds(-p v Q,S). holds(p <=> Q,S) :- holds((p => Q) & (Q => P),S). holds(-(-p),s) :- holds(p,s). holds(-(p & Q),S) :- holds(-p v -Q,S). holds(-(p v Q),S) :- holds(-p & -Q,S). holds(-(p => Q),S) :- holds(-(-p v Q),S). holds(-(p <=> Q),S) :- holds(-((p => Q) & (Q => P)),S). holds(-all(v,p),s) :- holds(some(v,-p),s). holds(-some(v,p),s) :- \+ holds(some(v,p),s). holds(-p,s) :- isatom(p), \+ holds(p,s). holds(all(v,p),s) :- holds(-some(v,-p),s). holds(some(v,p),s) :- sub(v,_,p,p1), holds(p1,s). 33

34 Treatment of the hold Predicate holds(a,s) :- restoresitarg(a,s,f), F ; \+ restoresitarg(a,s,f), isatom(a), A. isatom(a) :- \+ (A = -W ; A = (W1 & W2) ; A = (W1 => W2) ; A = (W1 <=> W2) ; A = (W1 v W2) ; A = some(x,w) ; A = all(x,w)). restoresitarg(poss(a),s,poss(a,s)). restoresitarg have to be defined for all atoms taking a situation argument (i.e., action preconditions and fluents) 34

35 The famous Elevator Example Again A Demo in SWI Prolog 35

36 Golog Summary Golog is a program language for dynamic systems Golog used the principles of the Situation Calculus execution of a Golog program is related to theorem proving there exists a reference Golog interpreter for Prolog if some assumptions hold the interpreter correctly executes the program 36

37 Questions? 37

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

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

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

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

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

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

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

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

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

1 FUNDAMENTALS OF LOGIC NO.10 HERBRAND THEOREM Tatsuya Hagino hagino@sfc.keio.ac.jp lecture URL https://vu5.sfc.keio.ac.jp/slide/ 2 So Far Propositional Logic Logical connectives (,,, ) Truth table Tautology

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

Advanced Topics in LP and FP

Advanced Topics in LP and FP Lecture 1: Prolog and Summary of this lecture 1 Introduction to Prolog 2 3 Truth value evaluation 4 Prolog Logic programming language Introduction to Prolog Introduced in the 1970s Program = collection

More information

From Causal Theories to Successor State Axioms and STRIPS-Like Systems

From Causal Theories to Successor State Axioms and STRIPS-Like Systems From: AAAI-00 Proceedings. Copyright 2000, AAAI (www.aaai.org). All rights reserved. From Causal Theories to Successor State Axioms and STRIPS-Like Systems Fangzhen Lin (flin@cs.ust.hk) Department of Computer

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

Projection using Regression and Sensors

Projection using Regression and Sensors Projection using Regression and Sensors Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Via Salaria 11, 00198 Roma, Italy degiacomo@dis.uniroma1.it Hector

More information

Extensions: Concurrency, Interrupts, Sensing

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

More information

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system): Logic Knowledge-based agents Inference engine Knowledge base Domain-independent algorithms Domain-specific content Knowledge base (KB) = set of sentences in a formal language Declarative approach to building

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

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

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

Propositional Logic Language

Propositional Logic Language Propositional Logic Language A logic consists of: an alphabet A, a language L, i.e., a set of formulas, and a binary relation = between a set of formulas and a formula. An alphabet A consists of a finite

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

Knowledge representation DATA INFORMATION KNOWLEDGE WISDOM. Figure Relation ship between data, information knowledge and wisdom.

Knowledge representation DATA INFORMATION KNOWLEDGE WISDOM. Figure Relation ship between data, information knowledge and wisdom. Knowledge representation Introduction Knowledge is the progression that starts with data which s limited utility. Data when processed become information, information when interpreted or evaluated becomes

More information

Predicate Calculus - Syntax

Predicate Calculus - Syntax Predicate Calculus - Syntax Lila Kari University of Waterloo Predicate Calculus - Syntax CS245, Logic and Computation 1 / 26 The language L pred of Predicate Calculus - Syntax L pred, the formal language

More information

Decidable Reasoning in a Modified Situation Calculus

Decidable Reasoning in a Modified Situation Calculus Decidable Reasoning in a Modified Situation Calculus Yilan Gu Dept. of Computer Science University of Toronto 10 King s College Road Toronto, ON, M5S 3G4, Canada Email: yilan@cs.toronto.edu Abstract We

More information

Introduction to Intelligent Systems

Introduction to Intelligent Systems Logical Agents Objectives Inference and entailment Sound and complete inference algorithms Inference by model checking Inference by proof Resolution Forward and backward chaining Reference Russel/Norvig:

More information

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning. 3: Logic Why logic? Logic about inference or argument Start from assumptions or axioms Make deductions according to rules of reasoning Logic 3-1 Why logic? (continued) If I don t buy a lottery ticket on

More information

On First-Order Definability and Computability of Progression for Local-Effect Actions and Beyond

On First-Order Definability and Computability of Progression for Local-Effect Actions and Beyond On First-Order Definability and Computability of Progression for Local-Effect Actions and Beyond Yongmei Liu Dept. of Computer Science Sun Yat-sen University Guangzhou 510275, China ymliu@mail.sysu.edu.cn

More information

Intelligent Agents. First Order Logic. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 19.

Intelligent Agents. First Order Logic. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University. last change: 19. Intelligent Agents First Order Logic Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University last change: 19. Mai 2015 U. Schmid (CogSys) Intelligent Agents last change: 19. Mai 2015

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

Description Logics. Foundations of Propositional Logic. franconi. Enrico Franconi

Description Logics. Foundations of Propositional Logic.   franconi. Enrico Franconi (1/27) Description Logics Foundations of Propositional Logic Enrico Franconi franconi@cs.man.ac.uk http://www.cs.man.ac.uk/ franconi Department of Computer Science, University of Manchester (2/27) Knowledge

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

Propositional logic. First order logic. Alexander Clark. Autumn 2014

Propositional logic. First order logic. Alexander Clark. Autumn 2014 Propositional logic First order logic Alexander Clark Autumn 2014 Formal Logic Logical arguments are valid because of their form. Formal languages are devised to express exactly that relevant form and

More information

02 Propositional Logic

02 Propositional Logic SE 2F03 Fall 2005 02 Propositional Logic Instructor: W. M. Farmer Revised: 25 September 2005 1 What is Propositional Logic? Propositional logic is the study of the truth or falsehood of propositions or

More information

Reasoning by Regression: Pre- and Postdiction Procedures for Logics of Action and Change with Nondeterminism*

Reasoning by Regression: Pre- and Postdiction Procedures for Logics of Action and Change with Nondeterminism* Reasoning by Regression: Pre- and Postdiction Procedures for Logics of Action and Change with Nondeterminism* Marcus Bjareland and Lars Karlsson Department of Computer and Information Science Linkopings

More information

Logic: Propositional Logic (Part I)

Logic: Propositional Logic (Part I) Logic: Propositional Logic (Part I) Alessandro Artale Free University of Bozen-Bolzano Faculty of Computer Science http://www.inf.unibz.it/ artale Descrete Mathematics and Logic BSc course Thanks to Prof.

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

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30) Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural

More information

Chapter 16. Logic Programming. Topics. Logic Programming. Logic Programming Paradigm

Chapter 16. Logic Programming. Topics. Logic Programming. Logic Programming Paradigm Topics Chapter 16 Logic Programming Introduction Predicate Propositions Clausal Form Horn 2 Logic Programming Paradigm AKA Declarative Paradigm The programmer Declares the goal of the computation (specification

More information

Inference in Propositional Logic

Inference in Propositional Logic Inference in Propositional Logic Deepak Kumar November 2017 Propositional Logic A language for symbolic reasoning Proposition a statement that is either True or False. E.g. Bryn Mawr College is located

More information

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic

More information

Compiling Causal Theories to Successor State Axioms and STRIPS-Like Systems

Compiling Causal Theories to Successor State Axioms and STRIPS-Like Systems Journal of Artificial Intelligence Research 19 (2003) 279-314 Submitted 09/02; published 10/03 Compiling Causal Theories to Successor State Axioms and STRIPS-Like Systems Fangzhen Lin Department of Computer

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

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

Propositional Logic: Models and Proofs

Propositional Logic: Models and Proofs Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505

More information

INF5390 Kunstig intelligens. Logical Agents. Roar Fjellheim

INF5390 Kunstig intelligens. Logical Agents. Roar Fjellheim INF5390 Kunstig intelligens Logical Agents Roar Fjellheim Outline Knowledge-based agents The Wumpus world Knowledge representation Logical reasoning Propositional logic Wumpus agent Summary AIMA Chapter

More information

Introduction to Intelligent Systems

Introduction to Intelligent Systems Logical Agents Objectives Inference and entailment Sound and complete inference algorithms Inference by model checking Inference by proof Resolution Forward and backward chaining Reference Russel/Norvig:

More information

Applications of the Situation Calculus To Formalizing. Control and Strategic Information: The Prolog Cut Operator. Fangzhen Lin

Applications of the Situation Calculus To Formalizing. Control and Strategic Information: The Prolog Cut Operator. Fangzhen Lin Applications of the Situation Calculus To Formalizing Control and Strategic Information: The Prolog Cut Operator Fangzhen Lin (in@csusthk) Department of Computer Science The Hong Kong University of Science

More information

A Closed-Form Solution to the Ramification Problem (Sometimes)

A Closed-Form Solution to the Ramification Problem (Sometimes) A losed-form Solution to the Ramification Problem (Sometimes) Sheila A McIlraith Department of omputer Science University of Toronto Toronto M5S 3G4 anada E-mail: mcilrait@csutorontoca October 19 1997

More information

The non-logical symbols determine a specific F OL language and consists of the following sets. Σ = {Σ n } n<ω

The non-logical symbols determine a specific F OL language and consists of the following sets. Σ = {Σ n } n<ω 1 Preliminaries In this chapter we first give a summary of the basic notations, terminology and results which will be used in this thesis. The treatment here is reduced to a list of definitions. For the

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

Expressing Transactions with Savepoints as Non-Markovian Theories of Actions

Expressing Transactions with Savepoints as Non-Markovian Theories of Actions Expressing Transactions with Savepoints as Non-Markovian Theories of Actions Iluju Kiringa School of Info. Technology and Eng. University of Ottawa Alfredo Gabaldon Department of Computer Science University

More information

Deliberative Agents Knowledge Representation I. Deliberative Agents

Deliberative Agents Knowledge Representation I. Deliberative Agents Deliberative Agents Knowledge Representation I Vasant Honavar Bioinformatics and Computational Biology Program Center for Computational Intelligence, Learning, & Discovery honavar@cs.iastate.edu www.cs.iastate.edu/~honavar/

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

COMP9414: Artificial Intelligence Propositional Logic: Automated Reasoning

COMP9414: Artificial Intelligence Propositional Logic: Automated Reasoning COMP9414, Monday 26 March, 2012 Propositional Logic 2 COMP9414: Artificial Intelligence Propositional Logic: Automated Reasoning Overview Proof systems (including soundness and completeness) Normal Forms

More information

Part 1: Propositional Logic

Part 1: Propositional Logic Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax

More information

Logical Inference. Artificial Intelligence. Topic 12. Reading: Russell and Norvig, Chapter 7, Section 5

Logical Inference. Artificial Intelligence. Topic 12. Reading: Russell and Norvig, Chapter 7, Section 5 rtificial Intelligence Topic 12 Logical Inference Reading: Russell and Norvig, Chapter 7, Section 5 c Cara MacNish. Includes material c S. Russell & P. Norvig 1995,2003 with permission. CITS4211 Logical

More information

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel

7. Propositional Logic. Wolfram Burgard and Bernhard Nebel Foundations of AI 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard and Bernhard Nebel Contents Agents that think rationally The wumpus world Propositional logic: syntax and semantics

More information

Brief Introduction to Prolog

Brief Introduction to Prolog Brief to Prolog Joana Côrte-Real jcr@dcc.fc.up.pt CRACS & INESC TEC Faculty of Sciences University of Porto University of Aizu 5th December 2014 1 / 27 Overview 1 to Prolog Prolog Syntax Tutorial 1 2 Lists

More information

Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Today s class will be an introduction

More information

Propositional Logic: Review

Propositional Logic: Review Propositional Logic: Review Propositional logic Logical constants: true, false Propositional symbols: P, Q, S,... (atomic sentences) Wrapping parentheses: ( ) Sentences are combined by connectives:...and...or

More information

Reasoning About Imperative Programs. COS 441 Slides 10b

Reasoning About Imperative Programs. COS 441 Slides 10b Reasoning About Imperative Programs COS 441 Slides 10b Last time Hoare Logic: { P } C { Q } Agenda If P is true in the initial state s. And C in state s evaluates to s. Then Q must be true in s. Program

More information

AI Programming CS S-09 Knowledge Representation

AI Programming CS S-09 Knowledge Representation AI Programming CS662-2013S-09 Knowledge Representation David Galles Department of Computer Science University of San Francisco 09-0: Overview So far, we ve talked about search, which is a means of considering

More information

Description Logics. Deduction in Propositional Logic. franconi. Enrico Franconi

Description Logics. Deduction in Propositional Logic.   franconi. Enrico Franconi (1/20) Description Logics Deduction in Propositional Logic Enrico Franconi franconi@cs.man.ac.uk http://www.cs.man.ac.uk/ franconi Department of Computer Science, University of Manchester (2/20) Decision

More information

Last Time. Inference Rules

Last Time. Inference Rules Last Time When program S executes it switches to a different state We need to express assertions on the states of the program S before and after its execution We can do it using a Hoare triple written

More information

Embracing Causality in Specifying the Indirect Effects of Actions*

Embracing Causality in Specifying the Indirect Effects of Actions* Embracing Causality in Specifying the Indirect Effects of Actions* Fangzhen Lin Department of Computer Science University of Toronto Toronto, Canada M5S 1A4 Email: fl@cs.toronto.edu Abstract represented

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

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Set 6: Knowledge Representation: The Propositional Calculus Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Outline Representing knowledge using logic Agent that reason logically A knowledge based agent Representing

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

Lloyd-Topor Completion and General Stable Models

Lloyd-Topor Completion and General Stable Models Lloyd-Topor Completion and General Stable Models Vladimir Lifschitz and Fangkai Yang Department of Computer Science The University of Texas at Austin {vl,fkyang}@cs.utexas.edu Abstract. We investigate

More information

Default Reasoning in Action Domains with Conditional, Non-Local Effect Actions

Default Reasoning in Action Domains with Conditional, Non-Local Effect Actions Default Reasoning in Action Domains with Conditional, Non-Local Effect Actions Hannes Strass Department of Computer Science, Dresden University of Technology hannes.strass@inf.tu-dresden.de Michael Thielscher

More information

Overview. I Review of natural deduction. I Soundness and completeness. I Semantics of propositional formulas. I Soundness proof. I Completeness proof.

Overview. I Review of natural deduction. I Soundness and completeness. I Semantics of propositional formulas. I Soundness proof. I Completeness proof. Overview I Review of natural deduction. I Soundness and completeness. I Semantics of propositional formulas. I Soundness proof. I Completeness proof. Propositional formulas Grammar: ::= p j (:) j ( ^ )

More information

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna

The Calculus of Computation: Decision Procedures with Applications to Verification. Part I: FOUNDATIONS. by Aaron Bradley Zohar Manna The Calculus of Computation: Decision Procedures with Applications to Verification Part I: FOUNDATIONS by Aaron Bradley Zohar Manna 1. Propositional Logic(PL) Springer 2007 1-1 1-2 Propositional Logic(PL)

More information

Foundations of Logic Programming

Foundations of Logic Programming Foundations of Logic Programming Deductive Logic e.g. of use: Gypsy specifications and proofs About deductive logic (Gödel, 1931) Interesting systems (with a finite number of axioms) are necessarily either:

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

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 17, 2016

More information

Logic. Introduction to Artificial Intelligence CS/ECE 348 Lecture 11 September 27, 2001

Logic. Introduction to Artificial Intelligence CS/ECE 348 Lecture 11 September 27, 2001 Logic Introduction to Artificial Intelligence CS/ECE 348 Lecture 11 September 27, 2001 Last Lecture Games Cont. α-β pruning Outline Games with chance, e.g. Backgammon Logical Agents and thewumpus World

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

Learning Goals of CS245 Logic and Computation

Learning Goals of CS245 Logic and Computation Learning Goals of CS245 Logic and Computation Alice Gao April 27, 2018 Contents 1 Propositional Logic 2 2 Predicate Logic 4 3 Program Verification 6 4 Undecidability 7 1 1 Propositional Logic Introduction

More information

Price: $25 (incl. T-Shirt, morning tea and lunch) Visit:

Price: $25 (incl. T-Shirt, morning tea and lunch) Visit: Three days of interesting talks & workshops from industry experts across Australia Explore new computing topics Network with students & employers in Brisbane Price: $25 (incl. T-Shirt, morning tea and

More information

3 Propositional Logic

3 Propositional Logic 3 Propositional Logic 3.1 Syntax 3.2 Semantics 3.3 Equivalence and Normal Forms 3.4 Proof Procedures 3.5 Properties Propositional Logic (25th October 2007) 1 3.1 Syntax Definition 3.0 An alphabet Σ consists

More information

COMP219: Artificial Intelligence. Lecture 19: Logic for KR

COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR 1 Overview Last time Expert Systems and Ontologies Today Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof

More information

CS 4700: Foundations of Artificial Intelligence

CS 4700: Foundations of Artificial Intelligence CS 4700: Foundations of Artificial Intelligence Bart Selman selman@cs.cornell.edu Module: Knowledge, Reasoning, and Planning Part 2 Logical Agents R&N: Chapter 7 1 Illustrative example: Wumpus World (Somewhat

More information

Artificial Intelligence Chapter 7: Logical Agents

Artificial Intelligence Chapter 7: Logical Agents Artificial Intelligence Chapter 7: Logical Agents Michael Scherger Department of Computer Science Kent State University February 20, 2006 AI: Chapter 7: Logical Agents 1 Contents Knowledge Based Agents

More information

Web Science & Technologies University of Koblenz Landau, Germany. Models in First Order Logics

Web Science & Technologies University of Koblenz Landau, Germany. Models in First Order Logics Web Science & Technologies University of Koblenz Landau, Germany Models in First Order Logics Overview First-order logic. Syntax and semantics. Herbrand interpretations; Clauses and goals; Datalog. 2 of

More information

Transition Logic. Prof. W. Bibel TU Darmstadt UBC Canada

Transition Logic. Prof. W. Bibel TU Darmstadt UBC Canada 1 Transition Logic Prof. W. Bibel TU Darmstadt UBC Canada Idea of Logic Knowledge state: KB K 0 cog K i cog formally describable by studied for 2000+ years relationship of cog and studied scientifically

More information

COMP219: Artificial Intelligence. Lecture 19: Logic for KR

COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR 1 Overview Last time Expert Systems and Ontologies Today Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof

More information

Conjunction: p q is true if both p, q are true, and false if at least one of p, q is false. The truth table for conjunction is as follows.

Conjunction: p q is true if both p, q are true, and false if at least one of p, q is false. The truth table for conjunction is as follows. Chapter 1 Logic 1.1 Introduction and Definitions Definitions. A sentence (statement, proposition) is an utterance (that is, a string of characters) which is either true (T) or false (F). A predicate is

More information

Chapter 7 Propositional Satisfiability Techniques

Chapter 7 Propositional Satisfiability Techniques Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau CMSC 722, AI Planning University of Maryland, Spring 2008 1 Motivation Propositional

More information

Computational Logic Automated Deduction Fundamentals

Computational Logic Automated Deduction Fundamentals Computational Logic Automated Deduction Fundamentals 1 Elements of First-Order Predicate Logic First Order Language: An alphabet consists of the following classes of symbols: 1. variables denoted by X,

More information

signicant in view of the fact that in many applications existential queries are of main interest. It also plays an important role in the problem of nd

signicant in view of the fact that in many applications existential queries are of main interest. It also plays an important role in the problem of nd On the Relationship Between CWA, Minimal Model and Minimal Herbrand Model Semantics Michael Gelfond Halina Przymusinska Teodor Przymusinski March 3, 1995 Abstract The purpose of this paper is to compare

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

Chapter 7. Negation: Declarative Interpretation

Chapter 7. Negation: Declarative Interpretation Chapter 7 1 Outline First-Order Formulas and Logical Truth The Completion semantics Soundness and restricted completeness of SLDNF-Resolution Extended consequence operator An alternative semantics: Standard

More information

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010

Introduction to Artificial Intelligence Propositional Logic & SAT Solving. UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Introduction to Artificial Intelligence Propositional Logic & SAT Solving UIUC CS 440 / ECE 448 Professor: Eyal Amir Spring Semester 2010 Today Representation in Propositional Logic Semantics & Deduction

More information

Normal Forms of Propositional Logic

Normal Forms of Propositional Logic Normal Forms of Propositional Logic Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan September 12, 2017 Bow-Yaw Wang (Academia Sinica) Normal Forms of Propositional Logic September

More information

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic The Importance of Being Formal Martin Henz February 5, 2014 Propositional Logic 1 Motivation In traditional logic, terms represent sets, and therefore, propositions are limited to stating facts on sets

More information

Computation and Logic Definitions

Computation and Logic Definitions Computation and Logic Definitions True and False Also called Boolean truth values, True and False represent the two values or states an atom can assume. We can use any two distinct objects to represent

More information

Computational Logic Fundamentals (of Definite Programs): Syntax and Semantics

Computational Logic Fundamentals (of Definite Programs): Syntax and Semantics Computational Logic Fundamentals (of Definite Programs): Syntax and Semantics 1 Towards Logic Programming Conclusion: resolution is a complete and effective deduction mechanism using: Horn clauses (related

More information

Logical Agents. Santa Clara University

Logical Agents. Santa Clara University Logical Agents Santa Clara University Logical Agents Humans know things Humans use knowledge to make plans Humans do not act completely reflexive, but reason AI: Simple problem-solving agents have knowledge

More information

Propositional Reasoning

Propositional Reasoning Propositional Reasoning CS 440 / ECE 448 Introduction to Artificial Intelligence Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri Spring 2010 Intro to AI (CS

More information