The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security

Size: px
Start display at page:

Download "The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security"

Transcription

1 The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security Carlos Olarte and Frank D. Valencia INRIA /CNRS and LIX, Ecole Polytechnique

2 Motivation Concurrent Constraint Prog. (CCP): Agents telling and asking information represented as constraints in a global store.

3 Motivation Concurrent Constraint Prog. (CCP): Agents telling and asking information represented as constraints in a global store. Temporal CCP (tcc): CCP + discrete time intervals for modeling reactive systems.

4 Motivation Concurrent Constraint Prog. (CCP): Agents telling and asking information represented as constraints in a global store. Temporal CCP (tcc): CCP + discrete time intervals for modeling reactive systems. Expressiveness: Processes can be represented as finite-state Büchi automata [Valencia 05]

5 Motivation Concurrent Constraint Prog. (CCP): Agents telling and asking information represented as constraints in a global store. Temporal CCP (tcc): CCP + discrete time intervals for modeling reactive systems. Expressiveness: Processes can be represented as finite-state Büchi automata [Valencia 05] Semantics: Processes can be compositionally represented as closure operators over sequences of constraints [Saraswat et al 91]

6 Motivation Concurrent Constraint Prog. (CCP): Agents telling and asking information represented as constraints in a global store. Temporal CCP (tcc): CCP + discrete time intervals for modeling reactive systems. Expressiveness: Processes can be represented as finite-state Büchi automata [Valencia 05] Semantics: Processes can be compositionally represented as closure operators over sequences of constraints [Saraswat et al 91] Universal CCP (utcc): tcc + an abstraction operator for modeling mobile reactive systems. [Olarte & Valencia 08]

7 Our Contributions Expressiveness and Semantic characterization of utcc:

8 Our Contributions Expressiveness and Semantic characterization of utcc: 1. Proving utcc Turing powerful (Encoding Minsky Machines)

9 Our Contributions Expressiveness and Semantic characterization of utcc: 1. Proving utcc Turing powerful (Encoding Minsky Machines) 2. Given a semantic characterization of utcc processes based on closure operators over temporal formulae.

10 Our Contributions Expressiveness and Semantic characterization of utcc: 1. Proving utcc Turing powerful (Encoding Minsky Machines) 2. Given a semantic characterization of utcc processes based on closure operators over temporal formulae. Applications of the above study:

11 Our Contributions Expressiveness and Semantic characterization of utcc: 1. Proving utcc Turing powerful (Encoding Minsky Machines) 2. Given a semantic characterization of utcc processes based on closure operators over temporal formulae. Applications of the above study: Using (1) to prove that the monadic fragment of first-order linear-time temporal logic (FLTL) is strongly incomplete.

12 Our Contributions Expressiveness and Semantic characterization of utcc: 1. Proving utcc Turing powerful (Encoding Minsky Machines) 2. Given a semantic characterization of utcc processes based on closure operators over temporal formulae. Applications of the above study: Using (1) to prove that the monadic fragment of first-order linear-time temporal logic (FLTL) is strongly incomplete. By (2) we bring new semantic insights in the modeling of security protocols: A closure op. semantics for a language for security

13 Agenda 1. Universal Timed CCP. Description and Operational Semantics 2. Expressiveness of utcc 2.1. Encoding Minsky Machines into utcc 2.2. Incompleteness of Monadic FLTL 3. Infinite Behavior and denotational semantics of utcc 3.1. Symbolic Semantics 3.2. Closure Operator Semantics for utcc 3.3. Application: Semantics to Security Languages 4. Concluding Remarks

14 The utcc Calculus The CCP Model: Store of partial information. Agents monotonically add (tell) constraints. They synchronize via blocking asks querying the store

15 The utcc Calculus The CCP Model: Store of partial information. Agents monotonically add (tell) constraints. They synchronize via blocking asks querying the store The TCC Model: Reactive Systems c1 d1 c2 d2 c3 d3 P P P

16 The utcc Calculus The CCP Model: Store of partial information. Agents monotonically add (tell) constraints. They synchronize via blocking asks querying the store The TCC Model: Reactive Systems c1 d1 c2 d2 c3 d3 P P P Universal tcc: utcc replaces the tcc ask operator when c do P (executing P if c can be entailed from the store) by a temporary parametric ask (abs x; c) P executing P [ t/ x] for each t s.t. c[ t/ x] can be deduced from the current store.

17 The utcc Calculus The CCP Model: Store of partial information. Agents monotonically add (tell) constraints. They synchronize via blocking asks querying the store The TCC Model: Reactive Systems c1 d1 c2 d2 c3 d3 P P P Universal tcc: utcc replaces the tcc ask operator when c do P (executing P if c can be entailed from the store) by a temporary parametric ask (abs x; c) P executing P [ t/ x] for each t s.t. c[ t/ x] can be deduced from the current store. Syntax: Processes P, Q,... in utcc are built from constraints in the underlying constraint system by the following syntax: P, Q := skip tell(c) (abs x; c) P P Q (local x; c) P next P unless c next P! P

18 Operational Semantics and FLTL Correspondence Internal Reductions R T tell(c),d skip,d c R P P, c P,d P Q, c P Q, d R A d c[ t/ x] t = x (abs x; c) P, d P [ t/ x] (abs x; c x t ) P, d Observable Transition R O P, c Q, d P (c,d) ==== F (Q)

19 Operational Semantics and FLTL Correspondence Internal Reductions R T tell(c),d skip,d c R P P, c P,d P Q, c P Q, d R A d c[ t/ x] t = x (abs x; c) P, d P [ t/ x] (abs x; c x t ) P, d Observable Transition R O P, c Q, d P (c,d) ==== F (Q) (true,c 1 ) (true,c 2 ) (true,c i ) Notation: Let P = P 1 ==== P 2 ====...P i ====... If c i c then we write P c

20 Operational Semantics and FLTL Correspondence Internal Reductions R T tell(c),d skip,d c R P P, c P,d P Q, c P Q, d R A d c[ t/ x] t = x (abs x; c) P, d P [ t/ x] (abs x; c x t ) P, d Observable Transition R O P, c Q, d P (c,d) ==== F (Q) (true,c 1 ) (true,c 2 ) (true,c i ) Notation: Let P = P 1 ==== P 2 ====...P i ====... If c i c then we write P c Declarative view of utcc Processes based on FLTL formulae Definition: Let [[ ]] be a map from utcc processes to FLTL formulae: [[skip]] = true [[tell(c)]] = c [[(abs y; c) P ]] = y(c [[P ]]) [[P Q]] = [[P ]] [[Q]] [[(local x; c) P ]] = x(c [[P ]]) [[next P ]] = [[P ]] [[unless c next P ]] = c [[P ]] [[! P ]] = [[P ]] Theorem: Logic Correspondence [[P ]] T c iff P c

21 Agenda 1. Universal Timed CCP. Description and Operational Semantics 2. Expressiveness of utcc 2.1. Encoding Minsky Machines into utcc 2.2. Incompleteness of Monadic FLTL 3. Infinite Behavior and denotational semantics of utcc 3.1. Symbolic Semantics 3.2. Closure Operator Semantics for utcc 3.3. Application: Semantics to Security Languages 4. Concluding Remarks

22 Turing Expressiveness of utcc A Minsky Machines is a imperative program consisting of a sequence of labeled instruction modifying the values of two non-negative counters. It { } computes the value ni if it halts with c 0 = n heorem m L i : halt L i : c n := c n + 1; goto L j L i : if c n =0 then goto L j else c n := c n 1; goto L k

23 Turing Expressiveness of utcc A Minsky Machines is a imperative program consisting of a sequence of labeled instruction modifying the values of two non-negative counters. It { } computes the value ni if it halts with c 0 = n heorem m L i : halt L i : c n := c n + 1; goto L j L i : if c n =0 then goto L j else c n := c n 1; goto L k Using the monadic fragment of FOL without function symbols nor equality as cs., it is possible to encode Minsky Machines into utcc s.t: Theorem. Correctness. A M. machine M(0, 0) computes the value n iff ([[M(0, 0)]] Dec n ) yes

24 Incompleteness of Monadic FLTL Proving decidability of monadic FOL requires to obtain prenex forms to reduce to decidability of propositional logic. In FLTL, it is not possible: Let F =(x = 42 x 42). If x is a flexible variable, xf is satisfiable whereas x F is not. I.e., moving quantifier to the outermost position does not preserve satisfiability.

25 Incompleteness of Monadic FLTL Proving decidability of monadic FOL requires to obtain prenex forms to reduce to decidability of propositional logic. In FLTL, it is not possible: Using the encoding of Minsky Machines into utcc processes and the correspondence between utcc and FLTL, it is possible to prove: Let F =(x = 42 x 42). If x is a flexible variable, xf is satisfiable whereas x F is not. I.e., moving quantifier to the outermost position does not preserve satisfiability.

26 Incompleteness of Monadic FLTL Proving decidability of monadic FOL requires to obtain prenex forms to reduce to decidability of propositional logic. In FLTL, it is not possible: Using the encoding of Minsky Machines into utcc processes and the correspondence between utcc and FLTL, it is possible to prove: Let F =(x = 42 x 42). If x is a flexible variable, xf is satisfiable whereas x F is not. I.e., moving quantifier to the outermost position does not preserve satisfiability. Proposition. Given a Minsky machine M(0, 0), it is possible to construct a monadic FLTL formula without equality and function symbols F M s.t F M is valid iff M(0, 0) loops (i.e., it never halts). Corollary: Incompleteness. Monadic FLTL without equality and function

27 Incompleteness of Monadic FLTL Proving decidability of monadic FOL requires to obtain prenex forms to reduce to decidability of propositional logic. In FLTL, it is not possible: Using the encoding of Minsky Machines into utcc processes and the correspondence between utcc and FLTL, it is possible to prove: Let F =(x = 42 x 42). If x is a flexible variable, xf is satisfiable whereas x F is not. I.e., moving quantifier to the outermost position does not preserve satisfiability. Proposition. Given a Minsky machine M(0, 0), it is possible to construct a monadic FLTL formula without equality and function symbols F M s.t F M is valid iff M(0, 0) loops (i.e., it never halts). Corollary: Incompleteness. Monadic FLTL without equality and function Corollary: Incompleteness. Monadic FLTL without equality and function symbols is strongly incomplete.

28 Agenda 1. Universal Timed CCP. Description and Operational Semantics 2. Expressiveness of utcc 2.1. Encoding Minsky Machines into utcc 2.2. Incompleteness of Monadic FLTL 3. Infinite Behavior and denotational semantics of utcc 3.1. Symbolic Semantics 3.2. Closure Operator Semantics for utcc 3.3. Application: Semantics to Security Languages 4. Concluding Remarks

29 Infinite Behavior and Symbolic Semantics Due to the underlying c.s. and/or loops in abstractions, some utcc procs. are not well-terminated: they can exhibit infinitely many internal reductions.

30 Infinite Behavior and Symbolic Semantics Due to the underlying c.s. and/or loops in abstractions, some utcc procs. are not well-terminated: they can exhibit infinitely many internal reductions. Example. Let P = tell(y=42) (abs x; x y) next tell(out(x)). Here the SOS never produces an observable transition (infinitely many valid subs. for x y)

31 Infinite Behavior and Symbolic Semantics Due to the underlying c.s. and/or loops in abstractions, some utcc procs. are not well-terminated: they can exhibit infinitely many internal reductions. Example. Let P = tell(y=42) (abs x; x y) next tell(out(x)). Here the SOS never produces an observable transition (infinitely many valid subs. for x y) The Symbolic Semantics [Olarte & Valencia 08] of utcc aims at representing finitely the infinite behavior of the SOS using temporal formulae:

32 Infinite Behavior and Symbolic Semantics Due to the underlying c.s. and/or loops in abstractions, some utcc procs. are not well-terminated: they can exhibit infinitely many internal reductions. Example. Let P = tell(y=42) (abs x; x y) next tell(out(x)). Here the SOS never produces an observable transition (infinitely many valid subs. for x y) The Symbolic Semantics [Olarte & Valencia 08] of utcc aims at representing finitely the infinite behavior of the SOS using temporal formulae: Example. Let P as above. The Symbolic semantics outputs the following: (y = 42) x ( (x y) out(x))

33 Infinite Behavior and Symbolic Semantics Due to the underlying c.s. and/or loops in abstractions, some utcc procs. are not well-terminated: they can exhibit infinitely many internal reductions. Example. Let P = tell(y=42) (abs x; x y) next tell(out(x)). Here the SOS never produces an observable transition (infinitely many valid subs. for x y) The Symbolic Semantics [Olarte & Valencia 08] of utcc aims at representing finitely the infinite behavior of the SOS using temporal formulae: Example. Let P as above. The Symbolic semantics outputs the following: (y = 42) x ( (x y) out(x)) (e 1,e Definition. Symbolic IO behavior. If P = P 1 ) (e 2,e 1 ==== s P 2 ) 2 ==== s..., we write P (w,w ) ==== s where w = e 1.e 2... and w = e 1.e 2... io s (P )={(w, w ) P (w,w ) ==== s } Proposition 1 (Closure Properties) The io-behavior of a proc. is a (par-

34 Strongest Postcondition { } Proposition. Closure Properties. The io-behavior of a proc. P is a (partial) closure operator. It satisfies: Extensiveness and Idempotence. If P is monotonic, then io s (P ) also satisfies Monotonicity. A closure operators is that they are uniquely determined by its set of fixed

35 Strongest Postcondition { } Proposition. Closure Properties. The io-behavior of a proc. P is a (partial) closure operator. It satisfies: Extensiveness and Idempotence. If P is monotonic, then io s (P ) also satisfies Monotonicity. A closure operators is that they are uniquely determined by its set of fixed Closure Operators are uniquely determined by their set of fixed points: monotonic, then io s (P ) also satisfies Monotonicity. Definition. Strongest Postcondition. sp s (P )={w (w, w) io s (P )}

36 Strongest Postcondition { } Proposition. Closure Properties. The io-behavior of a proc. P is a (partial) closure operator. It satisfies: Extensiveness and Idempotence. If P is monotonic, then io s (P ) also satisfies Monotonicity. A closure operators is that they are uniquely determined by its set of fixed Closure Operators are uniquely determined by their set of fixed points: monotonic, then io s (P ) also satisfies Monotonicity. Definition. Strongest Postcondition. sp s (P )={w (w, w) io s (P )} The IO-behavior of a monotonic process can be retrieved from its strongest postcondition: { } Corollary Given a monotonic utcc process P, (w, w ) io s (P ) iff w = min(sp s (P ) {s s w})

37 Denotational Model The strongest postcondition can be compositionally characterized: D T [[tell(c)]] = {e.w e T c} D P [[P Q]] = [[P ]] [[Q]] D L [[(local x; c) P ]] = {w there exists an x-variant w of w s.t w (1) T c and w [[P ]]} D A [[(abs x; c) P ]] = {w for every x-variant w of w if w (1) T c and w ( x = t) ω. for some t s.t. x = t and x = t then w [[P ]]}

38 Denotational Model The strongest postcondition can be compositionally characterized: D T [[tell(c)]] = {e.w e T c} D P [[P Q]] = [[P ]] [[Q]] D L [[(local x; c) P ]] = {w there exists an x-variant w of w s.t w (1) T c and w [[P ]]} D A [[(abs x; c) P ]] = {w for every x-variant w of w if w (1) T c and w ( x = t) ω. for some t s.t. x = t and x = t then w [[P ]]} Theorem. Full abstraction. Let P and Q be a monotonic processes. Then P io s Q iff [[P ]] = [[Q]]. Thus the denotational semantics allows us to retrieve compositionally the IO-behavior of a monotonic process!.

39 Application: Semantics to Security We map a simple language for security into monotonic utcc procs. Syntax of SCCP Values v, v ::= n x Keys k ::= pub(v) priv(v) Messages M, N ::= v k X (M, N) {M} k Patterns Π, Π ::= v k X (Π, Π ) Processes R ::= nil skip new(x)r (local x) I(R) out(m).r! tell(out(m)) next I(R) in [M >Π].R (abs x; c) next I (R)!R! I (R) R R i I I (R i ) Definition 1 Let I be a function from SCCP to monotonic processes

40 Application: Semantics to Security We map a simple language for security into monotonic utcc procs. Syntax of SCCP Values v, v ::= n x Keys k ::= pub(v) priv(v) Messages M, N ::= v k X (M, N) {M} k Patterns Π, Π ::= v k X (Π, Π ) Processes R ::= nil skip new(x)r (local x) I(R) out(m).r! tell(out(m)) next I(R) in [M >Π].R (abs x; c) next I (R)!R! I (R) R R i I I (R i ) Definition 1 Let I be a function from SCCP to monotonic processes Proposition. Let R be a SCCP process modeling a security protocol. f = [[R]] SCCP [[! when out(attack) do! tell(false)]] Therefore, I (R) attack iff the least-fixed point of f takes the form w. false ω

41 Agenda 1. Universal Timed CCP. Description and Operational Semantics 2. Expressiveness of utcc 2.1. Encoding Minsky Machines into utcc 2.2. Incompleteness of Monadic FLTL 3. Infinite Behavior and denotational semantics of utcc 3.1. Symbolic Semantics 3.2. Closure Operator Semantics for utcc 3.3. Application: Semantics to Security Languages 4. Concluding Remarks

42 Concluding Remarks We study the expressiveness and semantic characterization of utcc processes concluding that:

43 Concluding Remarks We study the expressiveness and semantic characterization of utcc processes concluding that: Well-terminated processes and a monadic constraint system are enough to encode Turing powerful formalisms.

44 Concluding Remarks We study the expressiveness and semantic characterization of utcc processes concluding that: Well-terminated processes and a monadic constraint system are enough to encode Turing powerful formalisms. utcc processes can be represented as (partial) closure operators over sequences of temporal formulae.

45 Concluding Remarks We study the expressiveness and semantic characterization of utcc processes concluding that: Well-terminated processes and a monadic constraint system are enough to encode Turing powerful formalisms. utcc processes can be represented as (partial) closure operators over sequences of temporal formulae. We applied the previous results to other fields in comp. science:

46 Concluding Remarks We study the expressiveness and semantic characterization of utcc processes concluding that: Well-terminated processes and a monadic constraint system are enough to encode Turing powerful formalisms. utcc processes can be represented as (partial) closure operators over sequences of temporal formulae. We applied the previous results to other fields in comp. science: We proved strongly incomplete the monadic fragment of FLTL without equality and function symbols

47 Concluding Remarks We study the expressiveness and semantic characterization of utcc processes concluding that: Well-terminated processes and a monadic constraint system are enough to encode Turing powerful formalisms. utcc processes can be represented as (partial) closure operators over sequences of temporal formulae. We applied the previous results to other fields in comp. science: We proved strongly incomplete the monadic fragment of FLTL without equality and function symbols We described a new reasoning technique for the verification of security protocols based on a closure op. semantics for a language for security.

48 Thank You!

49 FLTL Syntax and Semantics Definition 7 Given a constraint system with a first-order language L, the LTL formulae we use are given by the syntax: F, G,... := c F G F xf F F F. L Definition 8 We say that σ satisfies F in an L-structure M(L), written σ = M(L) F, iff σ, 0 = M(L) F where: σ,i = M(L) true σ,i = M(L) false σ,i = M(L) c iff σ(i) = M(L) c σ,i = M(L) F iff σ,i = M(L) F σ,i = M(L) F G iff σ,i = M(L) F and σ,i = M(L) G σ,i = M(L) F iff i>0 and σ,i 1 = M(L) F σ,i = M(L) F iff σ,i+1 = M(L) F σ,i = M(L) F iff for all j i, σ,j = M(L) F σ,i = M(L) xf iff for some x-variant σ of σ, σ,i = M(L) F We say that F is valid in M(L) iff for all σ, σ = M(L) F. F is said to be valid if F is valid for every model M(L).

50 Operational Semantics R T tell(c),d skip,d c R P R L R U P, c P,d P Q, c P Q, d P, c ( xd) P,c ( xd) (local x; c) P, d (local x; c ) P,d xc d c unless c next P, d skip, d R R! P, d P next! P, d R A d c[ t/ x] t = x (abs x; c) P, d P [ t/ x] (abs x; c x t ) P, d R S γ 1 γ 2 γ 1 γ 2 if γ 1 γ 1 and γ 2 γ 2 P, c Q, d R O P ==== (c,d) F (Q) F (P )= Table 1.1: Internal and observable reductions. In R A, x t denotes 1 i x x i t i. If x = 0, x t is defined as false. skip if P = skip skip if P =(abs x; c) Q F (P 1 ) F (P 2 ) if P = P 1 P 2 (local x) F (Q) if P =(local x; c) Q Q if P = next Q Q if P = unless c next Q 1 Processes in are built from constrain

51 Symbolic Semantics R As P, xe s Q, e xe (abs x; e ) P, e s (abs x; e ) Q, e x(e e ) R Os P, e s Q, e s P (e,e ) ==== s F s (Q, e ) Table 3.1: Symbolic Rules for Internal and Observable Transitions. skip if P = skip (abs x; e) F (Q) if P =(abs x; e) Q F F (P )= (P 1 ) F (P 2 ) if P = P 1 P 2 (local x; e) F (Q) if P =(local x; e) Q Q if P = next Q Q if P = unless c next Q Theorem 4 (Semantic Correspondence [23]) Let P be an abstracted-unless free process. Suppose that P (c 1,d 1 ) (c 2,d 2 ) (c i,d i ) ==== P 1 ====... ==== P i and P (c 1,e 1 ) ==== s (c 2,e 2 ) (c i,e i ) P 1 ==== s... ==== P i. Then for every c C and j {1,..., i}, d j c iff e j T c.

52 Denotational Semantics D S [[skip]] = PM D T [[tell(c)]] = {e.w PM e T c} D P [[P Q]] = [[P ]] [[Q]] D N [[next P ]] = {e.w PM w [[P ]]} D U [[unless c next P ]] = {e.w PM e T c and w [[P ]]} {e.w PM e T c} D R [[! P ]] = {w PM for all v, v s.t. w = v.v, v [[P ]]} D L [[(local x; c) P ]] = {w PM there exists an x-variant w of w s.t w (1) T c and w [[P ]]} D A [[(abs x; c) P ]] = {w PM for every x-variant w of w if w (1) T c and w ( x = t) ω. for some t s.t. x = t and x = t then w [[P ]]} Figure 3.1: Denotational Semantics for utcc. The function [[ ]] is of type Proc P(PM ). In D A, x = t denotes the constraint 1 i x x. i = t i and t = x stands for point-wise syntactic difference, i.e. 1 i x t. i = x i (see Sect. 1.1). If x =0. then x = t and x = t are defined as true.

53 Encoding of Minsky Machines { } 1! when isz n do 2 unless inc n next tell(isz n ) 3 when inc n do next (local a)(tell(out 1 n(a)) 3! when out 2 n(a) do tell(isz n )) 4!(abs z; out 1 n(z)) 5 whenever dec n inc n do 6 when dec n do next tell(out 2 n(z)) 7 when inc n do next (local b)(tell(out 1 n(b)) 7! when out 2 n(b) do tell(out 1 n(z)))

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security Carlos Olarte, Frank D. Valencia To cite this version: Carlos Olarte, Frank D. Valencia. The Expressivity

More information

Universal Concurrent Constraint Programing: Symbolic Semantics and Applications to Security

Universal Concurrent Constraint Programing: Symbolic Semantics and Applications to Security Universal Concurrent Constraint Programing: Symbolic Semantics and Applications to Security Carlos Olarte INRIA and LIX École Polytechnique Pontificia Universidad Javeriana carlos.olarte@lix.polytechnique.fr

More information

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire

More information

CS154, Lecture 10: Rice s Theorem, Oracle Machines

CS154, Lecture 10: Rice s Theorem, Oracle Machines CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable

More information

Formal Models of Timed Musical Processes Doctoral Defense

Formal Models of Timed Musical Processes Doctoral Defense Formal Models of Timed Musical Processes Doctoral Defense Gerardo M. Sarria M. Advisor: Camilo Rueda Co-Advisor: Juan Francisco Diaz Universidad del Valle AVISPA Research Group September 22, 2008 Motivation

More information

Universal Temporal Concurrent Constraint Programming

Universal Temporal Concurrent Constraint Programming Universal Temporal Concurrent Constraint Programming Carlos Olarte To cite this version: Carlos Olarte. Universal Temporal Concurrent Constraint Programming. Modeling and Simulation. Ecole Polytechnique

More information

TEMPORAL CONCURRENT CONSTRAINT PROGRAMMING: DENOTATION, LOGIC AND APPLICATIONS

TEMPORAL CONCURRENT CONSTRAINT PROGRAMMING: DENOTATION, LOGIC AND APPLICATIONS Nordic Journal of Computing 9(2002), 145 188. TEMPORAL CONCURRENT CONSTRAINT PROGRAMMING: DENOTATION, LOGIC AND APPLICATIONS MOGENS NIELSEN BRICS, University of Aarhus, Denmark mn@brics.dk FRANK D. VALENCIA

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Efficient Computation of Program Equivalence for Confluent Concurrent Constraint Programming

Efficient Computation of Program Equivalence for Confluent Concurrent Constraint Programming Efficient Computation of Program Equivalence for Confluent Concurrent Constraint Programming Luis F. Pino INRIA/DGA and LIX École Polytechnique 91128 Palaiseau, France luis.pino@lix.polytechnique.fr Filippo

More information

Undecidability in Epistemic Planning

Undecidability in Epistemic Planning Undecidability in Epistemic Planning Thomas Bolander, DTU Compute, Tech Univ of Denmark Joint work with: Guillaume Aucher, Univ Rennes 1 Bolander: Undecidability in Epistemic Planning p. 1/17 Introduction

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

Classical First-Order Logic

Classical First-Order Logic Classical First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) First-Order Logic (Classical) MFES 2008/09

More information

Decidability: Church-Turing Thesis

Decidability: Church-Turing Thesis Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there

More information

Reversal-Bounded Counter Machines

Reversal-Bounded Counter Machines Reversal-Bounded Counter Machines Stéphane Demri LSV, CNRS, ENS Cachan Workshop on Logics for Resource-Bounded Agents, Barcelona, August 2015 Overview Presburger Counter Machines Reversal-Bounded Counter

More information

Introduction to Turing Machines

Introduction to Turing Machines Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

More information

First Order Logic: Syntax and Semantics

First Order Logic: Syntax and Semantics CS1081 First Order Logic: Syntax and Semantics COMP30412 Sean Bechhofer sean.bechhofer@manchester.ac.uk Problems Propositional logic isn t very expressive As an example, consider p = Scotland won on Saturday

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

More information

Predicate Logic - Undecidability

Predicate Logic - Undecidability CS402, Spring 2016 Undecidable Problems Does the following program halts? (1) N : n, total, x, y, z (2) n GetUserInput() (3) total 3 (4) while true (5) for x 1 to total 2 (6) for y 1 to total x 1 (7) z

More information

Program verification using Hoare Logic¹

Program verification using Hoare Logic¹ Program verification using Hoare Logic¹ Automated Reasoning - Guest Lecture Petros Papapanagiotou Part 2 of 2 ¹Contains material from Mike Gordon s slides: Previously on Hoare Logic A simple while language

More information

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014 Introduction Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2013/2014 P. Cabalar ( Department Introduction of Computer Science University of Corunna, SPAIN2013/2014

More information

Linear-time Temporal Logic

Linear-time Temporal Logic Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University

More information

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Computation Tree Logic (CTL) & Basic Model Checking Algorithms Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Temporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking

Temporal & Modal Logic. Acronyms. Contents. Temporal Logic Overview Classification PLTL Syntax Semantics Identities. Concurrency Model Checking Temporal & Modal Logic E. Allen Emerson Presenter: Aly Farahat 2/12/2009 CS5090 1 Acronyms TL: Temporal Logic BTL: Branching-time Logic LTL: Linear-Time Logic CTL: Computation Tree Logic PLTL: Propositional

More information

CSCI3390-Lecture 6: An Undecidable Problem

CSCI3390-Lecture 6: An Undecidable Problem CSCI3390-Lecture 6: An Undecidable Problem September 21, 2018 1 Summary The language L T M recognized by the universal Turing machine is not decidable. Thus there is no algorithm that determines, yes or

More information

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32 A Note on Scope and Infinite Behaviour in CCS-like Calculi GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Joint work with Pablo Giambiagi and Frank Valencia A

More information

Equality and Monodic First-Order Temporal Logic

Equality and Monodic First-Order Temporal Logic Equality and Monodic First-Order Temporal Logic Anatoli Degtyarev, Michael Fisher, and Alexei Lisitsa Logic and Computation Group, Department of Computer Science University of Liverpool, Liverpool L69

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

First-Order Logic (FOL)

First-Order Logic (FOL) First-Order Logic (FOL) Also called Predicate Logic or Predicate Calculus 2. First-Order Logic (FOL) FOL Syntax variables x, y, z, constants a, b, c, functions f, g, h, terms variables, constants or n-ary

More information

Weak Synchronization & Synchronizability. Multi-tape Automata and Machines

Weak Synchronization & Synchronizability. Multi-tape Automata and Machines Weak Synchronization and Synchronizability of Multi-tape Automata and Machines Oscar H. Ibarra 1 and Nicholas Tran 2 1 Department of Computer Science University of California at Santa Barbara ibarra@cs.ucsb.edu

More information

Reasoning about Time and Reliability

Reasoning about Time and Reliability Reasoning about Time and Reliability Probabilistic CTL model checking Daniel Bruns Institut für theoretische Informatik Universität Karlsruhe 13. Juli 2007 Seminar Theorie und Anwendung von Model Checking

More information

Relational Interfaces and Refinement Calculus for Compositional System Reasoning

Relational Interfaces and Refinement Calculus for Compositional System Reasoning Relational Interfaces and Refinement Calculus for Compositional System Reasoning Viorel Preoteasa Joint work with Stavros Tripakis and Iulia Dragomir 1 Overview Motivation General refinement Relational

More information

Overview. CS389L: Automated Logical Reasoning. Lecture 7: Validity Proofs and Properties of FOL. Motivation for semantic argument method

Overview. CS389L: Automated Logical Reasoning. Lecture 7: Validity Proofs and Properties of FOL. Motivation for semantic argument method Overview CS389L: Automated Logical Reasoning Lecture 7: Validity Proofs and Properties of FOL Agenda for today: Semantic argument method for proving FOL validity Işıl Dillig Important properties of FOL

More information

Operational Semantics

Operational Semantics Operational Semantics Semantics and applications to verification Xavier Rival École Normale Supérieure Xavier Rival Operational Semantics 1 / 50 Program of this first lecture Operational semantics Mathematical

More information

arxiv: v1 [cs.lo] 19 Mar 2019

arxiv: v1 [cs.lo] 19 Mar 2019 Turing-Completeness of Dynamics in Abstract Persuasion Argumentation Ryuta Arisaka arxiv:1903.07837v1 [cs.lo] 19 Mar 2019 ryutaarisaka@gmail.com Abstract. Abstract Persuasion Argumentation (APA) is a dynamic

More information

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action

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

Course Runtime Verification

Course Runtime Verification Course Martin Leucker (ISP) Volker Stolz (Høgskolen i Bergen, NO) INF5140 / V17 Chapters of the Course Chapter 1 Recall in More Depth Chapter 2 Specification Languages on Words Chapter 3 LTL on Finite

More information

Benefits of Interval Temporal Logic for Specification of Concurrent Systems

Benefits of Interval Temporal Logic for Specification of Concurrent Systems Benefits of Interval Temporal Logic for Specification of Concurrent Systems Ben Moszkowski Software Technology Research Laboratory De Montfort University Leicester Great Britain email: benm@dmu.ac.uk http://www.tech.dmu.ac.uk/~benm

More information

Chapter 3: Linear temporal logic

Chapter 3: Linear temporal logic INFOF412 Formal verification of computer systems Chapter 3: Linear temporal logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 LTL: a specification

More information

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure Outline Temporal Logic Ralf Huuck Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness Model Checking Problem model, program? M φ satisfies, Implements, refines property, specification

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

Classical First-Order Logic

Classical First-Order Logic Classical First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2009/2010 Maria João Frade (DI-UM) First-Order Logic (Classical) MFES 2009/10

More information

Linear-Time Logic. Hao Zheng

Linear-Time Logic. Hao Zheng Linear-Time Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE, USF)

More information

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct. EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016

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

Timo Latvala. February 4, 2004

Timo Latvala. February 4, 2004 Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism

More information

Undecidability of the validity problem

Undecidability of the validity problem Undecidability of the validity problem We prove the undecidability of the validity problem for formulas of predicate logic with equality. Recall: there is an algorithm that given a formula of predicate

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

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

Program Analysis Part I : Sequential Programs

Program Analysis Part I : Sequential Programs Program Analysis Part I : Sequential Programs IN5170/IN9170 Models of concurrency Program Analysis, lecture 5 Fall 2018 26. 9. 2018 2 / 44 Program correctness Is my program correct? Central question for

More information

Theory of Computer Science. Theory of Computer Science. D8.1 Other Halting Problem Variants. D8.2 Rice s Theorem

Theory of Computer Science. Theory of Computer Science. D8.1 Other Halting Problem Variants. D8.2 Rice s Theorem Theory of Computer Science May 15, 2017 D8. Rice s Theorem and Other Undecidable Problems Theory of Computer Science D8. Rice s Theorem and Other Undecidable Problems Malte Helmert University of Basel

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

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

7 LOGICAL AGENTS. OHJ-2556 Artificial Intelligence, Spring OHJ-2556 Artificial Intelligence, Spring

7 LOGICAL AGENTS. OHJ-2556 Artificial Intelligence, Spring OHJ-2556 Artificial Intelligence, Spring 109 7 LOGICAL AGENS We now turn to knowledge-based agents that have a knowledge base KB at their disposal With the help of the KB the agent aims at maintaining knowledge of its partially-observable environment

More information

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

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

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

Theoretical Foundations of the UML

Theoretical Foundations of the UML Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.

More information

Discrete Parameters in Petri Nets

Discrete Parameters in Petri Nets Discrete Parameters in Petri Nets SYNCOP2015 Based on a Paper accepted in PN2015 Nicolas David, Claude Jard, Didier Lime, Olivier H. Roux April 22, 2015 Nicolas David, Claude Jard, Didier Lime, Olivier

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Overview. overview / 357

Overview. overview / 357 Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL

More information

Logic and Computation

Logic and Computation Logic and Computation CS245 Dr. Borzoo Bonakdarpour University of Waterloo (Fall 2012) Computability and Decidability Logic and Computation p. 1/29 Agenda Programs as Formulas Cantor s Diagonalization

More information

Section 14.1 Computability then else

Section 14.1 Computability then else Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible algorithms. Example (Turing machines). Associate

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard, Maren Bennewitz, and Marco Ragni Albert-Ludwigs-Universität Freiburg Contents 1 Agents

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

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 Frank Hutter and Bernhard Nebel Albert-Ludwigs-Universität Freiburg

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

Logic: Propositional Logic Truth Tables

Logic: Propositional Logic Truth Tables Logic: Propositional Logic Truth Tables Raffaella Bernardi bernardi@inf.unibz.it P.zza Domenicani 3, Room 2.28 Faculty of Computer Science, Free University of Bolzano-Bozen http://www.inf.unibz.it/~bernardi/courses/logic06

More information

Timed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints

Timed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints Chapter 10 Timed Automata In the previous chapter, we have discussed a temporal logic where time was a discrete entities. A time unit was one application of the transition relation of an LTS. We could

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types

More information

LTL with Arithmetic and its Applications in Reasoning about Hierarchical Systems

LTL with Arithmetic and its Applications in Reasoning about Hierarchical Systems This space is reserved for the EPiC Series header, do not use it LTL with Arithmetic and its Applications in Reasoning about Hierarchical Systems Rachel Faran and Orna Kupferman The Hebrew University,

More information

Timo Latvala. March 7, 2004

Timo Latvala. March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness Timo Latvala March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness 14-1 Safety Safety properties are a very useful subclass of specifications.

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

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

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

Overview. Knowledge-Based Agents. Introduction. COMP219: Artificial Intelligence. Lecture 19: Logic for KR

Overview. Knowledge-Based Agents. Introduction. COMP219: Artificial Intelligence. Lecture 19: Logic for KR COMP219: Artificial Intelligence Lecture 19: Logic for KR Last time Expert Systems and Ontologies oday Logic as a knowledge representation scheme Propositional Logic Syntax Semantics Proof theory Natural

More information

A Short Introduction to Hoare Logic

A Short Introduction to Hoare Logic A Short Introduction to Hoare Logic Supratik Chakraborty I.I.T. Bombay June 23, 2008 Supratik Chakraborty (I.I.T. Bombay) A Short Introduction to Hoare Logic June 23, 2008 1 / 34 Motivation Assertion checking

More information

Coinductive big-step semantics and Hoare logics for nontermination

Coinductive big-step semantics and Hoare logics for nontermination Coinductive big-step semantics and Hoare logics for nontermination Tarmo Uustalu, Inst of Cybernetics, Tallinn joint work with Keiko Nakata COST Rich Models Toolkit meeting, Madrid, 17 18 October 2013

More information

CS20a: Turing Machines (Oct 29, 2002)

CS20a: Turing Machines (Oct 29, 2002) CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Handicapped machines DFA limitations Tape head moves only one direction 2-way DFA

More information

6.8 The Post Correspondence Problem

6.8 The Post Correspondence Problem 6.8. THE POST CORRESPONDENCE PROBLEM 423 6.8 The Post Correspondence Problem The Post correspondence problem (due to Emil Post) is another undecidable problem that turns out to be a very helpful tool for

More information

Logical Agents. Knowledge based agents. Knowledge based agents. Knowledge based agents. The Wumpus World. Knowledge Bases 10/20/14

Logical Agents. Knowledge based agents. Knowledge based agents. Knowledge based agents. The Wumpus World. Knowledge Bases 10/20/14 0/0/4 Knowledge based agents Logical Agents Agents need to be able to: Store information about their environment Update and reason about that information Russell and Norvig, chapter 7 Knowledge based agents

More information

Reducing CTL-live Model Checking to Semantic Entailment in First-Order Logic (Version 1)

Reducing CTL-live Model Checking to Semantic Entailment in First-Order Logic (Version 1) 1 Reducing CTL-live Model Checking to Semantic Entailment in First-Order Logic (Version 1) Amirhossein Vakili and Nancy A. Day Cheriton School of Computer Science University of Waterloo Waterloo, Ontario,

More information

CS20a: Turing Machines (Oct 29, 2002)

CS20a: Turing Machines (Oct 29, 2002) CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Church s thesis The computable functions are the same as the partial recursive

More information

Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions

Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions Chapter 1 Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions 1.1 The IMP Language IMP is a programming language with an extensible syntax that was developed in the late 1960s. We will

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

FORMAL METHODS LECTURE III: LINEAR TEMPORAL LOGIC

FORMAL METHODS LECTURE III: LINEAR TEMPORAL LOGIC Alessandro Artale (FM First Semester 2007/2008) p. 1/39 FORMAL METHODS LECTURE III: LINEAR TEMPORAL LOGIC Alessandro Artale Faculty of Computer Science Free University of Bolzano artale@inf.unibz.it http://www.inf.unibz.it/

More information

Chapter 5: Linear Temporal Logic

Chapter 5: Linear Temporal Logic Chapter 5: Linear Temporal Logic Prof. Ali Movaghar Verification of Reactive Systems Spring 94 Outline We introduce linear temporal logic (LTL), a logical formalism that is suited for specifying LT properties.

More information

The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees

The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees Karsten Lehmann a, Rafael Peñaloza b a Optimisation Research Group, NICTA Artificial Intelligence Group, Australian National

More information

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012 Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM

More information

Design of Distributed Systems Melinda Tóth, Zoltán Horváth

Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052

More information

SEMANTICS OF PROGRAMMING LANGUAGES Course Notes MC 308

SEMANTICS OF PROGRAMMING LANGUAGES Course Notes MC 308 University of Leicester SEMANTICS OF PROGRAMMING LANGUAGES Course Notes for MC 308 Dr. R. L. Crole Department of Mathematics and Computer Science Preface These notes are to accompany the module MC 308.

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