105
Denotations for parity automata S. Salvati INRIA, I. Walukiewicz CNRS Université de Bordeaux Shonan Meeting: Higher-Order Model Checking

S.SalvatiINRIA,I.WalukiewiczCNRS UniversitédeBordeaux ... · Schematology Programs Schemes Typing/Logic/… Evaluationtrees Semantics verification execution adequacy abst. exec

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 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.