Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf ·...

29
Sequentiality in Kahn- Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen Fest, 11-05-2012 1

Transcript of Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf ·...

Page 1: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Sequentiality in Kahn-Macqueen nets and

the λ-calculusJean-Jacques LévyMacqueen Fest, 11-05-2012

1

Page 2: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Plan

• Kahn-Macqueen networks

• Stability in Kahn-Macqueen networks

2

• Stability in the λ-calculus

• Revisiting stability in dynamics of the λ-calculus

• Application to Kahn-Macqueen networks

• Sequentiality

Page 3: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Edinburgh in 70’s

3

Page 4: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

4

Edinburgh in 70’s

Page 5: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

5

Hope Park Square

Page 6: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Scientific visits

6

Page 7: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

7

Kahn-Macqueen networks (0/4)• sieve of Eratosthenes in POP-2 [GK, DBM 77]

Page 8: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Kahn-Macqueen networks (1/4)

8

Page 9: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Kahn-Macqueen networks (2/4)

succ (x :: xs) := (x+1) :: succ xs N := 2 :: succ Nprimes := sift N

sift (x :: xs) := x :: sift (filter (x :: xs))

filter (x :: xs) := not_mult x xsnot_mult x (y :: ys) := if y mod x = 0 then not_mult x ys else x :: (not_mult x ys)

9

Page 10: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

• recursive equations on flow histories

• deterministic results (determinate)

10

• problem with «fair merge»

Kahn-Macqueen networks (3/4)

fmerge(xs, ✏) = {xs}fmerge(✏, ys) = {ys}fmerge(x :: xs, y :: ys) = {x :: zs | zs 2 fmerge(xs, y :: ys)}

[ {y :: zs | zs 2 fmerge(x :: xs, ys)}

• equality of traces is not compositional

• powerdomain semantics, process calculi + bisimulations[Plotkin 78] [Milner et al 78]

[Brock,Ackerman 81]

Page 11: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

• since «merge» is sequential

11

Kahn-Macqueen networks (4/4)

• «merge» blocks on its arguments x or y

• «fair merge» is not sequential like parallel-or

por(true, x) = true

por(x , true) = true

meaning

por(true,?) = por(?, true) = true

por(?,?) = ?

Page 12: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

12

Sequentiality

PCF sequential [Plotkin, 75]

stable functions [Berry, 75]

concrete domains [Kahn-Plotkin, 76?]

CDS [Berry-Curien, 79]

fully abstract models [Abramsky et al, 93]

Scott’s semantics - 1st order strict functions [Cadiou, 71] alternative def [Vuillemin, 72]

Page 13: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Stability

• f stable function iff x " y ) f (x u y) = f (x) u f (y)

• por is not stable :

? = por(?,?) 6= por(?, true) u por(true,?) = true

• semantics of (strongly) stable functions

• with strange Berry’s function

sequential stable

13

Page 14: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Stability inside calculi

14

• PCF [Plotkin,75]

• PCF cannot express por.

m � n m+n

ifz 0 then M else N M

ifz n+1 then M else N N

M,N,P ::= x | �x .M | MN | n | M � N | ifzP then M else N

(�x .M)N M{x := N}

Page 15: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Stability inside the λ-calculus (1/3)

15

• Impossible to get:

Lemma «has a nf» is a stable function.

M,N ::= x | �x .M | MN

C [⌦,�x .x ] nf

C [�x .x ,⌦] nf

C [⌦,⌦] nf

(�x .M)N M{x := N}

Page 16: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Stability inside the λ-calculus (2/3)

16

• Impossible to get:

Lemma «has a hnf» is a stable function.

Lemma «Bohm tree» is a stable function.

M,N ::= x | �x .M | MN

(�x .M)N M{x := N}

C [⌦,⌦] hnf

C [⌦,H 0] hnf

C [H,⌦] hnf (H, H 0 with hnf)

Page 17: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

17

Stability inside the λ-calculus (3/3)

Lemma Let M (h)nf, then there is a unique

minimum prefix M0 of M such that M0 (h)nf.

(h)nf

M

M0

Page 18: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Stability inside redexes (1/2)

18

T 2 T1/(S/R) and T 2 T2/(R/S) implies T 2 T 0/(R t S)

Lemma [stability of redex creation] When R 6= S ,

Corollary When R 6= S ,

If T 2 T1/(S/R) and R creates T1, then 9R 0 2 R/S , R 0 creates T .

M

N P

Q

R

R/S

S

S/R

T

T1T2

T 0M

N P

Q

R

R/S

S

S/R

T

T1

Page 19: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Stability inside redexes (2/2)

19

M

N P

Q T

T1T2

T 0

Lemma [stability of redex creation] When F \ G = ;,T 2 T1/(G/F) and T 2 T2/(F/G) implies T 2 T 0/(F t G)

F G

G/FF/G

Corollary When F \ G = ;, if F creates T , then G/F creates T/(G/F).

Page 20: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Redex families

• 3 redex families: red, blue, green.

20

Page 21: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Redexes and their unique origin

σ⇢

R S

T

of minimum length in each redex family.

There is a unique h⌧ ,T i with ⌧ standard reduction

Proposition

Page 22: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Redex families

p(a(�x . b(cx dx)) qdiejdkbicuevbkbicuc`3)

pdaeb(cbacqdiejdkbicuevbkbicuc`3dbacqdiejdkbicuevbkbicuc`3)

pdaeb(cbacqdiej(kbicu(�x .vx) `3)dbacqdiej(kbicu(�x .vx) `3))

pdaeb(cbacqdiejdkbicuevbkbicuc`3)dbacqdiej(kbicu(�x .vx) `3))

pdaeb(cbacqdiej(kbicu(�x .vx) `3)dbacqdiejdkbicuevbkbicuc`3))

pdaeb(cbacqdiejdkbicuevbkbicuc`3)dbacq(i (�f . j(k f `3)) u(�x .vx)))

pdaeb(cbacq(i (�f . j(k f `3)) u(�x .vx)dbacqdiejdkbicuevbkbicuc`3))

i

i

a

a

kbicuikbicu

kbicu i

kbicu

kbicu

kbicu

kbicu

pdaeb(cbacq(i (�f . j(k f `3)) u(�x .vx))dbacq(i (�f . j(k f `3)) u(�x .vx)))

pdaeb(cbacq(i (�f . j(k f `3)) u(�x .vx))dbacqdiej(kbicu(�x .vx) `3))

p(a(�x . b(cx dx)) q(i (�f . j(k f `3)) u(�x . vx)))

ai

iip(a(�x . b(cx d

x)) qdiej(kbicu(�x .vx) `3))

pdaeb(cbacqdiej(kbicu(�x .vx) `3)dbacq(i (�f . j(k f `3)) u(�x .vx)))

ia kbicu3 families and their names:

Page 23: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Stability in Kahn-Macqueen nets

23

• Equations on history flows are left-linear orthogonal TRS

• Stability for prefixes [Huet, JJL, 81; Klop 90]

• Stability inside their redexes [Maranget 91]

Page 24: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

24

Sequentiality (1/2)Lemma

Let M0 (h)nf, then there is an ⌦ occurrence such

that you cannot get a (h)nf without strictly increasing it.

(h)nf

M

M0

6= ⌦

Page 25: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Sequentiality (2/2)

25

• Theory of strongly sequential TRS[Huet, JJL, 81, Klop 90]

• «Bohm-tree» is a sequential function [Berry, JJL, 78]

C [⌦,⌦] nf

C [M,N] nf for some M and N

one of the ⌦’s is such that C [⌦,N] nf for all N

• Call by need calculations for Kahn-Macqueen nets

Page 26: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

Todo-list

26

• From strongly sequential TRS to Kahn-Macqueen networks

• Need to work with subcontexts ?

• Theory of sequentiality for redexes

Page 27: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

27

Page 28: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

28

Enjoy retirement Dave!

Page 29: Sequentiality in Kahn- Macqueen nets and the λ …pauillac.inria.fr/~levy/talks/12dbm/dbm.pdf · Sequentiality in Kahn-Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen

29