Denotations for parity automata
S. Salvati INRIA, I. Walukiewicz CNRSUniversité de Bordeaux
Shonan Meeting: Higher-Order Model Checking
Verification and Models
Schematology
Programs
Schemes
Evaluation treesTyping/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluationsyn. prop.
Schematology
Programs
Schemes
Evaluation treesTyping/Logic/…
Semantics
verifi
catio
n
execution
adequacy
syn.abst.
syn.exec.
evaluationsyn. prop.
Schematology
Programs
Schemes
Evaluation trees
Typing/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluationsyn. prop.
Schematology
Programs
Schemes
Evaluation trees
Typing/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluationsyn. prop.
Schematology
Programs
Schemes
Evaluation trees
Typing/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluationsyn. prop.
Schematology
Programs
Schemes
Evaluation treesTyping/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluationsyn. prop.
Schematology
Programs
Schemes
Evaluation treesTyping/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluation
syn. prop.
Schematology
Programs
Schemes
Evaluation treesTyping/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluationsyn. prop.
Schematology
Programs
Schemes
Evaluation treesTyping/Logic/… Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluation
abst.
syn. prop.
Schematology
Programs
Schemes
Evaluation treesSemantic Domains Semantics
verifi
catio
n execution
adequacy
syn.abst.
syn.exec.
evaluation
abst.
syn. prop.
Programs and recognizability
Specification
Higher-OrderPrograms
CorrectPrograms
InterpretationDomain
Recognizer [[·]]
[[·]]−1
Programs and recognizability
Specification
Higher-OrderPrograms
CorrectPrograms
InterpretationDomain
Recognizer [[·]]
[[·]]−1
Programs and recognizability
Specification
Higher-OrderPrograms
CorrectPrograms
InterpretationDomain
Recognizer [[·]]
[[·]]−1
Motivations
I Relating finite state methods with denotational methods
I Reveal the invariants behind behavioral propertiesI Obtain decidability results by finiteness propertiesI Compositional and Higher-Order by construction
Motivations
I Relating finite state methods with denotational methodsI Reveal the invariants behind behavioral properties
I Obtain decidability results by finiteness propertiesI Compositional and Higher-Order by construction
Motivations
I Relating finite state methods with denotational methodsI Reveal the invariants behind behavioral propertiesI Obtain decidability results by finiteness properties
I Compositional and Higher-Order by construction
Motivations
I Relating finite state methods with denotational methodsI Reveal the invariants behind behavioral propertiesI Obtain decidability results by finiteness propertiesI Compositional and Higher-Order by construction
Types: 0 is a type and (A → B) is a type if A and ̲ are types.
Tree signature Σ = {a, b, . . . } all constants of type 0 → 0 → 0 orof type 0.
λY -calculus
ΛY : MA,NB ::= xA | cA | (λxA.MB)A→B | (MA→BNA)B| (YMA→A)A
(β) (λx .M)N = M[N/x ]
(η) λx .Mx = M when x /∈ fv(M)
(δ) YM = M(YM)
Böhm tree for ΛY
Böhm trees are a sort of infinite normal form for ΛY -terms
If M reduces to λx1 . . . xn.hM1 . . .Mn:
BT (M) = λx1 . . . xn.h
BT (M1) BT (Mn)
otherwise:BT (M) = Ω
When M is closed and of type 0, BT (M) is an infinite tree: ahigher-order tree.
Böhm tree for ΛY
Böhm trees are a sort of infinite normal form for ΛY -terms
If M reduces to λx1 . . . xn.hM1 . . .Mn:
BT (M) = λx1 . . . xn.h
BT (M1) BT (Mn)
otherwise:BT (M) = Ω
When M is closed and of type 0, BT (M) is an infinite tree: ahigher-order tree.
Böhm tree for ΛY
Böhm trees are a sort of infinite normal form for ΛY -terms
If M reduces to λx1 . . . xn.hM1 . . .Mn:
BT (M) = λx1 . . . xn.h
BT (M1) BT (Mn)
otherwise:BT (M) = Ω
When M is closed and of type 0, BT (M) is an infinite tree: ahigher-order tree.
Böhm tree for ΛY
Böhm trees are a sort of infinite normal form for ΛY -terms
If M reduces to λx1 . . . xn.hM1 . . .Mn:
BT (M) = λx1 . . . xn.h
BT (M1) BT (Mn)
otherwise:BT (M) = Ω
When M is closed and of type 0, BT (M) is an infinite tree: ahigher-order tree.
Higher-order control flowfold f a l = if l=[] then a else f (hd l) (fold f a (tl l))
M = Yλfold f a l.ite (=l []) a (f (hd l) (fold f a (tl l)))
ite
=
l []
[] ::
f
hd
l
ite
=
tl
l
[]
[] ite
=
tl
tl
l
[]
[] ::
f
hd
hd
l
n
n-1
n
λfal .
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]]
[[λx .M, ν]] • f = [[M, ν[f /x ]]][[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]]
[[λx .M, ν]] • f = [[M, ν[f /x ]]][[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]]
[[λx .M, ν]] • f = [[M, ν[f /x ]]][[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]]
[[λx .M, ν]] • f = [[M, ν[f /x ]]][[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]]
[[λx .M, ν]] • f = [[M, ν[f /x ]]][[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]][[λx .M, ν]] • f = [[M, ν[f /x ]]]
[[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]][[λx .M, ν]] • f = [[M, ν[f /x ]]][[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Finite models
[[M,ν ]]
Axioms[[MN, ν]] = [[M, ν]] • [[N, ν]][[λx .M, ν]] • f = [[M, ν[f /x ]]][[Y , ν]] • f = f • ([[Y , ν]] • f )
Lemma (Correctness)If M =βδ N, then for every ν,[[M, ν]] = [[N, ν]].
A B C
A → B
(A → B) → C
f
g
f • g
Recognizability in the simply typed λ-calculus
L is recognizable iff:
L = {M | [[M, ∅]] ∈ R}
A
RL
[[_, ∅]]−1
Recognizability in the simply typed λ-calculus
L is recognizable iff:
L = {M | [[M, ∅]] ∈ R}
A
R
L[[_, ∅]]−1
Recognizability in the simply typed λ-calculus
L is recognizable iff:
L = {M | [[M, ∅]] ∈ R}
A
RL
[[_, ∅]]−1
Basic properties
Recognizable languages of λ-terms are:I conservative extensions of recognizable languages of strings
and trees,
I closed under boolean operations,I closed under inverse higher-order homomorphism,I not closed under relabeling.
I Singleton languages are recognizable [Statman 82]I Emptiness is undecidable [Loader 01]I Membership is non-elementary
Basic properties
Recognizable languages of λ-terms are:I conservative extensions of recognizable languages of strings
and trees,I closed under boolean operations,
I closed under inverse higher-order homomorphism,I not closed under relabeling.
I Singleton languages are recognizable [Statman 82]I Emptiness is undecidable [Loader 01]I Membership is non-elementary
Basic properties
Recognizable languages of λ-terms are:I conservative extensions of recognizable languages of strings
and trees,I closed under boolean operations,I closed under inverse higher-order homomorphism,
I not closed under relabeling.
I Singleton languages are recognizable [Statman 82]I Emptiness is undecidable [Loader 01]I Membership is non-elementary
Basic properties
Recognizable languages of λ-terms are:I conservative extensions of recognizable languages of strings
and trees,I closed under boolean operations,I closed under inverse higher-order homomorphism,I not closed under relabeling.
I Singleton languages are recognizable [Statman 82]I Emptiness is undecidable [Loader 01]I Membership is non-elementary
Basic properties
Recognizable languages of λ-terms are:I conservative extensions of recognizable languages of strings
and trees,I closed under boolean operations,I closed under inverse higher-order homomorphism,I not closed under relabeling.
I Singleton languages are recognizable [Statman 82]
I Emptiness is undecidable [Loader 01]I Membership is non-elementary
Basic properties
Recognizable languages of λ-terms are:I conservative extensions of recognizable languages of strings
and trees,I closed under boolean operations,I closed under inverse higher-order homomorphism,I not closed under relabeling.
I Singleton languages are recognizable [Statman 82]I Emptiness is undecidable [Loader 01]
I Membership is non-elementary
Basic properties
Recognizable languages of λ-terms are:I conservative extensions of recognizable languages of strings
and trees,I closed under boolean operations,I closed under inverse higher-order homomorphism,I not closed under relabeling.
I Singleton languages are recognizable [Statman 82]I Emptiness is undecidable [Loader 01]I Membership is non-elementary
Theory of Böhm trees
ΛY -theoriesBöhm theories Init.
Finite models
MSOL
Böhm theories: BT (M) = BT (N) implies for all ν, [[M, ν]] = [[N, ν]]
I expressiveness of finite Böhm models? (See Pawel’s talk)I axiomatization of finite Böhm models?
Theory of Böhm trees
ΛY -theoriesBöhm theories Init.
Finite models
MSOL
Böhm theories: BT (M) = BT (N) implies for all ν, [[M, ν]] = [[N, ν]]
I expressiveness of finite Böhm models? (See Pawel’s talk)I axiomatization of finite Böhm models?
Theory of Böhm trees
ΛY -theoriesBöhm theories Init.
Finite models
MSOL
Böhm theories: BT (M) = BT (N) implies for all ν, [[M, ν]] = [[N, ν]]
I expressiveness of finite Böhm models? (See Pawel’s talk)I axiomatization of finite Böhm models?
Theory of Böhm trees
ΛY -theoriesBöhm theories Init.
Finite models
MSOL
Böhm theories: BT (M) = BT (N) implies for all ν, [[M, ν]] = [[N, ν]]
I expressiveness of finite Böhm models? (See Pawel’s talk)I axiomatization of finite Böhm models?
Theory of Böhm trees
ΛY -theoriesBöhm theories Init.
Finite models
MSOL
Böhm theories: BT (M) = BT (N) implies for all ν, [[M, ν]] = [[N, ν]]
I expressiveness of finite Böhm models? (See Pawel’s talk)
I axiomatization of finite Böhm models?
Theory of Böhm trees
ΛY -theoriesBöhm theories Init.
Finite models
MSOL
Böhm theories: BT (M) = BT (N) implies for all ν, [[M, ν]] = [[N, ν]]
I expressiveness of finite Böhm models? (See Pawel’s talk)I axiomatization of finite Böhm models?
Theory of Böhm trees
ΛY -theoriesBöhm theories Init.
Finite models
MSOL
Böhm theories: BT (M) = BT (N) implies for all ν, [[M, ν]] = [[N, ν]]
I expressiveness of finite Böhm models? (See Pawel’s talk)I axiomatization of finite Böhm models?
Monotone (Scott) models
((MA,≤A)A, [[_,_]])I (M0,≤0) is a complete lattice,
I (MA→B ,≤A→B) is the complete lattice of monotone functionsf from (MA,≤A) to (MB ,≤B), i.e. a ≤A b impliesf (a) ≤B f (b), ordered pointwise.
I [[Y , ν]](f ) =∧{f n(>) | n ∈ N}.
I given f ∈ MA, g ∈ MB , (f 7→ g)(h) ={
g when g ≤ h⊥ otherwise
Monotone (Scott) models
((MA,≤A)A, [[_,_]])I (M0,≤0) is a complete lattice,I (MA→B ,≤A→B) is the complete lattice of monotone functions
f from (MA,≤A) to (MB ,≤B), i.e. a ≤A b impliesf (a) ≤B f (b), ordered pointwise.
I [[Y , ν]](f ) =∧{f n(>) | n ∈ N}.
I given f ∈ MA, g ∈ MB , (f 7→ g)(h) ={
g when g ≤ h⊥ otherwise
Monotone (Scott) models
((MA,≤A)A, [[_,_]])I (M0,≤0) is a complete lattice,I (MA→B ,≤A→B) is the complete lattice of monotone functions
f from (MA,≤A) to (MB ,≤B), i.e. a ≤A b impliesf (a) ≤B f (b), ordered pointwise.
I [[Y , ν]](f ) =∧{f n(>) | n ∈ N}.
I given f ∈ MA, g ∈ MB , (f 7→ g)(h) ={
g when g ≤ h⊥ otherwise
Monotone (Scott) models
((MA,≤A)A, [[_,_]])I (M0,≤0) is a complete lattice,I (MA→B ,≤A→B) is the complete lattice of monotone functions
f from (MA,≤A) to (MB ,≤B), i.e. a ≤A b impliesf (a) ≤B f (b), ordered pointwise.
I [[Y , ν]](f ) =∧{f n(>) | n ∈ N}.
I given f ∈ MA, g ∈ MB , (f 7→ g)(h) ={
g when g ≤ h⊥ otherwise
Digretion: a extensional non-Böhm model
Take (M0,≤) = (P({q0, q1}),⊆), we let M be the model so that(MA,≤A) is generated as in the monotone model. We then let:
I S ↓0= S ∩ {q0} for S ⊆ Q,I f ↓0 (g) = f (g) ↓0 for f of type A → B and g of type A.
We then define:fix(f ) = νx .f (x ↓0)))
I for f1 = q1 7→ q0 ∨ q0 7→ q1, we have fix(f1) = ∅,I and for f2 = q0 7→ q0 ∨ q1 7→ q1, we have fix(f2) = {q0}
But f2 = f1 ◦ f1.So if a is a constant so that [[a]] = f1, interpreting Y as fix gives[[Y (λx .ax)]] = ∅ and [[Y (λx .a(ax))]] = {q0}.
Digretion: a extensional non-Böhm model
Take (M0,≤) = (P({q0, q1}),⊆), we let M be the model so that(MA,≤A) is generated as in the monotone model. We then let:
I S ↓0= S ∩ {q0} for S ⊆ Q,I f ↓0 (g) = f (g) ↓0 for f of type A → B and g of type A.
We then define:fix(f ) = νx .f (x ↓0)))
I for f1 = q1 7→ q0 ∨ q0 7→ q1, we have fix(f1) = ∅,I and for f2 = q0 7→ q0 ∨ q1 7→ q1, we have fix(f2) = {q0}
But f2 = f1 ◦ f1.So if a is a constant so that [[a]] = f1, interpreting Y as fix gives[[Y (λx .ax)]] = ∅ and [[Y (λx .a(ax))]] = {q0}.
Digretion: a extensional non-Böhm model
Take (M0,≤) = (P({q0, q1}),⊆), we let M be the model so that(MA,≤A) is generated as in the monotone model. We then let:
I S ↓0= S ∩ {q0} for S ⊆ Q,I f ↓0 (g) = f (g) ↓0 for f of type A → B and g of type A.
We then define:fix(f ) = νx .f (x ↓0)))
I for f1 = q1 7→ q0 ∨ q0 7→ q1, we have fix(f1) = ∅,I and for f2 = q0 7→ q0 ∨ q1 7→ q1, we have fix(f2) = {q0}
But f2 = f1 ◦ f1.So if a is a constant so that [[a]] = f1, interpreting Y as fix gives[[Y (λx .ax)]] = ∅ and [[Y (λx .a(ax))]] = {q0}.
Digretion: a extensional non-Böhm model
Take (M0,≤) = (P({q0, q1}),⊆), we let M be the model so that(MA,≤A) is generated as in the monotone model. We then let:
I S ↓0= S ∩ {q0} for S ⊆ Q,I f ↓0 (g) = f (g) ↓0 for f of type A → B and g of type A.
We then define:fix(f ) = νx .f (x ↓0)))
I for f1 = q1 7→ q0 ∨ q0 7→ q1, we have fix(f1) = ∅,I and for f2 = q0 7→ q0 ∨ q1 7→ q1, we have fix(f2) = {q0}
But f2 = f1 ◦ f1.So if a is a constant so that [[a]] = f1, interpreting Y as fix gives[[Y (λx .ax)]] = ∅ and [[Y (λx .a(ax))]] = {q0}.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))
In [S. Walukiewicz 13], it is showed how to build insightful models.
Ω-blind trivial propertiesTheorem (S. Waluckiewicz 13)Scott models recognize boolean combinations of Ω-blind trivial properties.
a
b
a
Ω b
a
b b
b
a
b b
a
b b
q1
q2 q2
q1 q1 q1 q1
q2 q2 q2 q2q2 q2 q2 q2
δ(a, q1) = (q2, q2) δ(b, q2) = (q1, q1)
The recognizing model is defined: (M0,≤0) = (P({q1, q2},⊆))In [S. Walukiewicz 13], it is showed how to build insightful models.
First step towards ParityConditions: weak MSOL
weak MSOLa
b
a
Ω b
a
b b
b
a
b b
a
b b
q2
q2 q2
q1q2 q1q2 q1q2 q1q2
q0q2 q0q2 q0q2 q0q2q0q2 q0q2 q0q2 q0q2
δ(a, q1) ={{(q0, q0)}}
rk(qi) = i
δ(b, q2) ={{(q1, q1), (q2, q2)}}δ(a, q0) = δ(b, q0){{(q0, q0)}}
δ(a, q2) ={{(q2, q2)}}δ(b, q1) ={{(q1, q1)}}
weak MSOLa
b
a
Ω b
a
b b
b
a
b b
a
b b
q2
q2 q2
q1q2 q1q2 q1q2 q1q2
q0q2 q0q2 q0q2 q0q2q0q2 q0q2 q0q2 q0q2
δ(a, q1) ={{(q0, q0)}} rk(qi) = iδ(b, q2) ={{(q1, q1), (q2, q2)}}
δ(a, q0) = δ(b, q0){{(q0, q0)}}δ(a, q2) ={{(q2, q2)}}δ(b, q1) ={{(q1, q1)}}
weak MSOLa
b
a
Ω b
a
b b
b
a
b b
a
b b
q2
q2 q2
q1q2 q1q2 q1q2 q1q2
q0q2 q0q2 q0q2 q0q2q0q2 q0q2 q0q2 q0q2
δ(a, q1) ={{(q0, q0)}} rk(qi) = iδ(b, q2) ={{(q1, q1), (q2, q2)}}
δ(a, q0) = δ(b, q0){{(q0, q0)}}δ(a, q2) ={{(q2, q2)}}δ(b, q1) ={{(q1, q1)}}
weak MSOLa
b
a
Ω b
a
b b
b
a
b b
a
b b
q2
q2 q2
q1q2 q1q2 q1q2 q1q2
q0q2 q0q2 q0q2 q0q2q0q2 q0q2 q0q2 q0q2
δ(a, q1) ={{(q0, q0)}} rk(qi) = iδ(b, q2) ={{(q1, q1), (q2, q2)}}
δ(a, q0) = δ(b, q0){{(q0, q0)}}δ(a, q2) ={{(q2, q2)}}δ(b, q1) ={{(q1, q1)}}
weak MSOLa
b
a
Ω b
a
b b
b
a
b b
a
b b
q2
q2 q2
q1q2 q1q2 q1q2 q1q2
q0q2 q0q2 q0q2 q0q2q0q2 q0q2 q0q2 q0q2
δ(a, q1) ={{(q0, q0)}} rk(qi) = iδ(b, q2) ={{(q1, q1), (q2, q2)}}
δ(a, q0) = δ(b, q0){{(q0, q0)}}δ(a, q2) ={{(q2, q2)}}δ(b, q1) ={{(q1, q1)}}
weak MSOLa
b
a
Ω b
a
b b
b
a
b b
a
b b
q2
q2 q2
q1q2 q1q2 q1q2 q1q2
q0q2 q0q2 q0q2 q0q2q0q2 q0q2 q0q2 q0q2
δ(a, q1) ={{(q0, q0)}} rk(qi) = iδ(b, q2) ={{(q1, q1), (q2, q2)}}
δ(a, q0) = δ(b, q0){{(q0, q0)}}δ(a, q2) ={{(q2, q2)}}δ(b, q1) ={{(q1, q1)}}
weak MSOLa
b
a
Ω b
a
b b
b
a
b b
a
b b
q2
q2 q2
q1q2 q1q2 q1q2 q1q2
q0q2 q0q2 q0q2 q0q2q0q2 q0q2 q0q2 q0q2
δ(a, q1) ={{(q0, q0)}} rk(qi) = iδ(b, q2) ={{(q1, q1), (q2, q2)}}
δ(a, q0) = δ(b, q0){{(q0, q0)}}δ(a, q2) ={{(q2, q2)}}δ(b, q1) ={{(q1, q1)}}
Structure of weak Parity automata accepting runs
4
3
2
1
0
Layered monotone modelsThe layered monotone model over the finite latticesL0 = (Q0,≤0), …, Lk = (Qk ,≤k):
D = ({(DA,vA)}A∈T t, ρ) ρ : Cst → D
whereI D0 = L0 × · · · × Lk and f v0 g is the product order,I e = (a1, . . . , ak), e|i = (a1, . . . , ai),
I DB→C = [DB →l DC ] = {f ∈ [DB →m DC ] | ∀g , g ′ ∈DB ,∀i ≤ k, g|i = g ′|i ⇒ (f (g))|i = (f (g
′))|i}vB→C= pointwise ordering.
I DB→C |i = [DB|i →l DC |i ]I for f ∈ DB→C , f|i(g|i) = (f (g))|i ,I DB→C ,i = {f ∈ DB→B | ∀g ∈ DB ,∀j 6= i , πj(f (g)) = ⊥DC,j}.
LemmaFor all A, DA is isomorphic to DA,0 × · · · × DA,k .
Layered monotone modelsThe layered monotone model over the finite latticesL0 = (Q0,≤0), …, Lk = (Qk ,≤k):
D = ({(DA,vA)}A∈T t, ρ) ρ : Cst → D
whereI D0 = L0 × · · · × Lk and f v0 g is the product order,I e = (a1, . . . , ak), e|i = (a1, . . . , ai),
I DB→C = [DB →l DC ] = {f ∈ [DB →m DC ] | ∀g , g ′ ∈DB ,∀i ≤ k, g|i = g ′|i ⇒ (f (g))|i = (f (g
′))|i}vB→C= pointwise ordering.
I DB→C |i = [DB|i →l DC |i ]I for f ∈ DB→C , f|i(g|i) = (f (g))|i ,I DB→C ,i = {f ∈ DB→B | ∀g ∈ DB ,∀j 6= i , πj(f (g)) = ⊥DC,j}.
LemmaFor all A, DA is isomorphic to DA,0 × · · · × DA,k .
Layered monotone modelsThe layered monotone model over the finite latticesL0 = (Q0,≤0), …, Lk = (Qk ,≤k):
D = ({(DA,vA)}A∈T t, ρ) ρ : Cst → D
whereI D0 = L0 × · · · × Lk and f v0 g is the product order,I e = (a1, . . . , ak), e|i = (a1, . . . , ai),I DB→C = [DB →l DC ] = {f ∈ [DB →m DC ] | ∀g , g ′ ∈
DB , ∀i ≤ k, g|i = g ′|i ⇒ (f (g))|i = (f (g′))|i}
vB→C= pointwise ordering.
I DB→C |i = [DB|i →l DC |i ]I for f ∈ DB→C , f|i(g|i) = (f (g))|i ,I DB→C ,i = {f ∈ DB→B | ∀g ∈ DB ,∀j 6= i , πj(f (g)) = ⊥DC,j}.
LemmaFor all A, DA is isomorphic to DA,0 × · · · × DA,k .
Layered monotone modelsThe layered monotone model over the finite latticesL0 = (Q0,≤0), …, Lk = (Qk ,≤k):
D = ({(DA,vA)}A∈T t, ρ) ρ : Cst → D
whereI D0 = L0 × · · · × Lk and f v0 g is the product order,I e = (a1, . . . , ak), e|i = (a1, . . . , ai),I DB→C = [DB →l DC ] = {f ∈ [DB →m DC ] | ∀g , g ′ ∈
DB , ∀i ≤ k, g|i = g ′|i ⇒ (f (g))|i = (f (g′))|i}
vB→C= pointwise ordering.I DB→C |i = [DB|i →l DC |i ]
I for f ∈ DB→C , f|i(g|i) = (f (g))|i ,I DB→C ,i = {f ∈ DB→B | ∀g ∈ DB ,∀j 6= i , πj(f (g)) = ⊥DC,j}.
LemmaFor all A, DA is isomorphic to DA,0 × · · · × DA,k .
Layered monotone modelsThe layered monotone model over the finite latticesL0 = (Q0,≤0), …, Lk = (Qk ,≤k):
D = ({(DA,vA)}A∈T t, ρ) ρ : Cst → D
whereI D0 = L0 × · · · × Lk and f v0 g is the product order,I e = (a1, . . . , ak), e|i = (a1, . . . , ai),I DB→C = [DB →l DC ] = {f ∈ [DB →m DC ] | ∀g , g ′ ∈
DB , ∀i ≤ k, g|i = g ′|i ⇒ (f (g))|i = (f (g′))|i}
vB→C= pointwise ordering.I DB→C |i = [DB|i →l DC |i ]I for f ∈ DB→C , f|i(g|i) = (f (g))|i ,
I DB→C ,i = {f ∈ DB→B | ∀g ∈ DB ,∀j 6= i , πj(f (g)) = ⊥DC,j}.
LemmaFor all A, DA is isomorphic to DA,0 × · · · × DA,k .
Layered monotone modelsThe layered monotone model over the finite latticesL0 = (Q0,≤0), …, Lk = (Qk ,≤k):
D = ({(DA,vA)}A∈T t, ρ) ρ : Cst → D
whereI D0 = L0 × · · · × Lk and f v0 g is the product order,I e = (a1, . . . , ak), e|i = (a1, . . . , ai),I DB→C = [DB →l DC ] = {f ∈ [DB →m DC ] | ∀g , g ′ ∈
DB , ∀i ≤ k, g|i = g ′|i ⇒ (f (g))|i = (f (g′))|i}
vB→C= pointwise ordering.I DB→C |i = [DB|i →l DC |i ]I for f ∈ DB→C , f|i(g|i) = (f (g))|i ,I DB→C ,i = {f ∈ DB→B | ∀g ∈ DB ,∀j 6= i , πj(f (g)) = ⊥DC,j}.
LemmaFor all A, DA is isomorphic to DA,0 × · · · × DA,k .
Layered monotone modelsThe layered monotone model over the finite latticesL0 = (Q0,≤0), …, Lk = (Qk ,≤k):
D = ({(DA,vA)}A∈T t, ρ) ρ : Cst → D
whereI D0 = L0 × · · · × Lk and f v0 g is the product order,I e = (a1, . . . , ak), e|i = (a1, . . . , ai),I DB→C = [DB →l DC ] = {f ∈ [DB →m DC ] | ∀g , g ′ ∈
DB , ∀i ≤ k, g|i = g ′|i ⇒ (f (g))|i = (f (g′))|i}
vB→C= pointwise ordering.I DB→C |i = [DB|i →l DC |i ]I for f ∈ DB→C , f|i(g|i) = (f (g))|i ,I DB→C ,i = {f ∈ DB→B | ∀g ∈ DB ,∀j 6= i , πj(f (g)) = ⊥DC,j}.
LemmaFor all A, DA is isomorphic to DA,0 × · · · × DA,k .
Towards a Semantics of Y : Galois Connections
For f = (f1, . . . , fi) in DA|i we let:I f ↑ = (f1, . . . , fi ,>A,i),I f ↓ = (f1, . . . , fi ,⊥A,i)
For f = (f1, . . . , fi , fi+1) in DA|i+1 we let:
f = (f1, . . . , fi)
We have, for f ∈ DA|i and g ∈ DA|i+1:I g ≤ f iff g ≤ f ↑,I f ≤ g iff f ↓ ≤ g
Towards a Semantics of Y
We inductively define fixi as an element of DA→A|i :I fix0(f ) =
d{f n(>A,0) | n ∈ N}
I fix2i+1(f ) =⊔{f n((fix2i(f ))↓) | n ∈ N}
I fix2i+2(f ) =d{f n((fix2i+1(f ))↑) | n ∈ N}
DA|0
>A,0
fix0(f )
Towards a Semantics of Y
We inductively define fixi as an element of DA→A|i :I fix0(f ) =
d{f n(>A,0) | n ∈ N}
I fix2i+1(f ) =⊔{f n((fix2i(f ))↓) | n ∈ N}
I fix2i+2(f ) =d{f n((fix2i+1(f ))↑) | n ∈ N}
DA|2i
DA|2i+1
DA|2i+1
DA|2i+2
f
(fix2i+1(f ))↑
(fix2i(f ))↓
fix2i(f )
fix2i+1(f )
Towards a Semantics of Y
We inductively define fixi as an element of DA→A|i :I fix0(f ) =
d{f n(>A,0) | n ∈ N}
I fix2i+1(f ) =⊔{f n((fix2i(f ))↓) | n ∈ N}
I fix2i+2(f ) =d{f n((fix2i+1(f ))↑) | n ∈ N}
DA|2i
DA|2i+1
DA|2i+1
DA|2i+2f
(fix2i+1(f ))↑
(fix2i(f ))↓
fix2i(f )
fix2i+1(f )
Layered monotone models and weak automata
Theorem (S. Walukiewicz 15)Given D a layered monotone model and A ⊆ D0, M is recognizedby A iff BT (M) is accepted by a weak alternating parityautomaton.
I The model lives inside the monotone model where we haveremoved meaningless functions.
I Dualities in the model −→ means for reasonning for provingor refuting properties.
Layered monotone models and weak automata
Theorem (S. Walukiewicz 15)Given D a layered monotone model and A ⊆ D0, M is recognizedby A iff BT (M) is accepted by a weak alternating parityautomaton.
I The model lives inside the monotone model where we haveremoved meaningless functions.
I Dualities in the model −→ means for reasonning for provingor refuting properties.
Layered monotone models and weak automata
Theorem (S. Walukiewicz 15)Given D a layered monotone model and A ⊆ D0, M is recognizedby A iff BT (M) is accepted by a weak alternating parityautomaton.
I The model lives inside the monotone model where we haveremoved meaningless functions.
I Dualities in the model −→ means for reasonning for provingor refuting properties.
Models for MSOL
Color modalities (1)
Color modalities (2)
General principles
I Maintaining the information of the maximal color seen fromthe root of a Böhm tree to occurrences of variables.
I We use Scott domains enriched with this information.I As for weak MSOL we remove meaningless interpretations.
Enriched Scott domains
Fix a parity automaton A, rk(q) is the color associated to q.
Enriched domain
R0 = P({(q, r) : q ∈ Q and rk(q) ≤ r ≤ m})
h�r = {(q, i) ∈ h : r ≤ i} ∪ {(q, j) : (q, r) ∈ h, rk(q) ≤ j ≤ r}
LemmaFor h ∈ R0, q ∈ Q, and r , r1, r2 ∈ [m]:
I (h�r1)�r2 = h�max(r1,r2);I (q, rk(q)) ∈ h�r iff (q,max(r , rk(q)) ∈ h
h⇓q = {r | (q, r) ∈ h}
Result domain
Fix a parity automaton A, rk(q) is the color associated to q.Result domain
D0 = P(Q)
f · r = {(q, r) : q ∈ R0 and rk(q) ≤ r}
f ⇓q = f ∩ {q}
For h in R0, leth∂ = {q : (q, rk(q)) ∈ h}
Going higher-order
Enriched domain RA→B is the set of monotone functions from RAto RB so that:
∀g ∈ RA. ∀q ∈ Q. (f (g))⇓q = (f (g�rk(q)))⇓q
Where f ⇓q(g) = f (g)⇓q, f �rk(q)(g) = f (g)�rk(q) andf ∂(g) = f (g)∂
Result domainDA→B is the set of monotone functions from RA to DB so that:
∀g ∈ RA. ∀q ∈ Q. (f (g))⇓q = (f (g�rk(q)))⇓q
Where f ⇓q(g) = f (g)⇓q and f · r(g) = f (g) · r .
Interpretation of terms
[[x , ν]] = (ν(x))∂[[a, ν]]h1 . . . hk = {q : ∃(q1,...,qk)∈(q,a) qi ∈ (hi�rk(q))
∂ for all i}[[λx .M, ν]]h = [[M, ν[h/x ]]][[MN, ν]] = [[M, ν]]〈〈N, ν〉〉 where 〈〈N, ν〉〉 =
∨mr=0
([[N, ν�r ]] · r
)and ν�r (x) = ν(x)�r
[[Y , ν]]h = µfm.νfm−1 . . . µf1.νf0. (h�l)∂(∨l
i=0 fi · i)
Theorem (Soundness (S. Walukiewicz 15))If BT (M) = BT (N) then [[M, ν]] = [[N, ν]].
Theorem (Completeness (S. Walukiewicz 15))For M closed and of type 0, q ∈ [[M]] iff A has an accepting runstarting from q on BT (M).
Interpretation of terms
[[x , ν]] = (ν(x))∂[[a, ν]]h1 . . . hk = {q : ∃(q1,...,qk)∈(q,a) qi ∈ (hi�rk(q))
∂ for all i}[[λx .M, ν]]h = [[M, ν[h/x ]]][[MN, ν]] = [[M, ν]]〈〈N, ν〉〉 where 〈〈N, ν〉〉 =
∨mr=0
([[N, ν�r ]] · r
)and ν�r (x) = ν(x)�r
[[Y , ν]]h = µfm.νfm−1 . . . µf1.νf0. (h�l)∂(∨l
i=0 fi · i)
Theorem (Soundness (S. Walukiewicz 15))If BT (M) = BT (N) then [[M, ν]] = [[N, ν]].
Theorem (Completeness (S. Walukiewicz 15))For M closed and of type 0, q ∈ [[M]] iff A has an accepting runstarting from q on BT (M).
Interpretation of terms
[[x , ν]] = (ν(x))∂[[a, ν]]h1 . . . hk = {q : ∃(q1,...,qk)∈(q,a) qi ∈ (hi�rk(q))
∂ for all i}[[λx .M, ν]]h = [[M, ν[h/x ]]][[MN, ν]] = [[M, ν]]〈〈N, ν〉〉 where 〈〈N, ν〉〉 =
∨mr=0
([[N, ν�r ]] · r
)and ν�r (x) = ν(x)�r
[[Y , ν]]h = µfm.νfm−1 . . . µf1.νf0. (h�l)∂(∨l
i=0 fi · i)
Theorem (Soundness (S. Walukiewicz 15))If BT (M) = BT (N) then [[M, ν]] = [[N, ν]].
Theorem (Completeness (S. Walukiewicz 15))For M closed and of type 0, q ∈ [[M]] iff A has an accepting runstarting from q on BT (M).
Conclusion
Finite-State Automata
Finite Algebras Logic
Conclusion
Finite-State Automata
Finite Models Logic
Conclusion
Intersection Types
Finite Models Logic
Conclusion
Intersection Types
Finite Models ??
Announcement
Igor and I have a PhD fellowship starting this Autumn in Bordeaux.We will welcome any good student willing to work on this topic.