92
Semantically Equivalent Formulas Let Φ and ψ be formulas of propositional logic. We say that Φ and ψ are semantically equivalent iff Φ ╞ ψ ψ ╞ Φ hold. In that case we write Φ ≡ ψ. Further, we call Φ valid if ╞ Φ holds.

Semantically Equivalent Formulas

  • Upload
    tibor

  • View
    61

  • Download
    0

Embed Size (px)

DESCRIPTION

Semantically Equivalent Formulas. Let Φ and ψ be formulas of propositional logic. We say that Φ and ψ are semantically equivalent iff Φ ╞ ψ ψ ╞ Φ hold. In that case we write Φ ≡ ψ . Further, we call Φ valid if ╞ Φ holds. - PowerPoint PPT Presentation

Citation preview

Page 1: Semantically Equivalent Formulas

Semantically Equivalent Formulas

• Let Φ and ψ be formulas of propositional logic. We say that Φ and ψ are semantically equivalent iff

Φ ╞ ψ ψ ╞ Φ hold. In that case we write Φ ≡ ψ.

Further, we call Φ valid if ╞ Φ holds.

Page 2: Semantically Equivalent Formulas

Examples of equivalent formulas

• p → q ≡ ¬p q• p → q ≡ ¬q → ¬p

• p q → p ≡ r ¬r

• p q → r ≡ p → (q →r)

Page 3: Semantically Equivalent Formulas

Lemma

• Given propositional logic formulas Φ1, Φ2, …, Φn, ψ, we have

Φ1, Φ2, …, Φn ╞ ψ

iff

╞ Φ1 →(Φ2 → (Φ3 → … → (Φn → ψ)))

Page 4: Semantically Equivalent Formulas

Literal

• A literal is either an atom p or the negation of an atom ¬p.

Page 5: Semantically Equivalent Formulas

Conjunctive Normal Form (CNF)

• A formula Φ is in conjunctive normal form (CNF) if it is of the form

ψ1 ψ2 …. ψn

for some n ≥ 1, such that ψi is a literal, or a disjunction of literal, for all 1 ≤ i ≤ n.

Page 6: Semantically Equivalent Formulas

Examples for CNF formulas

• (¬q p r) (¬p r) q• (p r) (¬p r) (p ¬r)

Page 7: Semantically Equivalent Formulas

Lemma

• A disjunction of literals L1 L2 …. Lm is valid (i.e., ╞ L1 L2 …. Lm) iff there are 1 ≤ i, j ≤ m such that Li is ¬Lj.

Page 8: Semantically Equivalent Formulas

Satisfiable formulasSatisfiable formulas

• Given a formula Φ in a propositional logic, we say that Φ is satisfiable if there exists an assignment of truth values to its propositional atoms such that Φ is true.

Page 9: Semantically Equivalent Formulas

Proposition

• Let Φ be a formula of propositional logic. Then Φ is satisfiable iff ¬Φ is not valid.

Page 10: Semantically Equivalent Formulas

function CNF(Φ)

/* pre-condition: Φ implication free and in NNF*//* post-condition: CNF(Φ) computes an equivalent CNF for Φ */

begin function case Φ is a literal : return Φ

Φ is Φ1 Φ2: return CNF(Φ1) CNF(Φ2)

Φ is Φ1 Φ2: return DISTR(CNF(Φ1), CNF(Φ2) ) end caseend function

Page 11: Semantically Equivalent Formulas

function DISTR(η1, η2):

/* pre-condition: η1 and η2 are in CNF */ /* post-condition: DISTR(η1, η2) computes a CNF for η1 η2 */

begin function case η1 is η11 η12 : return DISTR(η11 , η2) DISTR(η12 , η2) η2 is η21 η22 : return DISTR(η1 , η21) DISTR(η1 , η22) otherwise (= no conjunction): return η1 η2

end caseend function

Page 12: Semantically Equivalent Formulas

function NNF(Φ)

/* pre-condition: Φ is implication free *//* post-condition: NNF(Φ) computes a NNF for Φ */begin function case Φ is a literal : return Φ Φ is ¬¬Φ1 : return NNF(Φ1) Φ is Φ1 Φ2 : return NNF(Φ1) NNF(Φ2) Φ is Φ1 Φ2 : return NNF(Φ1) NNF(Φ2) Φ is ¬(Φ1 Φ2) : return NNF(¬Φ1 ¬Φ2) Φ is ¬(Φ1 Φ2) : return NNF(¬Φ1 ¬Φ2)

end caseend function

Page 13: Semantically Equivalent Formulas

Φ = ¬p q → p (r → q)

IMPL_FREE Φ = ¬ IMPL_FREE (¬p q ) IMPL_FREE (p (r → q))

= ¬((IMPL_FREE ¬p ) (IMPL_FREE q )) IMPL_FREE (p (r → q))

= ¬((¬p ) IMPL_FREE q ) IMPL_FREE (p (r → q))

= ¬ (¬p q ) IMPL_FREE (p (r → q))

= ¬ (¬p q ) ((IMPL_FREE (p) IMPL_FREE (r → q))

= ¬ (¬p q ) (p IMPL_FREE (r → q))

= ¬ (¬p q ) (p (¬ (IMPL_FREE r) IMPL_FREE (q)))

= ¬ (¬p q ) (p (¬ r IMPL_FREE (q)))

= ¬ (¬p q ) (p (¬ r q))

Page 14: Semantically Equivalent Formulas

IMPL_FREE Φ = ¬ (¬p q ) (p (¬ r q))

NNF (IMPL_FREE Φ )

= NNF (¬ (¬p q )) NNF (p (¬ r q))

= NNF (¬ (¬p ) ¬q )) NNF (p (¬ r q))

= (NNF (¬¬p )) (NNF (¬q )) NNF (p (¬ r q))

= (p (NNF (¬q ))) NNF (p (¬ r q))

= (p ¬q ) NNF (p (¬ r q))

= (p ¬q ) ((NNF p) (NNF (¬ r q)))

= (p ¬q ) ( p (NNF (¬ r q)))

= (p ¬q ) ( p ((NNF (¬ r)) (NNF q)))

= (p ¬q ) ( p (¬ r (NNF q)))

= (p ¬q ) ( p (¬ r q))

Page 15: Semantically Equivalent Formulas

NNF (IMPL_FREE Φ) = (p ¬q ) ( p (¬ r q))CNF(NNF (IMPL_FREE Φ))

= CNF ((p ¬q ) ( p (¬r q)))

= DISTR ( CNF (p ¬q ), CNF (p (¬ r q)))

= DISTR (p ¬q , CNF (p (¬ r q)))

= DISTR (p ¬q , p (¬ r q))

= DISTR (p ¬q , p) DISTR (p ¬q , ¬ r q)

= (p ¬q p) DISTR (p ¬q , ¬ r q)

= (p ¬q p) (p ¬q ¬ r q)

Page 16: Semantically Equivalent Formulas

Horn Formula Φ

• is a formula Φ of propositional logic if it is of the form ψ1 ψ2 ... ψn for some n ≥ 1 such that ψi is of the form

p1 p2 ... pki → qi

for some ki ≥ 1, where p1, p1, …, pki, qi are

atoms, ┴ or T. We call such ψi a Horn clause.

Page 17: Semantically Equivalent Formulas

Examples of Horn formulas

• (p q s → p) (q r → p) (p s → s)• (p q s → ┴) (q r → p) (T → s)

• (p2 p3 p5 → p13) (T→ p2) (p5 p11 → ┴)

Page 18: Semantically Equivalent Formulas

Examples of non-Horn formulas

• (p q s → ¬p) (q r → p) (p s → s)• (p q s → ┴) (¬q r → p) (T → s)

• (p2 p3 p5 → p13 p27) (T→ p2) (p5 p11 → ┴)

• (p2 p3 p5 → p13 ) (T→ p2) (p5 p11 ┴)

Page 19: Semantically Equivalent Formulas

function HORN(Φ)

/* Pre-condition : Φ is a Horn formula*/

/* Post-condition : HORN(Φ) decides the satisfiability for Φ */

begin function

mark all atoms p where T → p is a sub-formula of Φ;

while there is a sub-formula p1 p2 ... pki → qi of Φ such that all pj

are marked but qi is not do

if qi ≡ ┴ then return ‘unsatisfiable’

else mark qi for all such subformulas

end while

return ‘satisfiable’

end function

Page 20: Semantically Equivalent Formulas

Theorem

• The algorithm HORN is correct for the satisfiability decision problem of Horn formulas and has no more than n cycles in its while-loop if n is the number of atoms in Φ. HORN always terminates on correct input.

Page 21: Semantically Equivalent Formulas

Kripke structure

Let AP be a set of atomic propositions. A Kripke structure M

over AP is a four tuple M= (S, S0, R, L) where

1. S is a finite set of states

2. S0 S is the set of initial states.

3. R S × S is a transition relation that must be total, that is for every state s S there is a state s’ S such that R (s, s’).

4. L: S 2 AP is a function that labels each state with the set of atomic proposition in that state.

A path in the structure M from a state s is an infinite sequence of states

ω = s0 s1 s2 … such that s0 = s and R (si, si+1) holds for all i ≥ 0.

Page 22: Semantically Equivalent Formulas

First order representationof Kipke structures

• We use interpreted first order formulas to describe concurrent systems.

• We use usual logical connectives (and , or , implies , not , and so on) and universal ( ) and existential ( ) quantifications.

• Let V = {v1, …, vn} be the set of system variables. We assume that the variables in V range over a finite set D.

• A valuation for V is a function that associated a value in D with each variable v in V. Thus, s is a valuation for V when s: V D.

• A state of a concurrent system can be viewed as a valuation for the set of its variables V.

• Let V’ = {v’1, …, v’n}. We think of the variables in V as present state variables and the variables in V’ as next state variables.

Page 23: Semantically Equivalent Formulas

First order representationof Kipke structures

Let M = (S, S0, R, L) be a Kripke structure.• S is the set of all valuations for all variables of the system which can

be described by a proposition S. Usually, S = True.• The set of initial states S0 can be described by a proposition (on the

set of variables) S0.

• R can be described by a proposition R such that for any two states s and s’, R(s, s’) holds if R evaluates to True when each variable v is assigned the value s(v) and each variable v’ is assigned the value s(v’).

• The labeling function L:S 2AP is defined so that L(s) is the subset of all atomic propositions true in s which can be described by some appropriate proposition.

Page 24: Semantically Equivalent Formulas

A simple example

We consider a simple system with variables x and y that range

over D = {0, 1}. Thus, a valuation for the variables x and y is

just a pair (d1, d2) D × D where d1 is the value for x and d2 is

the value for y. The system consists of one transition

x := (x +y) mod 2,

Which starts from the state in which x = 1 and y = 1.

Page 25: Semantically Equivalent Formulas

A simple example with transition x := (x +y) mod 2

• S = True

• S0 (x, y) ≡ x = 1 y = 1

• R (x, y, x’, y’) ≡ x’ = (x +y) mod 2 y’ = y

Page 26: Semantically Equivalent Formulas

A simple example with transition x := (x +y) mod 2

The Kripke structure M = (S, S0, R, L) for this system is simply:

• S = D × D.

• S0 = {(1,1)}

• R = {((1,1), (0,1)), ((0,1), (1,1)), ((1,0), (1,0)), ((0,0), (0,0))}.• L(1,1) = {x =1, y = 1}, L(0,1) = {x =0, y = 1}, L(1,0) = {x =1, y = 0},

L(0,0) = {x =0, y = 0}.

The only path in the Kripke structure that starts in the initial state is

(1,1) (0,1) (1,1) (0,1) ….

Page 27: Semantically Equivalent Formulas

Concurrent systems

• A concurrent system consists of a set of components that execute together.

• Normally, the components have some means of communicating with each other.

Page 28: Semantically Equivalent Formulas

Modes of execution

We will consider two modes of execution: Asynchronous or interleaved execution, in which only one component makes a step at a time, and synchronous execution, in which all of the components make a step at the same time

Page 29: Semantically Equivalent Formulas

Modes of communication

• We will also distinguish three modes of communication. Components can either communicate by changing the value of shared variables or by exchanging messages using queues or some handshaking protocols.

Page 30: Semantically Equivalent Formulas

A modulo 8 counter

v2 v1

v0

Page 31: Semantically Equivalent Formulas

Synchronous circuitA modulo 8 counter

The transitions of the circuit are given by

• v’0 = v0

• v’1 = v0 v1

• v’2 = (v0 v1) v2

• R0 (v, v’) ≡ (v’0 ↔ v0)

• R1 (v, v’) ≡ (v’1 ↔ v0 v1)

• R2 (v, v’) ≡ (v’2 ↔ (v0 v1) v2)

• R (v, v’) ≡ R0 (v, v’) R1 (v, v’) R2 (v, v’)

Page 32: Semantically Equivalent Formulas

Synchronous circuitGeneral case

• Let V = {v0, …., vn-1} and V’ = {v’0, …., v’n-1}• Let v’i = fi (V), 1= 0, …, n-1.• Define Ri (v, v’) ≡ ( v’i ↔ fi (V)).• Then, the transition relation can be

described as

R (v, v’) ≡ R0 (v, v’) … Rn-1 (v, v’).

Page 33: Semantically Equivalent Formulas

Asynchronous circuitGeneral case

• In this case, the transition relation can be described as

R (v, v’) ≡ R0 (v, v’) … Rn-1 (v, v’),

Where

Ri (v, v’) ≡ ( v’i ↔ fi (V)) j ≠ i (v’j ↔ vj )).

Page 34: Semantically Equivalent Formulas

Example

• Let V = {v0, v1}, v’0 = v0 v1 and v’1 = v0 v1.• Let s be a state with v0 = 1 v1 = 1.• For the synchronous model, the only

successor of s is the state v0 = 0 v1 = 0.• For the asynchronous model, the state s has

two successors:• 1. v0 = 0 v1 = 1 ( the assignment to v0 is

taken first).• 2. v0 = 1 v1 = 0 ( the assignment to v1 is

taken first).

Page 35: Semantically Equivalent Formulas

Labeled program

Given a statement P, the labeled statement PL is defined as follows:

• If P is not a composite statement then P = PL. .

• If P = P1; P2 then PL = P1L ; l’’ : P2

L.

• If P = if b then P1 else P2 end if, then

PL = if b then l1 : P1L else l2 : P2

L end if.

• If P = while b do P1 end while, then PL = while b do l1 : P1

L end while.

Page 36: Semantically Equivalent Formulas

Some assumptions

• We assume that P is a labeled statement and that the entry and exit points of P are labeled by m and m’, respectively.

• Let pc be a special variable called the program counter that ranges over the set of program labels and an additional value ┴ called the undefined value.

• Let V denote the set of program variables, V’ the set of primed variables for V, and pc’ the primed variables for pc.

• Let same (Y) = y ε Y (y’ = y).

Page 37: Semantically Equivalent Formulas

The set of initial states of P

• Given some condition pre (V) on the initial variables for P,

S0 (V, pc) ≡ pre (V) pc = m.

Page 38: Semantically Equivalent Formulas

The transition relation for P

• C (l, P, l’) describes the set of transitions in P as a disjunction of all transitions in the set.

• Assignment:

C ( l, v ← e, l’) ≡ pc = l pc’ = l’ v’ = e same (V \ {v})• Skip:

C ( l, skip, l’) ≡ pc = l pc’ = l’ same (V)• Sequential composition:

C ( l, P1; l’’ : P2, l’) ≡ C ( l, P1, l’’) C ( l’’, P2, l’)

Page 39: Semantically Equivalent Formulas

The transition relation for P (continued)

• Conditional:

C (l, if b then l1: P1 else l2 : P2 end if, l’) is the disjunction of the following formulas:

• pc = l pc’ = l1 b same (V)

• pc = l pc’ = l2 b same (V)

• C (l1, P1, l’)

• C (l2, P2, l’)

Page 40: Semantically Equivalent Formulas

The transition relation for P (continued)

• While:

C (l, while b do l1 : P1 end while, l’) is the disjunction of the following formulas:

• pc = l pc’ = l1 b same (V)

• pc = l pc’ = l’ b same (V)

• C (l1, P1, l)

Page 41: Semantically Equivalent Formulas

Concurrent programs

• A concurrent program consists of a set of processes that can be executed in parallel. A process is a sequential program.

• Let Vi be the set of variables that can be changed by process Pi. V is the set of all program variables.

• pci is the program counter of process Pi. PC is the set of all program counters.

• A concurrent program has the form

cobegin P1 || P2 … || Pn coend

where P1, …, Pn are processes.

Page 42: Semantically Equivalent Formulas

Labeling transformation

• We assume that no two labels are identical and that the entry and exit points of P are labeled m and m’, respectively.

• If P = cobegin P1 || P2 … || Pn coend, then

PL = cobegin l1 : P1L

l’1 || l2 : P2L l’2 || … || ln : Pn

L l’n coend.

Page 43: Semantically Equivalent Formulas

The set of initial states of P

S0 (V, pc) ≡ pre (V) pc = m i = 1, … n (pci = ┴ )

Page 44: Semantically Equivalent Formulas

The transition relation for P

C (l, cobegin l1 : P1L

l’1 || … || ln : PnL l’n coend, l’)

Is the disjunction of three formulas:

• pc = l pc’1 = l1 … pc’n = ln pc’ = ┴

• pc = ┴ pc1 = l’1 … pcn = l’n pc’ = l’ i = 1, … n (pc’i = ┴)

• i = 1, … n (C (li, Pi, l’i) (same (V \ Vi) same (PC \ {pci}))

Page 45: Semantically Equivalent Formulas

Shared variables

• Wait: C (l, wait (b), l’) is a disjunction of the following two formulas:• (pci = l pc’i = l b same (Vi))• (pci = l pc’i = l’ b same (Vi))

• Lock (v) (= wait (v = 0)): C (l, lock (v), l’) is a disjunction of the following two formulas:• (pci = l pc’i = l v = 1 same (Vi))• (pci = l pc’i = l’ v = 0 v’ = 1 same (Vi \ {v}))

• Unlock (v): C (l, unlock (v), l’) ≡ pci = l pc’i = l’ v’ = 0 same (Vi \ {v})

Page 46: Semantically Equivalent Formulas

A simple mutual exclusion programP = m: cobegin P0 || P1 coend m’

P0 :: l0 : while True do

NC0 : wait (turn = 0);

CR0 : turn :=1;

end while;

l’0P1 :: l1 : while True do

NC1 : wait (turn = 1);

CR1 : turn := 0;

end while;

l’1

Page 47: Semantically Equivalent Formulas

Kripke structure

• pc takes values in the set { m, m’, ┴ }.

• pci takes values in the set { li, l’i, NCi, CRi, ┴ }.

• V = V0 = V1 = {turn}.

• PC = {pc, pc0, pc1}.

Page 48: Semantically Equivalent Formulas

The set of initial states of P

• S0 (V, PC) ≡ pc = m pc0 = ┴ pc1 = ┴.

Page 49: Semantically Equivalent Formulas

The transition relation for P

• R (V, PC, V’, PC’) is the disjunction of the following four formulas:

• pc = m pc’0 = l0 pc’1 = l1 pc’ = ┴.

• pc0 = l’0 pc1 = l’1 pc’ = m’ pc’0 = ┴ pc’1 = ┴.

• C (l0, P0, l’0) same (pc, pc1).

• C (l1, P1, l’1) same (pc, pc0).

Page 50: Semantically Equivalent Formulas

The transition relation of Pi

For each process Pi, C (li, Pi, l’i) is the disjunction of:

• pci = li pc’i = NCi True same (turn)

• pci = NCi pc’i = CRi turn = i same (turn)

• pci = CRi pc’i = li turn’ = (i+1) mod 2

• pci = NCi pc’i = NCi turn ≠ i same (turn)

• pci = li pc’i = l’i False same (turn)

Page 51: Semantically Equivalent Formulas

turn = 0CR1, NC0

turn = 0CR0, NC1

turn = 1CR1, l0

turn = 0┴, ┴

turn = 1┴, ┴

turn = 1NC0, NC1

turn = 1l1, NC0

turn = 1l0, NC1

turn = 1l0, l1

turn = 0l1, NC0

turn = 0l0, l1

turn = 0NC0, NC1

turn = 0CR0, l1

turn = 0l0, NC1

Page 52: Semantically Equivalent Formulas

Syntax of Computational Tree Logic (CTL)

Φ ::= ┴ | T | p | (¬Φ) | (Φ Φ) | (Φ Φ) |

(Φ → Φ) | AX Φ | EX Φ | A[Φ U Φ] |

E[Φ U Φ] | AG Φ | EG Φ | AF Φ | EG Φ

where p ranges over atomic formulas.

Page 53: Semantically Equivalent Formulas

Convention

• The unary connectives (consisting of ¬ and the temporal connectives AG, EG, AF, AX and EX) bind most tightly. Next in the order come and ; and after that come → , AU and EU.

Page 54: Semantically Equivalent Formulas

Some examples of well-formed CTL formulas

• (EG r)• AG (q → EG r)• (AG q) → (EG r)• EF E[r U q]• A[p U EF r]• EF EG p → AF r• (EF EG p) → AF r• EF EG (p → AF r)

Page 55: Semantically Equivalent Formulas

Some examples of not well-formed CTL formulas

• FG r

• A ¬G¬p

• F[r U q]

• EF (r U q)

• AEF r

• AF [(r U q) (p U q)]

Page 56: Semantically Equivalent Formulas

CTL Subformulas

• Definition: A subformula of a CTL formula Φ is any formula ψ whose parse tree is a subtree of Φ‘s parse tree.

Page 57: Semantically Equivalent Formulas

The parse tree for A[AX ¬p U E[EX (p q) U ¬p]]

AU

AX EU

EX ¬¬

p p

p q

Page 58: Semantically Equivalent Formulas

Semantics of Computational Tree Logic (CTL)

• Let M = (S, R, L) be a Kripke structure. Given any state s in S, we define whether a CTL formula Φ holds in state s. We denote this by

M, s ╞ Φ,

where ╞ is the satisfaction relation.

Page 59: Semantically Equivalent Formulas

The satisfaction relation ╞ is defined by structural induction on all CTL formulas:

• M, s ╞ T and ¬(M, s ╞ ┴) for all s ε S.• M, s ╞ p iff p ε L(s).• M, s ╞ ¬Φ iff ¬(M, s ╞ Φ).

• M, s ╞ Φ1 Φ2 iff M, s ╞ Φ1 and M, s ╞ Φ2.

• M, s ╞ Φ1 Φ2 iff M, s ╞ Φ1 or M, s ╞ Φ2.

• M, s ╞ Φ1 → Φ2 iff ¬(M, s ╞ Φ1) or M, s ╞ Φ2.

• M, s ╞ AX Φ iff for all s1 such that (s, s1) ε R, we have M, s1 ╞ Φ . Thus, AX says: ‘in every next state’.

• M, s ╞ EX Φ iff for some s1 such that (s, s1) ε R, we have M, s1 ╞ Φ . Thus, EX says: ‘in some next state’.

Page 60: Semantically Equivalent Formulas

The satisfaction relation ╞ is defined by structural induction on all CTL formulas: (continued)

• M, s ╞ AG Φ iff for all paths s1 s2 s3 … where s1 equals s, and all si along the path, we have such that (si, si+1) ε R, we have M, si ╞ Φ . Thus, AG says: ‘for all computation paths beginning s the property Φ holds globally’.

• M, s ╞ EG Φ iff there is a path s1 s2 s3 … where s1 equals s, and all si along the path, we have such that (s, s1) ε R, we have M, si ╞ Φ . Thus, AG says: ‘there exists a computation path beginning s such that Φ holds globally along the path’.

• M, s ╞ AF Φ iff for all paths s1 s2 s3 … where s1 equals s, there is some si such that M, si ╞ Φ. Thus, AF says: ‘for all computation paths beginning in s there will be some future state where Φ holds’.

Page 61: Semantically Equivalent Formulas

The satisfaction relation ╞ is defined by structural induction on all CTL formulas: (continued)

• M, s ╞ EF Φ iff there is a path s1 s2 s3 … where s1 equals s, and for some si along the path, we have M, si ╞ Φ. Thus, EF says: ‘there exists a computation path beginning in s such that Φ holds in some future state’.

• M, s ╞ A[Φ1 U Φ2] iff for all paths s1 s2 s3 … where s1 equals s, that path satisfies Φ1 U Φ2, i.e., there is some si along the path, such that

M, si ╞ Φ2, and, for each j < i, we have M, sj╞ Φ1. Thus, A[Φ1 U Φ2] says: ‘all computation paths beginning in s satisfy that Φ1 until Φ2 holds on it’.

• M, s ╞ E[Φ1 U Φ2] iff there is a path s1 s2 s3 … where s1 equals s, and that path satisfies Φ1 U Φ2, i.e., there is some sj along the path, such that M, si ╞ Φ2, and, for each j < i, we have M, sj ╞ Φ1. Thus, E[Φ1 U Φ2] says: ‘there exists a computation path beginning in s such that Φ1 until Φ2 holds on it’.

Page 62: Semantically Equivalent Formulas

A system whose starting state satisfies EF Φ

Φ

Page 63: Semantically Equivalent Formulas

A system whose starting state satisfies EG Φ

Φ

Φ

Φ

Page 64: Semantically Equivalent Formulas

A system whose starting state satisfies AG Φ

Φ

Φ

Φ

Φ

Φ

ΦΦ

Φ

Φ

Φ

Page 65: Semantically Equivalent Formulas

A system whose starting state satisfies AF Φ

Φ ΦΦ

Φ

Φ

Page 66: Semantically Equivalent Formulas

Some examples for the following system M:

• M, s0 ╞ p q• M, s0 ╞ ¬r• M, s0 ╞ T• M, s0 ╞ EX (q r)• M, s0 ╞ ¬AX (q r)• M, s0 ╞ ¬EF (p r)• M, s2 ╞ EG r• M, s2 ╞ AG r• M, s0 ╞ AF r• M, s0 ╞ E[(p q) U r]• M, s0 ╞ A[p U r]

p, q

q, r r

s0

s1 s2

Page 67: Semantically Equivalent Formulas

Other examples for CTL logic

• It is possible to get a state where started holds but ready does not hold: EF (started ¬ready)

• For any state, if a request (of some resource) occurs, then it will eventually be acknowledged:

AG (requested → AF acknowledged)• A certain process is enabled indefinitely often on every computation

path:

AG (AF enabled)• Whatever happens, a certain process will eventually be permanently

deadlocked: AF (AG deadlocked)

Page 68: Semantically Equivalent Formulas

Other examples for CTL logic (continued)

• From any state it is possible to get a restart state: AG (EF restart)• An upwards traveling elevator at the second floor does not change

its direction when it has passengers wishing to go to the fifth floor:

AG (floor=2 direction=up ButtonPressed5 → A[direction=up U floor=5])

• The elevator can remain idle on the third floor with its doors closed:

AG (floor=3 idle door=closed → EG (floor=3 idle door=closed))

Page 69: Semantically Equivalent Formulas

Semantically equivalent CTL formulas

• Definition: Two CTL formulas Φ and ψ are said to be semantically equivalent if any state in any Kripke structure which satisfies one of them also satisfies the other; we denote this by Φ ≡ ψ.

Page 70: Semantically Equivalent Formulas

Important equivalences between CTL formulas

• ¬AF Φ ≡ EG ¬Φ

• ¬EF Φ ≡ AG ¬Φ

• ¬AX Φ ≡ EX ¬Φ

• AF Φ ≡ A[T U Φ]

• EF Φ ≡ E[T U Φ]

• A[p U q] ≡ ¬(E[¬q U (¬p ¬q)] EG ¬q)

Page 71: Semantically Equivalent Formulas

Theorem:

• The set of operators ┴, ¬ and together with AF, EU and EX are adequate for CTL: any CTL formula can be transformed into a semantically equivalent CTL formula which uses only those logical connectives.

Page 72: Semantically Equivalent Formulas

Other interesting equivalences

• AG Φ ≡ Φ AX AG Φ

• EG Φ ≡ Φ EX EG Φ

• AF Φ ≡ Φ AX AF Φ

• EF Φ ≡ Φ EX EF Φ

• A[Φ U ψ] ≡ ψ (Φ AX A[Φ U ψ])

• E[Φ U ψ] ≡ ψ (Φ EX E[Φ U ψ])

Page 73: Semantically Equivalent Formulas

Example: mutual exclusion

• When concurrent processes share a resource, it may be necessary to ensure that they do not have access to it at the same time.

• We therefore identify certain critical sections of each process code and arrange that only one process can be in its critical section at a time.

• The problem we are faced with is to find a protocol for determining which process is allowed to enter its critical section at which time.

Page 74: Semantically Equivalent Formulas

Some expected properties for mutual exclusion

• Safety: The protocol allows only one process to be in its critical section at a time.

• Liveness: Whenever any process wants to enter its critical section, it will eventually be permitted to do so.

• Non-blocking: A process can always request to enter its critical section.

• No strict sequencing: Processes need not enter their critical section in strict sequence.

Page 75: Semantically Equivalent Formulas

A simple example of two processes

• n = a process is in a non-critical state

• t = a process tries to enter in its critical section

• c = a process is in its critical section

Page 76: Semantically Equivalent Formulas

A first-attempt model for mutual exclusion

n1n2

n1t2t1n2

t1t2

c1n2n1c2

t1c2c1t2

s0

s1 s5

s2 s3

s4 s7

s6

Page 77: Semantically Equivalent Formulas

CTL formulas for the system properties

• Safety: Φ1 = AG ¬(c1 c2). (o.k.)

• Liveness: Φ2 = AG (t1 → AF c1). (not o.k.)

because there exists a computation path, namely, s1 → s3 → s7 → s1 →… on which c1 is always false.

• Non-blocking: Φ3= AG (n1 → EX t1). (o.k.)

• No strict sequencing: EF (c1 E[c1 U (¬c1 E[¬c2 U c1])]). (o.k.)

Page 78: Semantically Equivalent Formulas

A second-attempt model for mutual exclusion

n1n2

n1t2t1n2

t1t2c1n2n1c2

t1c2c1t2

s0

s1 s5

s2s3

s4 s7

s6

t1t2

s9

Page 79: Semantically Equivalent Formulas

Syntax of Linear-time temporal logic (LTL)

• Definition: Linear-time temporal logic (LTL) has the following syntax given in Backus Naur form

Φ ::= p | (¬Φ) | (Φ Φ) | (Φ U Φ) | (G Φ)| (F Φ)| (X Φ) where p is any propositional atom.

Page 80: Semantically Equivalent Formulas

Semantics of Linear Tree Logic (LTL)

• Let M = (S, R, L) be a Kripke structure. Given a path σ = s1 s2 s3 … in M, where s1 is the initial state, and for all si along the path, such that (si, si+1) ε R, we define whether a LTL formula Φ holds in the path σ denoted as

M, σ ╞ Φ,

where ╞ is the satisfaction relation.

• Let σi = si si+1 ... denote the suffix of σ starting at si.

Page 81: Semantically Equivalent Formulas

The satisfaction relation ╞ is defined by structural induction on all of LTL formulas:

• M, σ ╞ T and ¬(M, s ╞ ┴) for all s ε S.

• M, σ ╞ p iff p ε L(s1).

• M, σ ╞ ¬Φ iff ¬(M, σ ╞ Φ).

• M, σ ╞ Φ1 Φ2 iff M, σ ╞ Φ1 and M, σ ╞ Φ2.

• M, σ ╞ X Φ iff M, σ2 ╞ Φ, • M, σ ╞ G Φ iff, for all i ≥ 1, M, σi ╞ Φ,• M, σ ╞ F Φ iff, for some i ≥ 1, M, σi ╞ Φ,• M, σ ╞ Φ U ψ iff, there is some i ≥ 1 such that M, σi ╞ ψ

and for all j = 1 … i-1 we have M, σj ╞ Φ.

Page 82: Semantically Equivalent Formulas

Semantically equivalent LTL formulas

• Definition: Two LTL formulas Ф and ψ are semantically equivalent, writing as Ф ≡ ψ, if they are true for the same paths in each model. An LTL formula Ф is satisfied in a state s of a model if Ф is satisfied in every path starting at s.

Page 83: Semantically Equivalent Formulas

Some semantically equivalent LTL formulas

• G Ф ≡ ¬F ¬Ф

• F Ф ≡ ¬G ¬Ф

• F(Ф ψ) ≡ F Ф F ψ

• G(Ф ψ) ≡ G Ф G ψ

• Ф U ψ ≡ ¬(¬ ψ U (¬Ф ¬ψ)) F ψ

Page 84: Semantically Equivalent Formulas

Syntax of CTL*

The CTL* formulas are divided into two classes:• state formulas, which are evaluated in states:

Φ ::= p | T | (¬Φ) | (Φ Φ) | A[α] | E[α],• path formulas, which are evaluated along paths:

α ::= Φ | (¬α) | (α α) | (α U α) | (G α) | (F α) | (X α)

where Φ is any state formula.

Page 85: Semantically Equivalent Formulas

LTL and CTL as subsets of CTL*

• Although the syntax of LTL does not include A and E, the semantic viewpoint of LTL is that we consider all paths. Therefore, the LTL formula α is equivalent to the CTL* formula A[α]

• CTL is the fragment of CTL* in which we restrict the form of path formulas to

α ::= (Φ U Φ) | (G Φ) | (F Φ) | (X Φ).

Page 86: Semantically Equivalent Formulas

Example of in CTL but not in LTL: ψ1 = AG EF p

• Whenever we have got to, we can always get back to a state in which p is true. This is useful, e.g., in finding deadlocks in protocols.

M M’s t s

¬p p ¬p

Page 87: Semantically Equivalent Formulas

Example of in CTL*, but neither in CTL nor in LTL: ψ2 = E[GF p]

• Saying, there is a path with infinitely many p.

Page 88: Semantically Equivalent Formulas

Example of in LTL but not in CTL: ψ3 = AG (p → F q)

• Saying that if there are infinitely many p along the path, then there is an occurrence of q.

• This is an interesting thing to be able to say,; for example, many fairness constraints are of the form ‘infinitely often requested implies eventually acknowledged’.

Page 89: Semantically Equivalent Formulas

Example of in LTL and CTL: ψ4 = AG (p → AF q) in CTL, or G (p → F q) in LTL

• Saying, any p is eventually followed by a q.

Page 90: Semantically Equivalent Formulas

Example

• G p and AF AG p are not semantically equivalent, since FG p is satisfied, whereas AF AG p is not satisfied, in the model

p ¬p p

Page 91: Semantically Equivalent Formulas

weak until W

• The formula A[p W q] is true in a state if, along all paths from that state, p is true from the present state until the first state in which q is true, if any. In particular, if there is no q state on a path, then p needs to hold for all states of that path.

Page 92: Semantically Equivalent Formulas

weak until W (continued)

• In LTL and CTL*, weak Until may be defined in terms of the ordinary Until, as follows:

p W q ≡ (p U q) G p• For CTL, we have:

E[p W q] ≡ E[p U q] EG p

A[p W q] ≡ ¬E[¬q U ¬(p q)]