III.1 Introduction

System behaviour [Slide 49]

We need a logic to rigorously describe the behaviour of systems. What is a behaviour?

Example 7.

Typical week in August in England:

☼, ⛈, ⛈, ☼, ☼, ⛈, ⛈☺, ☹, ☹, ☺, ☺, ☹, ☹

Let

R ≜⛈,¬R ≜☼,B ≜ ☺,¬B ≜ ☹.

Then we have following behaviour

●
●
●
●
●
●
●
       
¬R, B
R, ¬B
R, ¬B
¬R, B
¬R, B
R, ¬B
R, ¬B

System behaviour [Slide 50]

System behaviour [Slide 51]

How to formally describe/specify a behaviour of a system?

Skip [Slide 52]

skip

any sequence (interval) of exactly two states (snapshots)

●
●

One can combine skip with a Boolean operator for example:

Propositional Formula [Slide 53]

What if you only got Q as formula?

What if the formula is just true?

Chop [Slide 54]

; (chop)

concatenate (fuse) two intervals together such that the last state of the first interval is the same as first state of the second interval.

Example 8.  

skip ; skip

skip :
●
●
skip :
●
●
skip ; skip :
●
●
●

Next [Slide 55]

(Next)

f holds from the next state onwards, f ≜skip ; f.

Example 9.  

(Q ∧skip) using the definition: skip ; (Q ∧skip)

skip :
●
●
Q ∧skip :
●
●
Q
skip ; (Q ∧skip) :
●
●
●
Q

More and Empty [Slide 56]

more

interval with at least two states, more ≜ true.

empty

interval with only one state, empty ≜ ¬more.

Weak Next [Slide 57]

(Weak Next)

either an interval of only one state or f holds from the next state onwards, f ≜empty ∨ f.

Example 10.  

Chopstar [Slide 58]

∗ (chopstar)

Finite number of fusion of intervals.

Example 11.  

Sometimes [Slide 63]

(sometimes)

there exists a suffix interval for which f holds, f ≜true ; f

Example 12.  

Are there any other intervals σ ≜ σ0σ1σ2 that satisfy (Q)?

Always [Slide 67]

(always)

for each suffix interval f holds, f ≜¬¬f

Example 13.  

Diamond-i [Slide 70]

(diamond-i)

there exists a prefix interval for which f holds, f ≜ f ; true

Example 14.  

Box-i [Slide 73]

(box-i)

for each prefix interval f holds, f ≜¬¬f

Example 15.  

Diamond-a [Slide 76]

(diamond-a)

there exists a sub interval for which f holds, f ≜true ; f ; true

Example 16.  

Box-a [Slide 79]

(box-a)

for each sub interval f holds, f ≜¬¬f

Example 17.  

Programming constructs [Slide 82]

skipn, n ≥ 0

Length of an interval,

skip0
≜
empty
skipn
≜
skip ; skipn−1 ,(n > 0)

Example 18.  

Programming constructs [Slide 83]

if f0 then f1 else f2

The traditional binary choice, if f0 then f1 else f2 ≜ (f0 ∧ f1) ∨ (¬f0 ∧ f2).

Example 19.  

Programming constructs [Slide 84]

if f0 then f1

The traditional if then construct, if f0 then f1 ≜if f0 then f1 else true.

Example 20.  

Programming constructs [Slide 85]

fin f

f holds in the final state, fin f ≜(empty ⊃ f).

Example 21.  

Programming constructs [Slide 86]

halt f

Halt when f holds, halt f ≜(empty ≡ f).

Example 22.  

Programming constructs [Slide 87]

keep f

For all sub intervals of two states f holds, keep f ≜(skip ⊃ f).

Example 23.  

Programming constructs [Slide 88]

while f0 do f1

Traditional while loop, while f0 do f1 ≜ (f0 ∧ f1)∗∧fin ¬f0.

Example 24.  

Programming constructs [Slide 89]

repeat f0 until f1

Traditional repeat loop, repeat f0 until f1 ≜ f0 ; (while ¬f1 do f0).

Example 25.  

2024-08-02
Contact | Home | ITL home | Course | Proofs | Algebra | FL
© 1996-2024