[LE,RO] red red red red red red red red red red red red - - PowerPoint PPT Presentation

le ro
SMART_READER_LITE
LIVE PREVIEW

[LE,RO] red red red red red red red red red red red red - - PowerPoint PPT Presentation

[LE,RO] red red red red red red red red red red red red red red red red red red red red [LE] 1 [RO] 1 [LO] [RE] plain An Explicit Framework for Interaction Nets Marc de Falco Institut de Math ematiques de Luminy


slide-1
SLIDE 1

red red red red red red red red red red red red red red red red red red red red

[LE,RO] [LE] 1 [RO] 1 [LO] [RE] plain

slide-2
SLIDE 2

An Explicit Framework for Interaction Nets

Marc de Falco

Institut de Math´ ematiques de Luminy Marseille, France

Rewriting Techniques and Applications 2009

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 1 / 20

slide-3
SLIDE 3

Background

Interaction nets (Lafont): Model of computation

derived from multiplicative proof-nets of linear logic relying on simple graph rewriting Turing complete. Strongly (one-step) confluent.

Used when terms are too restrictive:

  • ptimal reduction for λ-calculus (sharing graphs)

concurrency (differential interaction nets)

Goal: explicit syntax for straightforward implementation

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 2 / 20

slide-4
SLIDE 4

Usual presentation of interaction nets

Two parts: statics (nets) and dynamics (reduction by means of rules)

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 3 / 20

slide-5
SLIDE 5

Interaction Nets: Statics

A B C

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 4 / 20

slide-6
SLIDE 6

Interaction Nets: Statics

A B ports C

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 4 / 20

slide-7
SLIDE 7

Interaction Nets: Statics

A B C free ports cells

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 4 / 20

slide-8
SLIDE 8

Interaction Nets: Statics

A B symbol C principal port auxiliary ports Arity of a symbol: number of auxiliary ports.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 4 / 20

slide-9
SLIDE 9

Interaction Nets: Statics

A B C wire loop Each port belong to exactly one wire (Port invariant). No loop from a cell port.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 4 / 20

slide-10
SLIDE 10

Interaction Nets: Dynamics

Rules of the form: A B → R

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 5 / 20

slide-11
SLIDE 11

Interaction Nets: Dynamics

Rules of the form: A B → R Derived reduction: A B

R

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 5 / 20

slide-12
SLIDE 12

Hidden mechanism : port fusion

Are interaction nets as simple as they look?

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 6 / 20

slide-13
SLIDE 13

Hidden mechanism : port fusion

Are interaction nets as simple as they look? Take the rule: ⊗ ` → ⊗ `

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 6 / 20

slide-14
SLIDE 14

Hidden mechanism : port fusion

Are interaction nets as simple as they look? Take the rule: ⊗ ` → ⊗ ` And the net: ⊗ ` We should be able to apply the reduction.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 6 / 20

slide-15
SLIDE 15

Hidden mechanism : port fusion

Are interaction nets as simple as they look? Take the rule: ⊗ ` → ⊗ ` And the net: ⊗ ` We should be able to apply the reduction. We pull apart the redex.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 6 / 20

slide-16
SLIDE 16

Hidden mechanism : port fusion

Are interaction nets as simple as they look? Take the rule: ⊗ ` → ⊗ ` And the net: ⊗ ` We should be able to apply the reduction. We pull apart the redex. The reduced net being: s2 s1

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 6 / 20

slide-17
SLIDE 17

Hidden mechanism : port fusion

Are interaction nets as simple as they look? Take the rule: ⊗ ` → ⊗ ` And the net: ⊗ ` We should be able to apply the reduction. We pull apart the redex. The reduced net being: We fuse the unnecessary ports.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 6 / 20

slide-18
SLIDE 18

Hidden mechanism : port fusion

Are interaction nets as simple as they look? Take the rule: ⊗ ` → ⊗ ` And the net: ⊗ ` We should be able to apply the reduction. We pull apart the redex. The reduced net being: We fuse the unnecessary ports. Reduction process: starting net

pulling apart

− − − − − − − → not a net

substitution

− − − − − − → not a net

port fusion

− − − − − − → final net

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 6 / 20

slide-19
SLIDE 19

Approaches to compute port fusion

Term syntax (Lafont,Fern´ andez-Mackie): cells as functional symbol and wires as paired occurences of variables. Port fusion computed via an equivalence on variables. implicit treatment. Calculus of interaction nets (Fern´ andez-Mackie): machine for reducing nets with concrete rules handling the equivalence. external treatment. We seek an explicit treatment of port fusion.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 7 / 20

slide-20
SLIDE 20

Extending de Bruijn indices

λ-calculus: integers for occurences + ad hoc techniques

  • ur proposition for interaction nets:

integers for ports + Girard’s Geometry of Interaction Surprising concrete link between linear logic and interaction nets trough technical issues.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 8 / 20

slide-21
SLIDE 21

Graph-Hypergraph presentation

Usual structure to define the statics of nets over ports (Mazza,. . . ). Graph for wires + directed hypergraph for cells + disjointness property A B is encoded as A B Problems:

Huge class of structures for very few nets. No graph-theoretic way to compute port-fusion.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 9 / 20

slide-22
SLIDE 22

Towards actions

Shift of perspective : group actions (i.e. permutations) on ports. Natural disjointness of orbits. Action induced by wires: unique neighbour along wires ⇒ order 2 action. Action induced by cells: get next port around a cell. Graph-Hypergraph restricted to representations of actions.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 10 / 20

slide-23
SLIDE 23

Our proposition for statics

Actions over N: partial permutations. σ labelled by L when ∃l : Orbs(σ) → L. σ has pointed orbits when labelled by dom(σ) with ∀o ∈ Orbs(σ), l(o) ∈ o. Countable set of symbols S with arity function α.

Definition

An interaction net is an ordered pair R = (σw, σc) where: σw w-permutation (order 2 partial permutation), we set dom(σw) = P(R) ⊎ fix(σw). σc partial permutation s.t. dom(σc) ⊆ P(R), with pointed orbits and labelled by S in such a way that ∀o ∈ Orbs(σc), |o| = α(l(o)).

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 11 / 20

slide-24
SLIDE 24

Example

R = (σw, σc) with σw = (1)(2 3)(4 5)(6 7)(8 9) and σc = (

  • 4 3)A(
  • 5 6 7)B

1

A B

2 3 4 5 7 6 8 9

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 12 / 20

slide-25
SLIDE 25

Port fusion by composition

Our original net R = (σw, σc) : s2 s1

1 2 3 4 5 7 6 8

Right part of the rule R′ = (τw, τc) s2 s1

9 10 11 12

Correspondance f from dom(σw) to dom(τw). Computing the resulting action ρw: s2 s1

9 10 11 12 1 2 7 5 8 6

ρw(6) = (σwf −1τwf σwf −1τwf σw)(6) = ((σw + τw)[(f + f −1)(σw + τw)]4)(6) A formula seems to appear.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 13 / 20

slide-26
SLIDE 26

The Execution formula for pinjs

Originally introduced by Girard with operators, here we work with partial injections of integers (pinjs). f : A ⊎ B ։ C ⊎ D and g : D ։ B are pinjs, we set Ex(f , g) =

  • i=0

[f (gf )i]↾

A C

where f ↾A

C graph is f graph ∩ A × C.

This is well-defined and bounded when dom(f ) is finite.

Property

Ex(Ex(f , g), h) = Ex(f , g + h) = Ex(Ex(f , h), g). Girard’s usual interpretation: localized Church-Rosser. Strong confluence should be a corollary.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 14 / 20

slide-27
SLIDE 27

Ex-composition

Definition

Let σ and τ be disjoint w-permutations and let f be a partial injection with dom(f ) ⊆ dom(σ) and codom(f ) ⊆ dom(τ). We call the Ex0-composition of σ and τ along f the partial permutation σ

f

τ = Ex(σ + τ, f + f −1) In the previous example we get ρw = σw

f

τw. . . . but something is missing: s2 s1

9 10 11 12 7 5 1 2

σw

f

τw = 0, we can’t see loops! First solution: this is not a bug, this is a feature. Second solution: we can detect them and define an extension σw

f

+ τw.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 15 / 20

slide-28
SLIDE 28

Gluing and cutting

Definition

Let R = (σw, σc) and R′ = (σ′

w, σ′ c) be two disjoint interaction nets, and f be a

pinj from Pf (R) to Pf (R′). We call gluing of R and R′ along f the net R

f

R′ = (σw

f

+ σ′

w, σc + σ′ c).

Definition

Let R be a net, we call cutting of R a triple (R1, f , R2) such that R = R1

f

R2. Any net R′ appearing in a cutting of R is called a subnet of R, noted R′ ⊆ R. Gluing computes port fusion. Cutting pulls apart a subnet.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 16 / 20

slide-29
SLIDE 29

Properties

Property (Associativity of gluing)

R

f +g

(S

h

T) = (R

f

S)

g+h

T = (R

g

T)

f +h

S.

Corollary

If R0 = R

f

(S

g

T) then ∃fS, fT s.t. R0 = (R

fS

S)

g+fT

T.

Property

⊆ is an ordering of interaction nets.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 17 / 20

slide-30
SLIDE 30

Contexts and interfaces

Interfaces: linearly ordered subset of free ports. Contexts: RI with I an interface of R. Implicit gluing function betweeen two interfaces of same length: ρ(I, I ′). Context gluing: RI R′I ′ = R

ρ(I,I ′)

R′.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 18 / 20

slide-31
SLIDE 31

Reduction

Rule for (s1, s2): R = (Rr

Ir , Rp Ip) with

Ir (resp. Ip) contains all the free ports of Rr (resp. Rp) |Ir| = |Ip| Rr has the representation s2 s1

Reduction: RI α(Rr)α(Ir)

R

− → RI β(Rp)β(Ip) with α, β renamings

Theorem

We have strong confluence up to renaming.

Proof.

(involved) corollary of associativity of Ex.

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 19 / 20

slide-32
SLIDE 32

More results

Concrete bridge from MLL proofnets to interaction nets thanks to a quotient: Ex-collapse. Concrete implementation: a tool for handling interaction nets based on a kernel using this presentation. Algebraic generalization trough DPO: morphism of interaction nets, existence

  • f a double-pushout for a large class of rules.

Same framework for multi-wires, multi-ports, . . . .

Marc de Falco (IML) An Explicit Framework for Interaction Nets RTA’09 20 / 20