Top Banner
Processos e Concorrˆ encia 2015/16 Bloco de acetatos 7 Alexandre Madeira HASLab INESC TEC, DI UMINHO April 6, 2017
75

Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Jul 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Processos e Concorrencia 2015/16Bloco de acetatos 7

Alexandre MadeiraHASLab INESC TEC, DI UMINHO

April 6, 2017

Page 2: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification is everywhere

Definition A (Monoid)

A monoid is an algebraic structure with a single associative binaryoperation and an identity element.

Definition B (Monoid)

A monoid is a model of the following specification:

Sorts s;

Op · : s × s → s

e :→ s

Ax (a · b) · c = a · (b · c)

a · e = a

e · a = a

Page 3: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification is everywhere

Definition A (Monoid)

A monoid is an algebraic structure with a single associative binaryoperation and an identity element.

Definition B (Monoid)

A monoid is a model of the following specification:

Sorts s;

Op · : s × s → s

e :→ s

Ax (a · b) · c = a · (b · c)

a · e = a

e · a = a

Page 4: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification is everywhere

Specification of a computer memory

Sorts state;

id;

elt;

Op update: id × elt ×state → state;

lookup: id × state → elt;

Ax lookup(i , update(i , e, s)) = e

i 6= j → lookup(i , update(j , e, s)) = lookup(i , s)

Page 5: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification is everywhere

Specification of a computer memory

Sorts state;

id;

elt;

Op update: id × elt ×state → state;

lookup: id × state → elt;

Ax lookup(i , update(i , e, s)) = e

i 6= j → lookup(i , update(j , e, s)) = lookup(i , s)

Page 6: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification is everywhere

Specification of a computer memory

Sorts state;

id;

elt;

Op update: id × elt ×state → state;

lookup: id × state → elt;

Ax lookup(i , update(i , e, s)) = e

i 6= j → lookup(i , update(j , e, s)) = lookup(i , s)

Page 7: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification of data andprocesses

Algebraic specification

• rooted in universal algebra

• Original aims: modelling software systems as algebras

• specialised along the times: definition of ADT (abstractdata types)

Process algebra

• rooted in automata and languages theory

• aims to formal modelling and analysis of concurrent systems

Page 8: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification of data andprocesses

Algebraic specification

• rooted in universal algebra

• Original aims: modelling software systems as algebras

• specialised along the times: definition of ADT (abstractdata types)

Process algebra

• rooted in automata and languages theory

• aims to formal modelling and analysis of concurrent systems

Page 9: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Algebraic specification in this course

AS and PA are highly related:

Micro perspective

• actions can be parametrized by data – we need a rigorous wayto define new suitable ADT

Macro perspective

• a process algebra can be seen, itself, as an algebraicspecification

Page 10: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Revisiting mCRL2

e.g., the fragment

A1 x + y = y + x

A2 (x + y) + z = x + (y + z)

A3 x + x = x

A4 (x + y) · z = x · z + y · z

A5 (x · y) · z = x · (y · z)

A6 x + δ = x

A7 δ · x = δ

• actually mCRL2 can be seen as an algebraic specification• the mCRL2 axiomatics can be understood as an algebraic

specification for the “generic shape of processes”

Page 11: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Revisiting CCS

e.g., the fragment

(act)a.p

a−→ p

pa−→ p′

(sum − l)p + q

a−→ p′

qa−→ q′

(sum − r)p + q

a−→ q′

• the axiomatics of CCS is now given by a set of inference rules(against the equational axiomatization of mCRL2)

• the previous analogy remains valid

Page 12: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Universal Algebra

Page 13: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Many-sorted sets

Definition (Many-sorted set)

An S-sorted set is an S-family of sets X = (Xs)s∈S .

Given two S-sorted sets X = (Xs)s∈S and Y = (Ys)s∈S :

X ∪ Y = (Xs ∪ Ys)s∈S

X × Y = (Xs × Ys)s∈S

X ⊆ Y iff for each s ∈ S , Xs ⊆ Ys

. . .

Page 14: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Many-sorted sets

Definition (Many-sorted set)

An S-sorted set is an S-family of sets X = (Xs)s∈S .

Given two S-sorted sets X = (Xs)s∈S and Y = (Ys)s∈S :

X ∪ Y = (Xs ∪ Ys)s∈S

X × Y = (Xs × Ys)s∈S

X ⊆ Y iff for each s ∈ S , Xs ⊆ Ys

. . .

Page 15: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Many-sorted sets

Definition (Many-sorted set function)

Let X = (Xs)s∈S and Y = (Ys)s∈S two S-sorted sets. An S-sortedfunction f : X → Y is an S-family of functions fs : Xs → Ys .

Page 16: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Many-sorted sets

Many-sorted relation

Let X = (Xs)s∈S and Y = (Ys)s∈S two S-sorted sets. An S-sortedrelation R ⊆ X × Y is an S-family of relations Rs ⊆ Xs × Ys .

Many-sorted equivalence relation

An S-sorted relation X ⊆ R ×R is an equivalence on X if, for eachs ∈ S :

• Rs is reflexive, i.e., for any x ∈ Xs , (x , x) ∈ Rs ;• Rs is simetric, i.e., for any x , y ∈ Xs , (x , y) ∈ Rs implies

(y , x) ∈ Rs ;• Rs is transitive, i.e., for any x , y , z ∈ Xs , (x , y) ∈ Rs and

(y , z) ∈ Rs implies (x , z) ∈ Rs ;.

Page 17: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Many-sorted sets

Quotient setGiven an S-sorted equivalence relation R ⊆ X × X :

• the equivalence class of x ∈ Xs modulo R:[x ]Rs = y ∈ Xs | (x , y) ∈ Rs,

• the quotient of X modulo R: X/R = (Xs/Rs)s∈S , whereXs/Rs = [x ]Rs |x ∈ Xs.

Page 18: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Many-sorted sets

Exercise E1

1 Show that, in any S-sorted equivalence relation, [x ]≡s = [y ]≡s iffx ≡s y .

2 Let consider the sorted set X = (Xs)s∈s1,s2, with Xs1 = 1, 2 andXs2 = a, b, c. Identify, in the following relations, the equivalencerelations. Define, for these cases, the respective quotient set.

a) R1 = (1, 1), (2, 2) and R2 = (a, a), (b, b), (c , c)b) S1 = (1, 1), (2, 2), (1, 2), (2, 1) and

S2 = (a, a), (b, b), (c , c)c) T1 = (1, 1), (2, 2) and

T2 = (a, a), (b, b), (b, c), (c , b), (c , c)d) Q1 = (1, 2), (2, 1) and

Q2 = (a, a), (b, b), (b, c), (c , b), (c , c)

Page 19: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Definition (Many-sorted signature)

A signature is a pair Σ = (S ,Ω), where:

• S is a set of sort names

• Ω is a (S∗ × S)-sorted set of operation names

Notation - as usual we may denote

• operation names f ∈ Ωs1...sn,s by f : s1 × · · · × sn → s ∈ Σ

• (in particular) constants names c ∈ Ωε,s by c : s ∈ Σ

Page 20: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Signature example: Σ = (S ,Ω), where

• S = s1, s2• Ωε,s1 = c1, Ωε,s2 = c2• Ωs1,s1 = f , Ωs2s1,s1 = g• Ωω,s = ∅ for other ω ∈ S∗, s ∈ S

A more standard presentation

sorts s1

s2

op c1 :→ s1

c2 :→ s2

f : s1 → s1

g : s2 × s1 → s1

Page 21: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Signature example: Σ = (S ,Ω), where

• S = s1, s2• Ωε,s1 = c1, Ωε,s2 = c2• Ωs1,s1 = f , Ωs2s1,s1 = g• Ωω,s = ∅ for other ω ∈ S∗, s ∈ S

A more standard presentation

sorts s1

s2

op c1 :→ s1

c2 :→ s2

f : s1 → s1

g : s2 × s1 → s1

Page 22: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Exercise E2

1 define a signature for groups

2 define a signature for natural numbers

3 define a signature for stacks of elements of a set A

4 define a signature for boolean algebra

5 a signature for a simple process algebra?• e.g., for the fragment of CCS

P := 0 | a.P | P + P | P|P

for a fixed set of actions A

Page 23: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Exercise E2

1 define a signature for groups

2 define a signature for natural numbers

3 define a signature for stacks of elements of a set A

4 define a signature for boolean algebra

5 a signature for a simple process algebra?

• e.g., for the fragment of CCS

P := 0 | a.P | P + P | P|P

for a fixed set of actions A

Page 24: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Exercise E2

1 define a signature for groups

2 define a signature for natural numbers

3 define a signature for stacks of elements of a set A

4 define a signature for boolean algebra

5 a signature for a simple process algebra?• e.g., for the fragment of CCS

P := 0 | a.P | P + P | P|P

for a fixed set of actions A

Page 25: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Definition (Many-sorted algebra)

Let Σ = (S ,Ω) be a many-sorted signature. A Σ-algebra Aconsists of:

• an S-sorted set |A|, i.e., for each s ∈ S , |A|s is a set; and

• for each f : s1 × · · · × sn → s ∈ Σ, a functionf A : |A|s1 × · · · × |A|s1 → |A|s .

Page 26: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Let consider the signature Σ:

sorts s1, s2

op c1 :→ s1, c2 :→ s2

f : s1 → s1

g : s2 × s1 → s1

Two example of Σ-algebras:

|A|s1 = a, b, |A|s2 = 1, 2, 3cA

1 = a cA2 = 3

f A(a) = a, f A(b) = a

gA = (1, a) 7→ 1, (1, b) 7→1, (2, a) 7→ 2, (2, b) 7→ 2, (3, a) 7→3, (3, b) 7→ 3

|B|s1 = •, |B|s2 = ♥,♠cB

1 = •, cB2 = ♠

f B(•) = •gB = (♥, •) 7→ ♥, (♠, •) 7→ ♠

Page 27: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Let consider the signature Σ:

sorts s1, s2

op c1 :→ s1, c2 :→ s2

f : s1 → s1

g : s2 × s1 → s1

Two example of Σ-algebras:

|A|s1 = a, b, |A|s2 = 1, 2, 3cA

1 = a cA2 = 3

f A(a) = a, f A(b) = a

gA = (1, a) 7→ 1, (1, b) 7→1, (2, a) 7→ 2, (2, b) 7→ 2, (3, a) 7→3, (3, b) 7→ 3

|B|s1 = •, |B|s2 = ♥,♠cB

1 = •, cB2 = ♠

f B(•) = •gB = (♥, •) 7→ ♥, (♠, •) 7→ ♠

Page 28: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Signatures and Algebras

Exercise E3Define two distinct algebras for each signature introduced inExercise E2.

Page 29: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Morphisms and Congruences

Morphism

Let A and B two Σ-algebras. A Σ-morphism h : A→ B is anS-sorted function h : |A| → |B| such that, for eachf : s1, . . . , sn → s ∈ Σ, and for any a1 ∈ |A|s1 , . . . , an ∈ |A|sn ,

hs(f A(a1, . . . , an)) = f B(hs1(a1), . . . , hsn(an))

|A|s1 × · · · × |A|snhs1×···×hsn //

f A

|B|s1 × · · · × |B|snf B

|A|s

hs// |B|s

Page 30: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Morphisms and Congruences

Morphism

Let A and B two Σ-algebras. A Σ-morphism h : A→ B is anS-sorted function h : |A| → |B| such that, for eachf : s1, . . . , sn → s ∈ Σ, and for any a1 ∈ |A|s1 , . . . , an ∈ |A|sn ,

hs(f A(a1, . . . , an)) = f B(hs1(a1), . . . , hsn(an))

|A|s1 × · · · × |A|snhs1×···×hsn //

f A

|B|s1 × · · · × |B|snf B

|A|s

hs// |B|s

Page 31: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Morphisms and Congruences

Exercise E4Let consider the algebras A and B of previous example. Define, ifpossible, two morphisms h : A→ B and h′ : B → A.

Page 32: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Morphisms and Congruences

Definition (Congruence)

Let A be a Σ-algebra and ≡⊆ |A| × |A| an equivalence relation onA. The relation ≡ is a congruence if

• for all a1, a′1 ∈ |A|s1 , . . . , an, a

′n ∈ |A|s1 , if as1 ≡ a′s1

and · · ·and asn ≡ a′sn , then,

f A(a1, . . . , an) ≡ f A(a′1, . . . , a′n)

Page 33: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Morphisms and Congruences

Definition (Quotient Algebra)

Let A be a Σ-algebra and ≡ ⊆ |A| × |A| a congruence on A. Thequotient algebra A modulo ≡ is the Σ-algebra A/ ≡ defined by:

• |A/ ≡ | = |A|/ ≡, and

• for each f : s1 × · · · × s2 → s ∈ Σ,f A/≡([a1]≡s1

, . . . , [an]≡sn) = [f A(a1, . . . , an)]≡s for all

a1 ∈ |A|s1 , . . . , an ∈ |A|sn .

Page 34: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Morphisms and Congruences

Exercise E5Given a S-function f : X → Y , let us consider the S-relationKer(f ), defined for each s ∈ S as

Ker(fs) = (x , y)|x , y ∈ Xs and fs(x) = fs(y)

1 show that Ker(f ) is an equivalence relation

2 let us assume an homomorphism h : A→ B. Show thatKer(h) is a congruence.

3 Using the morphism h : A→ B of exercise E4, define thealgebra A/Ker(h).

Page 35: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Term Algebras

Definition (Σ-terms)

Let Σ be a signature and X = (Xs)s∈S a S-sorted set of variablesfor Σ. The set Σ-terms over X is the smallest S-set T(Σ,X )such that:

• Xs ⊆ T(Σ,X )s ;

• Ωε,s ⊆ T(Σ,X )s ;

• For any f : s1 × · · · × sn → s ∈ Σ andt1 ∈ T(Σ,X )s1 , . . . , tn ∈ T(Σ,X )sn , f (t1, . . . , tn) ∈ T(Σ,X )s ;

ExerciseEnumerate the terms of each signature of Exercise E2.

Page 36: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Term Algebras

Definition (Σ-terms)

Let Σ be a signature and X = (Xs)s∈S a S-sorted set of variablesfor Σ. The set Σ-terms over X is the smallest S-set T(Σ,X )such that:

• Xs ⊆ T(Σ,X )s ;

• Ωε,s ⊆ T(Σ,X )s ;

• For any f : s1 × · · · × sn → s ∈ Σ andt1 ∈ T(Σ,X )s1 , . . . , tn ∈ T(Σ,X )sn , f (t1, . . . , tn) ∈ T(Σ,X )s ;

ExerciseEnumerate the terms of each signature of Exercise E2.

Page 37: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Term Algebras

Ground terms

• The set of terms T(Σ, ∅) is called the set of ground terms.

Page 38: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Term Algebras

Definition (Term Algebra)

If T(Σ,X ) is non empty, the term algebra over X is the Σ-algebraT (Σ,X ) such that

• |T (Σ,X )| = T(Σ,X )

• for any f : s1 × sn → s ∈ Σ and everyt1 ∈ T(Σ,X )s1 , . . . , tn ∈ T(Σ,X )sn ,

f T (Σ,X )(t1, . . . , tn) := f (t1, . . . , tn)

Page 39: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Term algebra

Fact.For any Σ-algebra A and for any S-function v : X → |A|, there isexactly one Σ-morphism v # : T(Σ,X )→ A that extends v , i.e.,such that v #(ιX (x)) = v(x), where ιX : X → T(Σ,X ) maps eachvariable to its corresponding term.

XιX //

v##

T(Σ,X )

v#

|A|

Definition (Term evaluation)

The interpretation of a term t ∈ T(Σ,X )s in a Σ-algebra A underthe valuation v : X → |A|, denoted by tA(v), is v #(t).

Page 40: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Term algebra

Fact.For any Σ-algebra A and for any S-function v : X → |A|, there isexactly one Σ-morphism v # : T(Σ,X )→ A that extends v , i.e.,such that v #(ιX (x)) = v(x), where ιX : X → T(Σ,X ) maps eachvariable to its corresponding term.

XιX //

v##

T(Σ,X )

v#

|A|

Definition (Term evaluation)

The interpretation of a term t ∈ T(Σ,X )s in a Σ-algebra A underthe valuation v : X → |A|, denoted by tA(v), is v #(t).

Page 41: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Term algebra

Fact.For any Σ-algebra A and for any S-function v : X → |A|, there isexactly one Σ-morphism v # : T(Σ,X )→ A that extends v , i.e.,such that v #(ιX (x)) = v(x), where ιX : X → T(Σ,X ) maps eachvariable to its corresponding term.

XιX //

v##

T(Σ,X )

v#

|A|

Definition (Term evaluation)

The interpretation of a term t ∈ T(Σ,X )s in a Σ-algebra A underthe valuation v : X → |A|, denoted by tA(v), is v #(t).

Page 42: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Exercise

Exercise E6 - Consider the following signature:

sorts nat

op 0 : nat

suc : nat → nat

+ : nat × nat → nat

1 Consider its set of terms;

2 Consider its set of ground terms;

3 Consider 2 models for this signature;

Page 43: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equational Specification

Page 44: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equations and satisfaction

Equations

A Σ-equation (of sort s) is an expression t1 = t2, fort1, t2 ∈ T(Σ,X )s .

SatisfactionLet A be a Σ-algebra and v : X → |A| be a valuation. Then

A, v |= t1 = t2 iff tA1 (v) = tA2 (v)

Notation

• A |= t1 = t2 iff for any v : X → |A|, A |= t1 = t2.

• A |= Φ iff for any t1 = t2 ∈ Φ, A |= t1 = t2.

• K |= t1 = t2 iff for any A ∈ K , A |= t1 = t2.

• Φ |= t1 = t2 iff, for any Σ-algebra A, if A |= Φ, thenA |= t1 = t2

Page 45: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equations and satisfaction

Equations

A Σ-equation (of sort s) is an expression t1 = t2, fort1, t2 ∈ T(Σ,X )s .

SatisfactionLet A be a Σ-algebra and v : X → |A| be a valuation. Then

A, v |= t1 = t2 iff tA1 (v) = tA2 (v)

Notation

• A |= t1 = t2 iff for any v : X → |A|, A |= t1 = t2.

• A |= Φ iff for any t1 = t2 ∈ Φ, A |= t1 = t2.

• K |= t1 = t2 iff for any A ∈ K , A |= t1 = t2.

• Φ |= t1 = t2 iff, for any Σ-algebra A, if A |= Φ, thenA |= t1 = t2

Page 46: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equations and satisfaction

Equations

A Σ-equation (of sort s) is an expression t1 = t2, fort1, t2 ∈ T(Σ,X )s .

SatisfactionLet A be a Σ-algebra and v : X → |A| be a valuation. Then

A, v |= t1 = t2 iff tA1 (v) = tA2 (v)

Notation

• A |= t1 = t2 iff for any v : X → |A|, A |= t1 = t2.

• A |= Φ iff for any t1 = t2 ∈ Φ, A |= t1 = t2.

• K |= t1 = t2 iff for any A ∈ K , A |= t1 = t2.

• Φ |= t1 = t2 iff, for any Σ-algebra A, if A |= Φ, thenA |= t1 = t2

Page 47: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equations and satisfaction

Equations

A Σ-equation (of sort s) is an expression t1 = t2, fort1, t2 ∈ T(Σ,X )s .

SatisfactionLet A be a Σ-algebra and v : X → |A| be a valuation. Then

A, v |= t1 = t2 iff tA1 (v) = tA2 (v)

Notation

• A |= t1 = t2 iff for any v : X → |A|, A |= t1 = t2.

• A |= Φ iff for any t1 = t2 ∈ Φ, A |= t1 = t2.

• K |= t1 = t2 iff for any A ∈ K , A |= t1 = t2.

• Φ |= t1 = t2 iff, for any Σ-algebra A, if A |= Φ, thenA |= t1 = t2

Page 48: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equations and satisfaction

Equations

A Σ-equation (of sort s) is an expression t1 = t2, fort1, t2 ∈ T(Σ,X )s .

SatisfactionLet A be a Σ-algebra and v : X → |A| be a valuation. Then

A, v |= t1 = t2 iff tA1 (v) = tA2 (v)

Notation

• A |= t1 = t2 iff for any v : X → |A|, A |= t1 = t2.

• A |= Φ iff for any t1 = t2 ∈ Φ, A |= t1 = t2.

• K |= t1 = t2 iff for any A ∈ K , A |= t1 = t2.

• Φ |= t1 = t2 iff, for any Σ-algebra A, if A |= Φ, thenA |= t1 = t2

Page 49: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equations and satisfaction

Equations

A Σ-equation (of sort s) is an expression t1 = t2, fort1, t2 ∈ T(Σ,X )s .

SatisfactionLet A be a Σ-algebra and v : X → |A| be a valuation. Then

A, v |= t1 = t2 iff tA1 (v) = tA2 (v)

Notation

• A |= t1 = t2 iff for any v : X → |A|, A |= t1 = t2.

• A |= Φ iff for any t1 = t2 ∈ Φ, A |= t1 = t2.

• K |= t1 = t2 iff for any A ∈ K , A |= t1 = t2.

• Φ |= t1 = t2 iff, for any Σ-algebra A, if A |= Φ, thenA |= t1 = t2

Page 50: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Specifications

(Flat) Specification

A flat specification consists of a pair SP = (Σ,Φ), where

• Σ is a signature

• Φ is a set of Σ-equations

Specification models

For SP = (Σ,Φ),

Mod[SP] = A|A is Σ-algebra and A |= Φ

Page 51: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Specifications

(Flat) Specification

A flat specification consists of a pair SP = (Σ,Φ), where

• Σ is a signature

• Φ is a set of Σ-equations

Specification models

For SP = (Σ,Φ),

Mod[SP] = A|A is Σ-algebra and A |= Φ

Page 52: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Exercise

Exercise E7Consider the signature of exercise E6.

• Suggest an axiomatisation for natural numbers (at least 5equations)

• Identify 3 models for your specification and a counter-example(in the same signature)

Page 53: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Some Examples of thebase data types of mCRL2

printed from the tool’s reference:Jan Friso Groote, Mohammad Reza Mousavi. Modeling andAnalysis of Communicating Systems. MIT Press, 2008.

Page 54: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Example: generic useful auxiliary stuff

Page 55: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Example: Booleans

Page 56: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Example: positive naturals

Page 57: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Example: positive naturals

Page 58: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Example: lists

Page 59: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Example: sets

Page 60: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Theories

Definition(Theories)

Let Φ be a set of Σ-equations and K be a class of Σ-algebras.Then, we define:

• Mod(Φ) := A|A is Σ-algebra and A |= Φ• ThΣ(K ) = t1 = t2|for any A ∈ K ,A |= t1 = t2

Galois connections

1 Φ ⊆ Ψ implies Mod(Φ) ⊇ Mod(Ψ);

2 K ⊆ K ′ implies ThΣ(K ) ⊇ ThΣ(K ′);

3 Φ ⊆ ThΣ(Mod(Φ)) and K ⊆ Mod(ThΣ(K )).

Page 61: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equational Calculus

(reflexivity)Φ `Σ t = t

, t1 = t2 ∈ Φ (axioms)Φ `Σ t1 = t2

Φ `Σ t1 = t2(symmetry)

Φ `Σ t2 = t1

Φ `Σ t1 = t2 Φ `Σ t2 = t3(transitivity)

Φ `Σ t1 = t3

Φ `Σ t1 = t ′1 · · · Φ `Σ tn = t ′n, f : s1 × · · · × sn → s ∈ Σ (congruence)

Φ `Σ f (t1, · · · , tn) = f (t ′1, · · · , t ′n)

Φ `Σ t1 = t2, σ : X → T(Σ,X )(replacement)

Φ `Σ σ(t1) = σ(t2)

Page 62: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Exercise

Sort bool

Op true : bool

false : bool

¬ : bool → bool

∧ : bool × bool → bool

AxBool • ¬true = false• ¬false = true• p ∧ true = p• p ∧ false = false• p ∧ ¬p = false

Using the equational calculus prove that:

1 AxBool ` ¬¬true = true

2 AxBool ` ¬true ∧ ¬false = false

3 AxBool ` (p ∧ ¬true) ∧ false = ¬true

Page 63: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equational Calculus

DefinitionLet ≡Φ⊆ T(Σ,X )× T(Σ,X ) the relation defined by

≡Φ= (t1, t2)|Φ ` t1 = t2

i.e.t1 ≡Φ t2 iff Φ ` t1 = t2

Page 64: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equational Calculus

Lemma≡Φ is a congruence in T (Σ,X )

Page 65: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equational Calculus

LemmaΦ ` t1 = t2 iff T (Σ,X )/ ≡Φ|= t1 = t2

Page 66: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equational Calculus

Theorem (Soundness and completeness of equational calculus)

For any set of Σ-equations Φ and for any equation t1 = t2,

Φ ` t1 = t2 iff Φ |= t1 = t2

Hints for the proof:

soundness, i.e., for implication ⇒, use induction over theequational calculus rules

completness, i.e., for implication ⇐, use the previous Lemma

Page 67: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Equational Calculus

Theorem (Soundness and completeness of equational calculus)

For any set of Σ-equations Φ and for any equation t1 = t2,

Φ ` t1 = t2 iff Φ |= t1 = t2

Hints for the proof:

soundness, i.e., for implication ⇒, use induction over theequational calculus rules

completness, i.e., for implication ⇐, use the previous Lemma

Page 68: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Initial Models

• The class of Σ-algebras given by loose semantics of a Σ -specification contains too many algebras to be useful inpractices. E.g.,

• if Σ has no constants, the empty algebra is a model of anyΣ-specification

• if Σ has constants, an algebra carried by an S-family ofsingletons is a model of any Σ-specification

Page 69: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Initial Models

Let A ∈ Mod(Σ,Φ). A contains

• Junk, if A is not reachable, i.e., there is an a ∈ |A|s suchthat, there is no a ground term t ∈ T(Σ,X ) such that tA = a

• Confusion, if A satisfies some ground equation t1 = t2 suchthat Φ 6` t1 = t2

What should be a good model for a specification?

Page 70: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Initial Models

Let A ∈ Mod(Σ,Φ). A contains

• Junk, if A is not reachable, i.e., there is an a ∈ |A|s suchthat, there is no a ground term t ∈ T(Σ,X ) such that tA = a

• Confusion, if A satisfies some ground equation t1 = t2 suchthat Φ 6` t1 = t2

What should be a good model for a specification?

Page 71: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Exercise

Sort bool

Op true : bool

false : bool

¬ : bool → bool

∧ : bool × bool → bool

Ax • ¬true = false• ¬false = true• p ∧ true = p• p ∧ q = q ∧ p• p ∧ false = false• p ∧ ¬p = false

1 Present 3 finite models with 1, 2 and 3 elements.

2 Classify the models with respect to “junk” and “confusion”.

3 Build the algebra T (ΣBool)/ ≡Φ, where Φ is the set ofequations of the specification.

Page 72: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Initial Models

LemmaThe model T (Σ)/ ≡Φ has no junk neither confusion

Page 73: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Initial Model

Initial modelAn algebra A is initial in a class K if for any algebra B ∈ K , thereis an unique morphism h : A→ B.

LemmaInitial models are unique up to isomorphism

Page 74: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Initial Model

Initial modelAn algebra A is initial in a class K if for any algebra B ∈ K , thereis an unique morphism h : A→ B.

LemmaInitial models are unique up to isomorphism

Page 75: Processos e Concorr^encia 2015/16 Bloco de acetatos 7alfa.di.uminho.pt/~madeira/UC/Bloco7.pdf · the mCRL2 axiomatics can be understood as an algebraic speci cation for the \generic

Initial Model

TheoremT (Σ)/ ≡Φ is an initial model of Mod(〈Σ,Φ〉)