reasoning about knowledge and strategiesbastien maubertand aniello murano 1/13. program synthesis...

44
Reasoning about Knowledge and Strategies Bastien Maubert and Aniello Murano 1 / 13

Upload: others

Post on 17-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Reasoning about Knowledge and Strategies

Bastien Maubert and Aniello Murano

1 / 13

Page 2: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Program synthesis

Basic idea:

“Program synthesis is the task to automatically construct aprogram that satisfies a given high-level specification.”

We are interested in programs that:

Interact with an environment

May run forever

Example: operating systems, controllers in power plants. . .

Specification language: LTL

Propositional logic +

Xϕ: “ϕ holds at next step”

ϕUψ: “ϕ will hold until ψ holds”

Gϕ: “ϕ always holds”

Fϕ: “ϕ eventually holds”

2 / 13

Page 3: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1 i2 . . .o0 o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 4: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0

i1 i2 . . .o0 o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 5: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0

i1 i2 . . .

o0

o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 6: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1

i2 . . .

o0

o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 7: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1

i2 . . .

o0 o1

o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 8: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1 i2

. . .

o0 o1

o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 9: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1 i2

. . .

o0 o1 o2

. . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 10: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1 i2 . . .o0 o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 11: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1 i2 . . .o0 o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 12: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1 i2 . . .o0 o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?

3 / 13

Page 13: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

LTL synthesis (Pnueli and Rosner, 1989)

I: input variables,

O: output variables

Game between system and environment

Environment chooses valuations for I

System chooses valuations for O

i0 i1 i2 . . .o0 o1 o2 . . .

LTL synthesis problem

Given a specification ϕ ∈ LTL over I ∪O, synthesize a strategyσ : (2I)∗ → 2O such that all resulting behaviours satisfy ϕ.

Synthesize a finite representation of this infinite object.

What about synthesis of distributed systems?3 / 13

Page 14: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Distributed synthesis

p, q

p

q

(•, ◦, •)

(◦, •, •)

(◦, ◦, ◦)

(•, ◦, •)

(•, •, ◦)

(•, •, •)

∼a

p, q are atomic propositions◦, • are actions

strategies σ : Histories→ Actions

indistinguishability relations ∼a

Input: A concurrent game structure and a formula ϕ ∈ LTL

Output: A distributed strategy to enforce ϕ

4 / 13

Page 15: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Distributed synthesis

p, q

p

q

(•, ◦, •)

(◦, •, •)

(◦, ◦, ◦)

(•, ◦, •)

(•, •, ◦)

(•, •, •)

∼a

p, q are atomic propositions◦, • are actions

strategies σ : Histories→ Actionsindistinguishability relations ∼a

Input: A concurrent game structure and a formula ϕ ∈ LTL

Output: A distributed strategy to enforce ϕ

4 / 13

Page 16: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Distributed synthesis

p, q

p

q

(•, ◦, •)

(◦, •, •)

(◦, ◦, ◦)

(•, ◦, •)

(•, •, ◦)

(•, •, •)

∼a p, q are atomic propositions◦, • are actions

strategies σ : Histories→ Actionsindistinguishability relations ∼a

Input: A concurrent game structure and a formula ϕ ∈ LTL

Output: A distributed strategy to enforce ϕ

4 / 13

Page 17: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Imperfect information

1 Strategies must be consistent with players’ information

Constraint on strategies:

If h ∼a h′, then σa(h) = σa(h′).

2 Makes epistemic reasoning meaningful and useful

Example: opacity

A system is opaque for property P if a spy never knows whetherthe current execution is in P .

Classic definition:

∀h,∃h′ s.t. h ∼spy h′ and h′ /∈ P

With epistemic temporal logic:

G¬KspyP

5 / 13

Page 18: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Imperfect information

1 Strategies must be consistent with players’ information

Constraint on strategies:

If h ∼a h′, then σa(h) = σa(h′).

2 Makes epistemic reasoning meaningful and useful

Example: opacity

A system is opaque for property P if a spy never knows whetherthe current execution is in P .

Classic definition:

∀h,∃h′ s.t. h ∼spy h′ and h′ /∈ P

With epistemic temporal logic:

∃σ(c, σ)G¬KspyP

5 / 13

Page 19: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Semantics of knowledge when reasoning about strategies

Yellow subtree: controller’s strategy∼spy: spy’s indistinguishability relation

KspyP?

∼spy∼spyP P

Two possible semantics:

spy ignores controller’s strategy

Uninformed semantics

→ KspyP does not hold

spy knows controller’s strategy

Informed semantics

→ KspyP holds6 / 13

Page 20: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Semantics of knowledge when reasoning about strategies

Yellow subtree: controller’s strategy∼spy: spy’s indistinguishability relation

KspyP

∼spy∼spyP P

Two possible semantics:

spy ignores controller’s strategy

Uninformed semantics

→ KspyP does not hold

spy knows controller’s strategy

Informed semantics

→ KspyP holds6 / 13

Page 21: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Semantics of knowledge when reasoning about strategies

Yellow subtree: controller’s strategy∼spy: spy’s indistinguishability relation

KspyP

∼spy∼spyP P

Two possible semantics:

spy ignores controller’s strategy

Uninformed semantics

→ KspyP does not hold

spy knows controller’s strategy

Informed semantics

→ KspyP holds6 / 13

Page 22: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Semantics of knowledge when reasoning about strategies

Yellow subtree: controller’s strategy∼spy: spy’s indistinguishability relation

KspyP

∼spy∼spyP P

Two possible semantics:

spy ignores controller’s strategy Uninformed semantics→ KspyP does not hold

spy knows controller’s strategy Informed semantics→ KspyP holds

6 / 13

Page 23: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

In the litterature

Both semantics have been used, but implicitely.

Informed semantics:

Distributed synthesis from epistemic temporal specifications

van der Meyden and Vardi, 1998

van der Meyden and Wilke, 2005

Uninformed semantics:

All epistemic extensions of ATL and SL (that we know of)

One paper talks about this issue: Puchala, 2010

What is known about distributed synthesis?

7 / 13

Page 24: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

In the litterature

Both semantics have been used, but implicitely.

Informed semantics:

Distributed synthesis from epistemic temporal specifications

van der Meyden and Vardi, 1998

van der Meyden and Wilke, 2005

Uninformed semantics:

All epistemic extensions of ATL and SL (that we know of)

One paper talks about this issue: Puchala, 2010

What is known about distributed synthesis?

7 / 13

Page 25: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Overview

Peterson and Reif (1979), Pnueli and Rosner (1990)

Distributed synthesis for reachability objective is undecidable.

Two known ways of retrieving decidability for temporal objectives:

1 Public actions

2 Hierarchical information

For epistemic temporal objectives and

informed semantics:

decidable for public actionsundecidable for hierarchical information

[van der Meyden and Wilke, 2005]

uninformed semantics:

decidable for public actions [Belardinelli et al., 2017]decidable for hierarchical information [Puchala, 2010]

8 / 13

Page 26: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Overview

Peterson and Reif (1979), Pnueli and Rosner (1990)

Distributed synthesis for reachability objective is undecidable.

Two known ways of retrieving decidability for temporal objectives:

1 Public actions

2 Hierarchical information

For epistemic temporal objectives and

informed semantics:

decidable for public actionsundecidable for hierarchical information

[van der Meyden and Wilke, 2005]

uninformed semantics:

decidable for public actions [Belardinelli et al., 2017]decidable for hierarchical information [Puchala, 2010]

8 / 13

Page 27: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

SL with imperfect information and knowledge

SL (Chatterjee et al. 2010, Mogavero et al. 2014)

LTL +

∃σ ϕ“there exists a strategy σ s.t. ϕ”

(a, σ)ϕ“when player a plays strategy σ, ϕ”

9 / 13

Page 28: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

SL with imperfect information and knowledge

SLii (Berthon et al. 2017)

LTL +

∃oσ ϕ“there exists a strategy σ with observational power o s.t. ϕ”

(a, σ)ϕ“when player a plays strategy σ, ϕ”

9 / 13

Page 29: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

SL with imperfect information and knowledge

ESL (M. and Murano, 2018)

LTL +

∃oσ ϕ“there exists a strategy σ with observational power o s.t. ϕ”

(a, σ)ϕ“when player a plays strategy σ, ϕ”

Kaϕ“player a knows that ϕ”

Aϕ“in all outcomes, ϕ”

9 / 13

Page 30: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

What can ESL express?

Distributed synthesis:

∃o1x1 . . . ∃onxn (a1, x1) . . . (an, xn)∀oey (e, y)ψ

Existence of Nash equilibria:

∃oax ∃oby ∃ocz (a, x)(b, y)(c, z)∧d∈{a,b,c} ∃odx′ (d, x′) Wind →Wind

Players changing observation:

∃o1x1 (a, x1)AF∃o2x2 (a, x2)AF Wina

“First I find my glasses, then I play for real.”

10 / 13

Page 31: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Main result

Hierarchical instances

An ESL formula Φ is hierarchical if:

innermost strategies observe better than outermost ones

epistemic subformulas do not talk about current strategies

Considering the uninformed semantics of knowledge:

Theorem

Model-checking hierarchical instances of ESL is decidable.

11 / 13

Page 32: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Corollaries:

On systems with hierarchical information,for epistemic temporal specifications with uninformed semantics,

We can solve

distributed synthesis,

module checking,

synthesis of Nash equilibria,

rational synthesis,

. . .

12 / 13

Page 33: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Interested? Come to Napoli!

Page 34: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational synthesisFisman et al. (2010), Condurache et al. (2016), Kupferman et al. (2016)

Environment made of several components {e1, . . . , em}individual LTL goals ψi

System made of one component a

LTL specification ψg

Φc-RS := ∃x ∃y1 . . . ∃ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀y1 . . . ∀ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 35: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi

System made of one component a

LTL specification ψg

Φc-RS := ∃x ∃y1 . . . ∃ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀y1 . . . ∀ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 36: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of one component a

LTL specification ψg

Φc-RS := ∃x ∃y1 . . . ∃ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀y1 . . . ∀ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 37: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg

Φc-RS := ∃x ∃y1 . . . ∃ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀y1 . . . ∀ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 38: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg and observations oi

Φc-RS := ∃x ∃y1 . . . ∃ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀y1 . . . ∀ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 39: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg and observations oi

Φc-RS := ∃x ∃oe1y1 . . . ∃oe1ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀y1 . . . ∀ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 40: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg and observations oi

Φc-RS := ∃o1x1 . . . ∃onxn ∃oe1y1 . . . ∃o

e1ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀y1 . . . ∀ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 41: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg and observations oi

Φc-RS := ∃o1x1 . . . ∃onxn ∃oe1y1 . . . ∃o

e1ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃x ∀oe1y1 . . . ∀oe1ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 42: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg and observations oi

Φc-RS := ∃o1x1 . . . ∃onxn ∃oe1y1 . . . ∃o

e1ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃o1x1 . . . ∃onxn ∀oe1y1 . . . ∀o

e1ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 43: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg and observations oi

Φc-RS := ∃o1x1 . . . ∃onxn ∃oe1y1 . . . ∃o

e1ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃o1x1 . . . ∃onxn ∀oe1y1 . . . ∀o

e1ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃oei y′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1

Page 44: Reasoning about Knowledge and StrategiesBastien Maubertand Aniello Murano 1/13. Program synthesis Basic idea: \Program synthesis is the task to automatically construct a program that

Rational distributed synthesis

Rational distributed synthesis

Environment made of several components {e1, . . . , em}individual LTL goals ψi and observations oeiSystem made of several components {a1, . . . , an}LTL specification ψg and observations oi

Φc-RS := ∃o1x1 . . . ∃onxn ∃oe1y1 . . . ∃o

e1ym (a,x)(e,y)ϕNE ∧Aψg

Φnc-RS := ∃o1x1 . . . ∃onxn ∀oe1y1 . . . ∀o

e1ym (a,x)(e,y)ϕNE → Aψg

whereϕNE :=

∧i∈[m]

[(∃opy′i (ei, y

′i)Aψi

)→ Aψi

]

1 / 1