Probabilistic Applicative Bisimulation and Call-by-Value Lambda - - PowerPoint PPT Presentation

probabilistic applicative bisimulation and call by value
SMART_READER_LITE
LIVE PREVIEW

Probabilistic Applicative Bisimulation and Call-by-Value Lambda - - PowerPoint PPT Presentation

Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Applicative Bisimulation and Call-by-Value Lambda Calculi Joint work with Ugo Dal Lago Raphalle Crubill ENS Lyon February 9, 2014 Raphalle Crubill


slide-1
SLIDE 1

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Probabilistic Applicative Bisimulation and Call-by-Value Lambda Calculi

Joint work with Ugo Dal Lago Raphaëlle Crubillé

ENS Lyon

February 9, 2014

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-2
SLIDE 2

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Introduction

Fundamental question: when can two programs be considered equivalent?

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-3
SLIDE 3

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Introduction

Fundamental question: when can two programs be considered equivalent? Context equivalence [Morris1968] :

Two terms M and N are context equivalent if their observable behavior is the same in any context.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-4
SLIDE 4

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Introduction

Fundamental question: when can two programs be considered equivalent? Context equivalence [Morris1968] :

Two terms M and N are context equivalent if their observable behavior is the same in any context. Proving that two programs are not equivalent is relatively easy: just find a context that separates them. Proving that two program are indeed equivalent, on the other hand, can be quite complicated.

Other equivalence notion : Bisimilarity

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-5
SLIDE 5

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Our result

For a probabilistic λ-calculus (Λ⊕) :

Context Equivalence = Bisimilarity

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-6
SLIDE 6

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

1

Λ⊕ Syntax and Operational Semantics Motivating Example : Perfect Security

2

Bisimulation Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

3

Context Equivalence vs. Bisimulation ∼⊆≡ Full Abstraction

4

Conclusions

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-7
SLIDE 7

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

1

Λ⊕ Syntax and Operational Semantics Motivating Example : Perfect Security

2

Bisimulation Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

3

Context Equivalence vs. Bisimulation ∼⊆≡ Full Abstraction

4

Conclusions

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-8
SLIDE 8

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

Syntax and Operational Semantics of Λ⊕ [DLZorzi2012]

Terms: M, N ::= x | λx.M | MM | M ⊕ M;

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-9
SLIDE 9

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

Syntax and Operational Semantics of Λ⊕ [DLZorzi2012]

Terms: M, N ::= x | λx.M | MM | M ⊕ M; Values: V ::= λx.M;

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-10
SLIDE 10

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

Syntax and Operational Semantics of Λ⊕ [DLZorzi2012]

Terms: M, N ::= x | λx.M | MM | M ⊕ M; Values: V ::= λx.M; Approximation (Big-Step) Semantics:

M ⇓ D, where D : Values → [0, 1] sub-probability distribution. Approximation from below : only finite distributions M ⇓ ∅ V ⇓ {V 1} M ⇓ D N ⇓ E M ⊕ N ⇓ 1

2D + 1 2E

M ⇓ K N ⇓ F {P[V /x] ⇓ E P,V }λx.P∈S(K ), V ∈S(F) MN ⇓

  • V ∈S(F)

F(V )

  • λx.P∈S(K ) K (λx.P)EP,V
  • Raphaëlle Crubillé

Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-11
SLIDE 11

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

Syntax and Operational Semantics of Λ⊕ [DLZorzi2012]

Terms: M, N ::= x | λx.M | MM | M ⊕ M; Values: V ::= λx.M; Approximation (Big-Step) Semantics:

M ⇓ D, where D : Values → [0, 1] sub-probability distribution. Approximation from below : only finite distributions M ⇓ ∅ V ⇓ {V 1} M ⇓ D N ⇓ E M ⊕ N ⇓ 1

2D + 1 2E

M ⇓ K N ⇓ F {P[V /x] ⇓ E P,V }λx.P∈S(K ), V ∈S(F) MN ⇓

  • V ∈S(F)

F(V )

  • λx.P∈S(K ) K (λx.P)EP,V
  • Semantics: M = supM⇓D D;

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-12
SLIDE 12

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

Syntax and Operational Semantics of Λ⊕ [DLZorzi2012]

Terms: M, N ::= x | λx.M | MM | M ⊕ M; Values: V ::= λx.M; Approximation (Big-Step) Semantics:

M ⇓ D, where D : Values → [0, 1] sub-probability distribution. Approximation from below : only finite distributions M ⇓ ∅ V ⇓ {V 1} M ⇓ D N ⇓ E M ⊕ N ⇓ 1

2D + 1 2E

M ⇓ K N ⇓ F {P[V /x] ⇓ E P,V }λx.P∈S(K ), V ∈S(F) MN ⇓

  • V ∈S(F)

F(V )

  • λx.P∈S(K ) K (λx.P)EP,V
  • Semantics: M = supM⇓D D;

Variations: Small-Step Semantics, Call-by-name Evaluation.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-13
SLIDE 13

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

Why Probabilistic Computation?

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-14
SLIDE 14

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-15
SLIDE 15

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

Let Π = (GEN, ENC, DEC) be a cryptoscheme. Let A = (A1, A2) be an adversary.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-16
SLIDE 16

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

Let Π = (GEN, ENC, DEC) be a cryptoscheme. Let A = (A1, A2) be an adversary.

PrivKΠ

A

m0, m1 ← A1;

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-17
SLIDE 17

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

Let Π = (GEN, ENC, DEC) be a cryptoscheme. Let A = (A1, A2) be an adversary.

PrivKΠ

A

m0, m1 ← A1; b ← {0, 1}; k ← GEN;

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-18
SLIDE 18

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

Let Π = (GEN, ENC, DEC) be a cryptoscheme. Let A = (A1, A2) be an adversary.

PrivKΠ

A

m0, m1 ← A1; b ← {0, 1}; k ← GEN; c ← ENC(mb, k);

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-19
SLIDE 19

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

Let Π = (GEN, ENC, DEC) be a cryptoscheme. Let A = (A1, A2) be an adversary.

PrivKΠ

A

m0, m1 ← A1; b ← {0, 1}; k ← GEN; c ← ENC(mb, k); b′ ← A2(c);

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-20
SLIDE 20

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

Let Π = (GEN, ENC, DEC) be a cryptoscheme. Let A = (A1, A2) be an adversary.

PrivKΠ

A

m0, m1 ← A1; b ← {0, 1}; k ← GEN; c ← ENC(mb, k); b′ ← A2(c); return b = b′.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-21
SLIDE 21

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security For every adversary A,

Pr(PrivKΠ

A = true) = 1

2

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-22
SLIDE 22

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

One-Time-Pad GEN = true ⊕ false : bool; ENC = λx.λy.if x then (NOT y) else y : bool → bool → bool; DEC = ENC.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-23
SLIDE 23

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

One-Time-Pad GEN = true ⊕ false : bool; ENC = λx.λy.if x then (NOT y) else y : bool → bool → bool; DEC = ENC. The Experiment as a Pair of Terms EXPFST = λx.λy.ENC x GEN : bool → bool → bool; EXPSND = λx.λy.ENC y GEN : bool → bool → bool.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-24
SLIDE 24

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Syntax and Operational Semantics Motivating Example : Perfect Security

An Example: Perfect Security

One-Time-Pad GEN = true ⊕ false : bool; ENC = λx.λy.if x then (NOT y) else y : bool → bool → bool; DEC = ENC. The Experiment as a Pair of Terms EXPFST = λx.λy.ENC x GEN : bool → bool → bool; EXPSND = λx.λy.ENC y GEN : bool → bool → bool. ∀A.Pr(PrivKOTP

A

= true) = 1 2 ⇔ EXPFST ≡ EXPSND

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-25
SLIDE 25

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

1

Λ⊕ Syntax and Operational Semantics Motivating Example : Perfect Security

2

Bisimulation Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

3

Context Equivalence vs. Bisimulation ∼⊆≡ Full Abstraction

4

Conclusions

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-26
SLIDE 26

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Bisimilarity (deterministic case)

Let (S, Act, →) be a LTS (Labelled Transition System). A Simulation is a relation R on S such that : If p R q, and p a − → s, there exists t such that q a − → t and s R t. p q s a R Bisimilarity : p and q are bisimilar if : p R q, and R is a bisimulation.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-27
SLIDE 27

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Bisimilarity (deterministic case)

Let (S, Act, →) be a LTS (Labelled Transition System). A Simulation is a relation R on S such that : If p R q, and p a − → s, there exists t such that q a − → t and s R t. p q s t a a R R Bisimilarity : p and q are bisimilar if : p R q, and R is a bisimulation.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-28
SLIDE 28

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-29
SLIDE 29

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms Values

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-30
SLIDE 30

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms Values M N L . . .

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-31
SLIDE 31

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms Values M N L . . . V W Z . . .

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-32
SLIDE 32

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms Values M

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-33
SLIDE 33

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms Values M V eval

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-34
SLIDE 34

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms Values M V eval λx.N

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-35
SLIDE 35

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Terms Values M V eval λx.N N{L/x} L

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-36
SLIDE 36

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Simulation M N λx.L eval λx.P eval L{R/x} R P{R/x} R

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-37
SLIDE 37

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Simulation M R N λx.L eval λx.P eval L{R/x} R P{R/x} R

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-38
SLIDE 38

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Simulation M R N λx.L eval λx.P eval L{R/x} R P{R/x} R R

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-39
SLIDE 39

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Applicative Bisimulation [Abramsky93]

Simulation M R N λx.L eval λx.P eval L{R/x} R P{R/x} R R Similarity: union of all simulations, denoted ; Bisimilarity: union of all bisimulations, denoted ∼. Theorem M ≡ N iff M ∼ N.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-40
SLIDE 40

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Probabilistic Bisimulation in the Abstract [LS1992]

Labelled Markov Chain (LMC): a triple M = (S, L, P), where S is a countable set of states; L is a set of labels; P is a transition probability matrix, i.e., a function P : S × L × S → R such that for every state s and for every label l, P(S, l, t) =

t∈S P(s, l, t) ≤ 1;

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-41
SLIDE 41

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Bisimilarity (probabilistic case)

Let (S, L, P) be a LMC (Labelled Markov Chain). E1 E2 p q

s1 s2 s3 s4 s5 a a

1 4 1 2 1 8 1 8 1 8 5 8

Bisimulation : R such that R equivalence relation on S. (p, q) ∈ R ⇒ for every equivalence class E, a ∈ L,

  • s∈E

P(p, a, s) =

  • s∈E

P(q, a, s) .

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-42
SLIDE 42

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

A Labelled Markov Chain for Λ⊕

Terms Values M

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-43
SLIDE 43

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

A Labelled Markov Chain for Λ⊕

Terms Values M V W Z . . . eval, M(V ) eval, M(W ) eval, M(Z)

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-44
SLIDE 44

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

A Labelled Markov Chain for Λ⊕

Terms Values λx.N

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-45
SLIDE 45

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

A Labelled Markov Chain for Λ⊕

Terms Values λx.N N{W /x} W , 1

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-46
SLIDE 46

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Back to Our Example

EXPFST = λx.λy.ENC x GEN : bool → bool → bool; EXPSND = λx.λy.ENC y GEN : bool → bool → bool.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-47
SLIDE 47

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Back to Our Example

EXPFST EXPSND λy.ENC true GEN λy.ENC false GEN λy.ENC y GEN

  • λy.ENC true GEN
  • λy.ENC false GEN
  • λy.ENC y GEN

ENC true GEN ENC false GEN

  • true
  • false

true false true false eval eval eval true false true false true false eval eval 1 2 1 2 1 2 1 2

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-48
SLIDE 48

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

Back to Our Example

Rσ = Xσ ∪ IDσ; Xbool = {(ENC true GEN), (ENC false GEN)}; Xbool→bool = {(λy.ENC y GEN), (λy.ENC true GEN), (λy.ENC false GEN)}; Xbool→bool→bool = {EXPFST, EXPSND};

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-49
SLIDE 49

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

1

Λ⊕ Syntax and Operational Semantics Motivating Example : Perfect Security

2

Bisimulation Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

3

Context Equivalence vs. Bisimulation ∼⊆≡ Full Abstraction

4

Conclusions

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-50
SLIDE 50

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Context Equivalence vs. Bisimulation

Contexts: C ::= [·] | λx.C | CM | MC | M ⊕ C | C ⊕ M. Context Equivalence: M ≡ N iff for every context C it holds that C[M] = C[N]. Theorem ∼ is included in ≡. Lemma ∼ is a congruence. M ∼ N = ⇒ C[M] ∼ C[N] Howe’s technique.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-51
SLIDE 51

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction?

∼ is a sound methodology for program equivalence. Is it also complete? CBN : No [DLSA2014]

Counterexample: M = λx.λy.(Ω ⊕ I); N = λx.(λy.Ω) ⊕ (λy.I).

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-52
SLIDE 52

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction?

∼ is a sound methodology for program equivalence. Is it also complete? CBN : No [DLSA2014]

Counterexample: M = λx.λy.(Ω ⊕ I); N = λx.(λy.Ω) ⊕ (λy.I). Of course, I ∼ Ω and as a consequence λy.Ω ∼ λy.I ∼ λy.(Ω ⊕ I) = ⇒ M ∼ N.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-53
SLIDE 53

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction?

∼ is a sound methodology for program equivalence. Is it also complete? CBN : No [DLSA2014]

Counterexample: M = λx.λy.(Ω ⊕ I); N = λx.(λy.Ω) ⊕ (λy.I). Of course, I ∼ Ω and as a consequence λy.Ω ∼ λy.I ∼ λy.(Ω ⊕ I) = ⇒ M ∼ N. On the other hand, M ≡ N.

We need a CIU-Theorem for that.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-54
SLIDE 54

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction?

∼ is a sound methodology for program equivalence. Is it also complete? CBN : No [DLSA2014]

Counterexample: M = λx.λy.(Ω ⊕ I); N = λx.(λy.Ω) ⊕ (λy.I). Of course, I ∼ Ω and as a consequence λy.Ω ∼ λy.I ∼ λy.(Ω ⊕ I) = ⇒ M ∼ N. On the other hand, M ≡ N.

We need a CIU-Theorem for that.

CBV

The counterexample above cannot be easily adapted. Contexts seem to be more powerful.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-55
SLIDE 55

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction in CBV

Tests: t ::= ω | a · t | t, t. Semantics of Tests PM(x, ω) = 1; PM(x, a · t) =

  • s∈S

P(x, a, s) · PM(s, t) PM(x, t, s) = PM(x, t) · PM(x, s). Theorem (vBMMW2004) x ∼ y iff for every test t it holds that PM(x, t) = PM(y, t).

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-56
SLIDE 56

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction in CBV

Tests: t ::= ω | a · t | t, t. Semantics of Tests PM(x, ω) = 1; PM(x, a · t) =

  • s∈S

P(x, a, s) · PM(s, t) PM(x, t, s) = PM(x, t) · PM(x, s). Theorem (vBMMW2004) x ∼ y iff for every test t it holds that PM(x, t) = PM(y, t). But the question now is: are contexts powerful enough to implement every possible test?

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-57
SLIDE 57

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction in CBV

Contexts do not have the necessary discriminating power in CBN.

Conjecture: only tests in the form t1, . . . , tn where each ti is a trace can be captured.

In CBV evaluation, terms can be copied after being evaluated!

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-58
SLIDE 58

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction in CBV

Contexts do not have the necessary discriminating power in CBN.

Conjecture: only tests in the form t1, . . . , tn where each ti is a trace can be captured.

In CBV evaluation, terms can be copied after being evaluated!

  • Lemma. For every test t there is a context Ct which is

equivalent to t in CBV.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-59
SLIDE 59

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Full Abstraction in CBV

Contexts do not have the necessary discriminating power in CBN.

Conjecture: only tests in the form t1, . . . , tn where each ti is a trace can be captured.

In CBV evaluation, terms can be copied after being evaluated!

  • Lemma. For every test t there is a context Ct which is

equivalent to t in CBV.

  • Theorem. In CBV, ∼ and ≡ coincide.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-60
SLIDE 60

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

How About Simulation (in CBV)?

Similarity can itself be characterized by a notion of testing, but for a stronger notion of test.

General boolean tests are allowed, including disjunctive tests.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-61
SLIDE 61

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

How About Simulation (in CBV)?

Similarity can itself be characterized by a notion of testing, but for a stronger notion of test.

General boolean tests are allowed, including disjunctive tests. The grammar of test needs to be enriched: t ::= ω | a · t | t, t | t ∨ t | . . ..

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-62
SLIDE 62

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

How About Simulation (in CBV)?

Similarity can itself be characterized by a notion of testing, but for a stronger notion of test.

General boolean tests are allowed, including disjunctive tests. The grammar of test needs to be enriched: t ::= ω | a · t | t, t | t ∨ t | . . ..

Let us look at the counterexample for CBN: M = λx.λy.(Ω ⊕ I); N = λx.(λy.Ω) ⊕ (λy.I).

The two terms are incomparable by . But how about context equivalence?

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-63
SLIDE 63

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

How About Simulation (in CBV)?

Similarity can itself be characterized by a notion of testing, but for a stronger notion of test.

General boolean tests are allowed, including disjunctive tests. The grammar of test needs to be enriched: t ::= ω | a · t | t, t | t ∨ t | . . ..

Let us look at the counterexample for CBN: M = λx.λy.(Ω ⊕ I); N = λx.(λy.Ω) ⊕ (λy.I).

The two terms are incomparable by . But how about context equivalence?

  • Lemma. M ≤ N.
  • Proof. Purely operational.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-64
SLIDE 64

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions ∼⊆≡ Full Abstraction

Our Neighborhood

Λ, where we observe convergence

∼ ⊆ ≡ ≡ ⊆ ∼ ⊆ ≤ ≤ ⊆ CBN

  • CBV
  • [Abramsky1990,Howe1993]

Λ⊕ with nondeterministic semantics, where we observe convergence, in its may or must flavors.

∼ ⊆ ≡ ≡ ⊆ ∼ ⊆ ≤ ≤ ⊆ CBN

  • ×
  • ×

CBV

  • ×
  • ×

[Ong1993,Lassen1998]

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-65
SLIDE 65

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

1

Λ⊕ Syntax and Operational Semantics Motivating Example : Perfect Security

2

Bisimulation Probabilistic Bisimulation in the abstact A Labelled Markov Chain for Λ⊕ Example

3

Context Equivalence vs. Bisimulation ∼⊆≡ Full Abstraction

4

Conclusions

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-66
SLIDE 66

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Conclusions

Summing up:

∼ ⊆ ≡ ≡ ⊆ ∼ ⊆ ≤ ≤ ⊆ CBN

  • ×
  • ×

CBV

  • ×

Further work:

What if we add sequencing to CBN? What if we add parallel or to CBN? How about approximate notions of bisimulation? How about λ-calculi for probabilistic polynomial time?

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-67
SLIDE 67

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Questions?

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-68
SLIDE 68

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-69
SLIDE 69

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Howe’s Technique

R RH

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-70
SLIDE 70

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Howe’s Technique

R RH ⊆

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-71
SLIDE 71

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Howe’s Technique

R RH ⊆ RH is a Congruence whenever R is an equivalence

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-72
SLIDE 72

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Howe’s Technique

⊆ ∼H is a Congruence ∼ ∼H

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-73
SLIDE 73

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Howe’s Technique

⊆ ∼H is a Congruence ∼ ∼H ⊇

?

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-74
SLIDE 74

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

Howe’s Technique

x ⊢ x R M x ⊢ x RH M x ∪ {x} ⊢ M RH L x ⊢ λx.L R N x / ∈ x x ⊢ λx.M RH N x ⊢ M RH P x ⊢ N RH T x ⊢ (PT) R L x ⊢ MN RH L x ⊢ M RH P x ⊢ N RH T x ⊢ (P ⊕ T) R L x ⊢ M ⊕ N RH L

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-75
SLIDE 75

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

The Key Lemma

Proving that H is indeed a precongruence is a convenient way to proceed. Statement: If M H N, then for every X ⊆ Λ⊕(x) it holds that M(λx.X) ≤ N(λx.(H (X))). Proof.

We prove that D(λx.X) ≤ N(λx.(H (X))) for every D such that M ⇓ D. By induction on the structure of any derivation of M ⇓ D (which is finite). Everything goes through smoothly, except. . . the application case. We need to prove that probability assignments can always be

  • disentangled. This is the case, though.

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb

slide-76
SLIDE 76

Λ⊕ Bisimulation Context Equivalence vs. Bisimulation Conclusions

So we have : H ⊆ = ⇒ H = = ⇒ is a precongruence = ⇒ ∼ is a congruence = ⇒ ∼ ⊆ ≡ . Theorem ∼ ⊆ ≡

Raphaëlle Crubillé Probabilistic Applicative Bisimulation and Call-by-Value Lamb