Formal Verifjcation Lecture 2: Linear Temporal Logic Jacques - - PowerPoint PPT Presentation

formal verifjcation lecture 2 linear temporal logic
SMART_READER_LITE
LIVE PREVIEW

Formal Verifjcation Lecture 2: Linear Temporal Logic Jacques - - PowerPoint PPT Presentation

Formal Verifjcation Lecture 2: Linear Temporal Logic Jacques Fleuriot jdf@inf.ed.ac.uk Recap Previously: Model Checking, and an informal introduction to LTL Tiis time: Linear Temporal Logic Syntax Semantics Equivalences


slide-1
SLIDE 1

Formal Verifjcation Lecture 2: Linear Temporal Logic

Jacques Fleuriot jdf@inf.ed.ac.uk

slide-2
SLIDE 2

Recap

▶ Previously:

▶ Model Checking, and an informal introduction to LTL

▶ Tiis time: Linear Temporal Logic

▶ Syntax ▶ Semantics ▶ Equivalences

slide-3
SLIDE 3

LTL – Syntax

LTL = Linear(-time) Temporal Logic Assume some set Atom of atomic propositions Syntax of LTL formulas φ: φ ::= p | ¬φ | φ ∨ φ | φ ∧ φ | φ → φ | Xφ | Fφ | Gφ | φUφ where p ∈ Atom. Pronunciation:

▶ Xφ — neXt φ ▶ Fφ — Future φ ▶ Gφ — Globally φ ▶ φUψ — φ Until ψ

Other common connectives: W (weak until), R (release). Precedence high-to-low: (X, F, G, ¬), (U), (∧, ∨), →.

▶ E.g. Write Fp ∧ Gq → p U r instead of ((Fp) ∧ (Gq)) → (p U r).

slide-4
SLIDE 4

LTL – Informal Semantics

LTL formulas are evaluated at a position i along a path π through the system (a path is a sequence of states connected by transitions)

▶ An atomic p holds if p is true the state at position i. ▶ Tie propositional connectives ¬, ∧, ∨, → have their usual

meanings.

▶ Meaning of LTL connectives:

▶ Xφ holds if φ holds at the next position; ▶ Fφ holds if there exists a future position where φ holds; ▶ Gφ holds if, for all future positions, φ holds; ▶ φUψ holds if there is a future position where ψ holds, and φ

holds for all positions prior to that.

▶ φRψ holds if there is a future position where φ becomes true,

and ψ holds for all positions prior to and including that i.e. φ ‘releases’ ψ.

▶ It is equivalent to ¬(¬φU¬ψ). ▶ Tius R is the dual of U.

Tiis will be made more formal in the next few slides.

slide-5
SLIDE 5

LTL – Formal Semantics: Transition Systems and Paths

Defjnition (Transition System) A transition system (or model) M = ⟨S, →, L⟩ consists of: S a fjnite set of states → ⊆ S × S transition relation L : S → P(Atom) a labelling function such that ∀s1 ∈ S. ∃s2 ∈ S. s1 → s2 Note: Atom is a fjxed set of atomic propositions, P(Atom) is the powerset of Atom. Tius, L(s) is just the set of atomic propositions that is true in state s. Defjnition (Path) A path π in a transition system M = ⟨S, →, L⟩ is an infjnite sequence of states s0, s1, ... such that ∀i ≥ 0. si → si+1. Paths are writuen as: π = s0 → s1 → s2 → ...

slide-6
SLIDE 6

LTL – Formal Semantics: Satisfaction by Path

Satisfaction: π | =i φ — “path at position i satisfjes formula φ” π | =i ⊤ π ̸| =i ⊥ π | =i p ifg p ∈ L(si) π | =i ¬φ ifg π ̸| =i φ π | =i φ ∧ ψ ifg π | =i φ and π | =i ψ π | =i φ ∨ ψ ifg π | =i φ or π | =i ψ π | =i φ → ψ ifg π | =i φ implies π | =i ψ π | =i X φ ifg π | =i+1 φ π | =i F φ ifg ∃j ≥ i. π | =j φ π | =i G φ ifg ∀j ≥ i. π | =j φ π | =i φ1 U φ2 ifg ∃j ≥ i. π | =j φ2 and ∀k ∈ {i..j − 1}. π | =k φ1 π | =i φ1 R φ2 ifg (∀j ≥ i. π | =j φ2) or (∃j ≥ i. π | =j φ1 and ∀k ∈ {i..j}. π | =k φ2)

slide-7
SLIDE 7

LTL – Formal Semantics: Alternative Satisfaction by Path

Alternatively, we can defjne π | = φ using the notion of ith suffjx πi = si → si+1 → ... of a path π = s0 → s1 → .... For example, the alternative defjnition of satisfaction for G would be: π | = G φ ifg ∀j ≥ 0. πj | = φ instead of π | =0 G φ ifg ∀j ≥ 0. π | =j φ Satisfaction in terms of | = for the other connectives is lefu as an exercise.

▶ π |

=i φ is betuer for understanding, and needed for past-time

  • perators.

▶ π |

= φ is needed for the semantics of branching-time logics, like CTL.

slide-8
SLIDE 8

LTL Semantics: Satisfaction by a Model

For a model M, we write M, s | = φ if, for every execution path π ∈ M starting at state s, we have π | =0 φ

slide-9
SLIDE 9

A Taste of LTL – Examples

  • 1. π |

=i G invariant invariant is true for all future positions ∀j ≥ i. π | =j invariant ∀j ≥ i. invariant ∈ L(sj) 2. =i G read write In all future positions, it is not the case that read and write j i read L sj write L sj 3. =i G request Fgrant At every position in the future, a request implies that there exists a future point where grant holds. j i request L sj implies k j grant L sk . 4. =i G request request U grant At every position in the future, a request implies that there exists a future point where grant holds, and request holds up until that point. j i request L sj implies k j grant L sk and l j k request L sl .

slide-10
SLIDE 10

A Taste of LTL – Examples

  • 1. π |

=i G invariant invariant is true for all future positions ∀j ≥ i. π | =j invariant ∀j ≥ i. invariant ∈ L(sj)

  • 2. π |

=i G ¬(read ∧ write) In all future positions, it is not the case that read and write ∀j ≥ i. read ̸∈ L(sj) ∨ write ̸∈ L(sj) 3. =i G request Fgrant At every position in the future, a request implies that there exists a future point where grant holds. j i request L sj implies k j grant L sk . 4. =i G request request U grant At every position in the future, a request implies that there exists a future point where grant holds, and request holds up until that point. j i request L sj implies k j grant L sk and l j k request L sl .

slide-11
SLIDE 11

A Taste of LTL – Examples

  • 1. π |

=i G invariant invariant is true for all future positions ∀j ≥ i. π | =j invariant ∀j ≥ i. invariant ∈ L(sj)

  • 2. π |

=i G ¬(read ∧ write) In all future positions, it is not the case that read and write ∀j ≥ i. read ̸∈ L(sj) ∨ write ̸∈ L(sj)

  • 3. π |

=i G(request → Fgrant) At every position in the future, a request implies that there exists a future point where grant holds. ∀j ≥ i. request ∈ L(sj) implies ∃k ≥ j. grant ∈ L(sk). 4. =i G request request U grant At every position in the future, a request implies that there exists a future point where grant holds, and request holds up until that point. j i request L sj implies k j grant L sk and l j k request L sl .

slide-12
SLIDE 12

A Taste of LTL – Examples

  • 1. π |

=i G invariant invariant is true for all future positions ∀j ≥ i. π | =j invariant ∀j ≥ i. invariant ∈ L(sj)

  • 2. π |

=i G ¬(read ∧ write) In all future positions, it is not the case that read and write ∀j ≥ i. read ̸∈ L(sj) ∨ write ̸∈ L(sj)

  • 3. π |

=i G(request → Fgrant) At every position in the future, a request implies that there exists a future point where grant holds. ∀j ≥ i. request ∈ L(sj) implies ∃k ≥ j. grant ∈ L(sk).

  • 4. π |

=i G(request → (request U grant)) At every position in the future, a request implies that there exists a future point where grant holds, and request holds up until that point. ∀j ≥ i. request ∈ L(sj) implies ∃k ≥ j. grant ∈ L(sk) and ∀l ∈ {j, k − 1}. request ∈ L(sl).

slide-13
SLIDE 13

LTL Equivalences 1

φ ≡ ψ

·

= ∀M.∀π ∈ M.∀i. π | =i φ ↔ π | =i ψ Dualities from Propositional Logic: Dualities from LTL: X X G F F G U R R U Distributive laws: G G G F F F

slide-14
SLIDE 14

LTL Equivalences 1

φ ≡ ψ

·

= ∀M.∀π ∈ M.∀i. π | =i φ ↔ π | =i ψ Dualities from Propositional Logic: ¬(φ ∧ ψ) ≡ ¬φ ∨ ¬ψ ¬(φ ∨ ψ) ≡ ¬φ ∧ ¬ψ Dualities from LTL: X X G F F G U R R U Distributive laws: G G G F F F

slide-15
SLIDE 15

LTL Equivalences 1

φ ≡ ψ

·

= ∀M.∀π ∈ M.∀i. π | =i φ ↔ π | =i ψ Dualities from Propositional Logic: ¬(φ ∧ ψ) ≡ ¬φ ∨ ¬ψ ¬(φ ∨ ψ) ≡ ¬φ ∧ ¬ψ Dualities from LTL: ¬Xφ ≡ X¬φ ¬Gφ ≡ F¬φ ¬Fφ ≡ G¬φ ¬(φ U ψ) ≡ ¬φ R ¬ψ ¬(φ R ψ) ≡ ¬φ U ¬ψ Distributive laws: G G G F F F

slide-16
SLIDE 16

LTL Equivalences 1

φ ≡ ψ

·

= ∀M.∀π ∈ M.∀i. π | =i φ ↔ π | =i ψ Dualities from Propositional Logic: ¬(φ ∧ ψ) ≡ ¬φ ∨ ¬ψ ¬(φ ∨ ψ) ≡ ¬φ ∧ ¬ψ Dualities from LTL: ¬Xφ ≡ X¬φ ¬Gφ ≡ F¬φ ¬Fφ ≡ G¬φ ¬(φ U ψ) ≡ ¬φ R ¬ψ ¬(φ R ψ) ≡ ¬φ U ¬ψ Distributive laws: G(φ ∧ ψ) ≡ Gφ ∧ Gψ F(φ ∨ ψ) ≡ Fφ ∨ Fψ

slide-17
SLIDE 17

LTL Equivalences 2

Inter-defjnitions: Fφ ≡ ¬G¬φ Gφ ≡ ¬F¬φ Fφ ≡ ⊤ U φ Gφ ≡ ⊥ R φ Idempotency: FF F GG G Weak and strong until: W U G U W F Some more surprising equivalences: GFG FG FGF GF G F F GF GF

slide-18
SLIDE 18

LTL Equivalences 2

Inter-defjnitions: Fφ ≡ ¬G¬φ Gφ ≡ ¬F¬φ Fφ ≡ ⊤ U φ Gφ ≡ ⊥ R φ Idempotency: FFφ ≡ Fφ GGφ ≡ Gφ Weak and strong until: W U G U W F Some more surprising equivalences: GFG FG FGF GF G F F GF GF

slide-19
SLIDE 19

LTL Equivalences 2

Inter-defjnitions: Fφ ≡ ¬G¬φ Gφ ≡ ¬F¬φ Fφ ≡ ⊤ U φ Gφ ≡ ⊥ R φ Idempotency: FFφ ≡ Fφ GGφ ≡ Gφ Weak and strong until: φ W ψ ≡ φ U ψ ∨ Gφ φ U ψ ≡ φ W ψ ∧ Fψ Some more surprising equivalences: GFG FG FGF GF G F F GF GF

slide-20
SLIDE 20

LTL Equivalences 2

Inter-defjnitions: Fφ ≡ ¬G¬φ Gφ ≡ ¬F¬φ Fφ ≡ ⊤ U φ Gφ ≡ ⊥ R φ Idempotency: FFφ ≡ Fφ GGφ ≡ Gφ Weak and strong until: φ W ψ ≡ φ U ψ ∨ Gφ φ U ψ ≡ φ W ψ ∧ Fψ Some more surprising equivalences: GFGφ ≡ FGφ FGFφ ≡ GFφ G(Fφ ∨ Fψ) ≡ GFφ ∨ GFψ

slide-21
SLIDE 21

Summary

▶ Introduction to Model Checking (H&R 3.2)

▶ Semantics of LTL

▶ Next time:

▶ Introduction to NuSMV