structural equivalence in reversible calculus of ...€¦ · structural equivalence in reversible...

45
Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar 2019 Clément Aubert 1 Ioana-Domnina Cristescu 2 1 Augusta University – School of Computer & Cyber Sciences 2 INRIA – TAMIS team Augusta, GA, May 11 th , 2019

Upload: others

Post on 27-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Structural Equivalence in Reversible Calculusof Communicating Systems

Southeast Regional Programming Languages Seminar 2019

Clément Aubert1 Ioana-Domnina Cristescu2

1Augusta University – School of Computer & Cyber Sciences

2INRIA – TAMIS team

Augusta, GA, May 11th, 2019

Page 2: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

F = f

1 Introduction

2 CCS

3 RCCS

4 Our Problem

F=f

Page 3: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: Specifying Reversible Concurrent Computation

Goal

Specifying Reversible Concurrent Computation

3

Page 4: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: Specifying Reversible Concurrent Computation

Goal

Specifying

Reversible Concurrent

Computation

— What?Formally prove correctness / “Correct by design”.

— Why?— To get correct programs!— Foundation for programming methodology.— Qualitative correctness.

— How?Type systems, proof assistant, model checking, static codeanalysis, etc.

3

Page 5: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: Specifying Reversible Concurrent Computation

Goal

Specifying

Reversible

Concurrent Computation

— What?Concurrent = multiprocessing, parallel, distributed, etc.

— Why?— Concurrent programs are tricky.— Understand what concurrency can give.— Absence of livelock, deadlock, etc.

— How?Process calculi (CCS, π-calculus, . . . ), event structures,Petri nets, actor model, etc.

3

Page 6: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: Specifying Reversible Concurrent Computation

Goal

Specifying Reversible

Concurrent

Computation

— What?Computation that can backtrack.

— Why?— Non-destructive computation.— Landauer’s principle: free energy!— Quantum computing.

— How?Reversible automaton, quantum circuits, etc.

3

Page 7: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: Specifying Reversible Concurrent Computation

Goal

Specifying Reversible Concurrent Computation

BOOM!3

Page 8: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: Specifying Reversible Concurrent Computation

Goal

Specifying Reversible Concurrent Computation

— What?Memory needs to be “enough”, “not too big”, anddistributed.

— Why?— Combine all the benefits of reversible and concurrent computation!— But also all the difficulties . . .— Network of reversible computers!

— How?Reversing process calculi, reversible event structures, etc.

3

Page 9: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: Specifying Reversible Concurrent Computation

Goal

Specifying Reversible Concurrent Computation

RCCSadds

Reversibilityto the

Calculus of Communicating Systems

3

Page 10: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: How Do We Get Started?

A Tension in any SpecificationFormal VS Easy to use

From a Textbook on Process Algebra“In a process-algebraic approach to system verification, onetypically writes two specifications. One, call it SYS, captures thedesign of the actual system and the other, call it SPEC,describes the system’s desired ‘high-level’ behavior. One maythen establish the correctness of SYS with respect to SPEC byshowing that SYS behaves the ‘same as’ SPEC.” (Bergstra,Ponse, and Smolka, 2001, p. V)

A.k.a. Who works without α-equivalence (renaming of boundvariables)?

4

Page 11: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: How Do We Get Started?

A Tension in any SpecificationFormal VS Easy to use

From a Textbook on Process Algebra“In a process-algebraic approach to system verification, onetypically writes two specifications. One, call it SYS, captures thedesign of the actual system and the other, call it SPEC,describes the system’s desired ‘high-level’ behavior. One maythen establish the correctness of SYS with respect to SPEC byshowing that SYS behaves the ‘same as’ SPEC.” (Bergstra,Ponse, and Smolka, 2001, p. V)

A.k.a. Who works without α-equivalence (renaming of boundvariables)?

4

Page 12: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: How Do We Get Started?

A Tension in any SpecificationFormal VS Easy to use

From a Textbook on Process Algebra“In a process-algebraic approach to system verification, onetypically writes two specifications. One, call it SYS, captures thedesign of the actual system and the other, call it SPEC,describes the system’s desired ‘high-level’ behavior. One maythen establish the correctness of SYS with respect to SPEC byshowing that SYS behaves the ‘same as’ SPEC.” (Bergstra,Ponse, and Smolka, 2001, p. V)

A.k.a. Who works without α-equivalence (renaming of boundvariables)?

4

Page 13: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Introduction: How Do We Get Started?

In CCS1 Define SYSCCS

2 Define a structural equivalence ≡

3 SYSCCS + ≡ = SPECCCS

4 Prove SYSCCS “=” SPECCCS

Was RCCS defined the same way?

5

Page 14: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

F = f

1 IntroductionSpecifying Reversible Concurrent ComputationHow Do We Get Started?

2 CCS

3 RCCS

4 Our Problem

F=f

Page 15: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Operators

CCS process

P,Q ∶= λ.P ∑i∈I

Pi A P ∣ Q P/a P[a← b] 0

A are (recursive) definitions of processes

7

Page 16: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Labeled Transition System

act.λ.P

λÐ→ P

PjαÐ→ P′

j j ∈ Isum.

∑i∈I PiαÐ→ P′

i

PαÐ→ P′ A def

= P rec.A

αÐ→ P′

PαÐ→ P′

com.1P ∣ Q

αÐ→ P′ ∣ Q

QαÐ→ Q′

com.2P ∣ Q

αÐ→ P ∣ Q′

PλÐ→ P′ Q

λÐ→ Q′

syn.P ∣ Q

τÐ→ P′ ∣ Q′

PαÐ→ P′ a ≠ α res.P/a

αÐ→ P′/a

PαÐ→ P′

ren.

P[Ð→a ←

Ð→b ]

α[Ð→a←

Ð→b ]

ÐÐÐÐÐ→ P′[Ð→a ←

Ð→b ]

8

Page 17: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Labeled Transition System

act.λ.P

λÐ→ P

PjαÐ→ P′

j j ∈ Isum.

∑i∈I PiαÐ→ P′

i

PαÐ→ P′ A def

= P rec.A

αÐ→ P′

PαÐ→ P′

com.1P ∣ Q

αÐ→ P′ ∣ Q

QαÐ→ Q′

com.2P ∣ Q

αÐ→ P ∣ Q′

PλÐ→ P′ Q

λÐ→ Q′

syn.P ∣ Q

τÐ→ P′ ∣ Q′

PαÐ→ P′ a ≠ α res.P/a

αÐ→ P′/a

PαÐ→ P′

ren.

P[Ð→a ←

Ð→b ]

α[Ð→a←

Ð→b ]

ÐÐÐÐÐ→ P′[Ð→a ←

Ð→b ]

8

Page 18: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Labeled Transition System

act.λ.P

λÐ→ P

PjαÐ→ P′

j j ∈ Isum.

∑i∈I PiαÐ→ P′

i

PαÐ→ P′ A def

= P rec.A

αÐ→ P′

PαÐ→ P′

com.1P ∣ Q

αÐ→ P′ ∣ Q

QαÐ→ Q′

com.2P ∣ Q

αÐ→ P ∣ Q′

PλÐ→ P′ Q

λÐ→ Q′

syn.P ∣ Q

τÐ→ P′ ∣ Q′

PαÐ→ P′ a ≠ α res.P/a

αÐ→ P′/a

PαÐ→ P′

ren.

P[Ð→a ←

Ð→b ]

α[Ð→a←

Ð→b ]

ÐÐÐÐÐ→ P′[Ð→a ←

Ð→b ]

8

Page 19: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Labeled Transition System

act.λ.P

λÐ→ P

PjαÐ→ P′

j j ∈ Isum.

∑i∈I PiαÐ→ P′

i

PαÐ→ P′ A def

= P rec.A

αÐ→ P′

PαÐ→ P′

com.1P ∣ Q

αÐ→ P′ ∣ Q

QαÐ→ Q′

com.2P ∣ Q

αÐ→ P ∣ Q′

PλÐ→ P′ Q

λÐ→ Q′

syn.P ∣ Q

τÐ→ P′ ∣ Q′

PαÐ→ P′ a ≠ α res.P/a

αÐ→ P′/a

PαÐ→ P′

ren.

P[Ð→a ←

Ð→b ]

α[Ð→a←

Ð→b ]

ÐÐÐÐÐ→ P′[Ð→a ←

Ð→b ]

8

Page 20: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Examples

A def= a.0 + (b.0 ∣ ((c.A ∣ c.0)/c))

AaÐ→ 0

AbÐ→ 0 ∣ ((c.A ∣ c.0)/c)τÐ→ 0 ∣ (A ∣ 0)/c

AτÐ→ b.0 ∣ (A ∣ 0/c)bÐ→ 0 ∣ (A ∣ 0)/c

9

Page 21: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Examples

Make my life easier!

0 ∣ (A ∣ 0)/c “is the same as” AP ∣ 0 “is the same as” PP ∣ Q “is the same as” Q ∣ P

P/a “is the same as” P[a← b]/b. . .

Structural Equivalence

P ∣ 0 ≡ P

P ∣ Q ≡ Q ∣ P P +Q ≡ Q +P

(P ∣ Q) ∣ V ≡ P ∣ (Q ∣ V) (P +Q) +V ≡ P + (Q +V)

(P/a) ∣ Q ≡ (P ∣ Q)/a with a ∉ fn(Q) (P/a)/b ≡ (P/b)/a

A def= P ⇒ A ≡ P P =α Q ⇒ P ≡ Q

10

Page 22: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: Examples

Make my life easier!

0 ∣ (A ∣ 0)/c “is the same as” AP ∣ 0 “is the same as” PP ∣ Q “is the same as” Q ∣ P

P/a “is the same as” P[a← b]/b. . .

Structural Equivalence

P ∣ 0 ≡ P

P ∣ Q ≡ Q ∣ P P +Q ≡ Q +P

(P ∣ Q) ∣ V ≡ P ∣ (Q ∣ V) (P +Q) +V ≡ P + (Q +V)

(P/a) ∣ Q ≡ (P ∣ Q)/a with a ∉ fn(Q) (P/a)/b ≡ (P/b)/a

A def= P ⇒ A ≡ P P =α Q ⇒ P ≡ Q

10

Page 23: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: From SYSCCS to SPECCCS

λ.PλÐ→ P

PjαÐ→ P′

j j ∈ I

∑i∈I PiαÐ→ P′

i

PαÐ→ P′ A def

= P

AαÐ→ P′

PαÐ→ P′

P ∣ QαÐ→ P′ ∣ Q

QαÐ→ Q′

P ∣ QαÐ→ P ∣ Q′

PλÐ→ P′ Q

λÐ→ Q′

P ∣ QτÐ→ P′ ∣ Q′

PαÐ→ P′ a ≠ α

P/aαÐ→ P′/a

PαÐ→ P′

P[Ð→a ←

Ð→b ]

α[Ð→a←

Ð→b ]

ÐÐÐÐÐ→ P′[Ð→a ←

Ð→b ]

P′1 ≡ P1 P1

αÐ→ P2 P2 ≡ P′

2

P′1

αÐ→ P′

2

11

Page 24: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: From SYSCCS to SPECCCS

λ.PλÐ→ P

PjαÐ→ P′

j j ∈ I

∑i∈I PiαÐ→ P′

i

PαÐ→ P′ A def

= P

AαÐ→ P′

PαÐ→ P′

P ∣ QαÐ→ P′ ∣ Q

QαÐ→ Q′

P ∣ QαÐ→ P ∣ Q′

PλÐ→ P′ Q

λÐ→ Q′

P ∣ QτÐ→ P′ ∣ Q′

PαÐ→ P′ a ≠ α

P/aαÐ→ P′/a

PαÐ→ P′

P[Ð→a ←

Ð→b ]

α[Ð→a←

Ð→b ]

ÐÐÐÐÐ→ P′[Ð→a ←

Ð→b ]

P′1 ≡ P1 P1

αÐ→ P2 P2 ≡ P′

2

P′1

αÐ→ P′

2

11

Page 25: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: From SYSCCS to SPECCCS

λ.PλÐ→ P

PjαÐ→ P′

j j ∈ I

∑i∈I PiαÐ→ P′

i

PαÐ→ P′ A def

= P

AαÐ→ P′

PαÐ→ P′

P ∣ QαÐ→ P′ ∣ Q

QαÐ→ Q′

P ∣ QαÐ→ P ∣ Q′

PλÐ→ P′ Q

λÐ→ Q′

P ∣ QτÐ→ P′ ∣ Q′

PαÐ→ P′ a ≠ α

P/aαÐ→ P′/a

PαÐ→ P′

P[Ð→a ←

Ð→b ]

α[Ð→a←

Ð→b ]

ÐÐÐÐÐ→ P′[Ð→a ←

Ð→b ]

P′1 ≡ P1 P1

αÐ→ P2 P2 ≡ P′

2

P′1

αÐ→ P′

2

11

Page 26: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

CCS: From SYSCCS to SPECCCS

Lemma

If PαÐ→ P′ with SYSCCS and P ≡ Q then Q

αÐ→ Q′ with SPECCCS

and P′ ≡ Q′.

12

Page 27: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

F = f

1 Introduction

2 CCSOperatorsLabeled Transition SystemExamplesFrom SYSCCS to SPECCCS

3 RCCS

4 Our Problem

F=f

Page 28: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

RCCS: Operators

RCCS process

P,Q ∶= λ.P ∑i∈I

Pi A P ∣ Q P/a P[a← b] 0

e ∶= ⟨i , λ,P⟩ (Memory Events)

m ∶= ∅ ⋎ .m e.m (Memory Stacks)

T ∶= m � P (Reversible Thread)

R,S ∶= T R ∣ S R/a (RCCS Processes)

14

Page 29: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

RCCS: Operators

RCCS process

P,Q ∶= λ.P ∑i∈I

Pi A P ∣ Q P/a P[a← b] 0

e ∶= ⟨i , λ,P⟩ (Memory Events)

m ∶= ∅ ⋎ .m e.m (Memory Stacks)

T ∶= m � P (Reversible Thread)

R,S ∶= T R ∣ S R/a (RCCS Processes)

14

Page 30: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

RCCS: Labeled Transition System

i ∉ I(m) act.m ⊳ λ.P

i ∶λÐ→ ⟨i , λ,0⟩.m ⊳ P

Ri ∶λÐ→ R′ S

i ∶λÐ→ S′

syn.R ∣ S

i ∶τÐ→ R′ ∣ S′

Ri ∶αÐ→ R′

i ∉ I(S) com.1R ∣ S

i ∶αÐ→ R′ ∣ S

Ri ∶αÐ→ R′

i ∉ I(S) com.2R ∣ S

i ∶αÐ→ R′ ∣ S

i ∉ I(m) act.∗⟨i , λ,0⟩.m ⊳ P

i ∶λÐ→∗ m ⊳ λ.P

Ri ∶λÐ→∗ R′ S

i ∶λÐ→∗ S′

syn.∗R ∣ S

i ∶τÐ→∗ R′ ∣ S′

15

Page 31: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

RCCS: Labeled Transition System

i ∉ I(m) act.m ⊳ λ.P

i ∶λÐ→ ⟨i , λ,0⟩.m ⊳ P

Ri ∶λÐ→ R′ S

i ∶λÐ→ S′

syn.R ∣ S

i ∶τÐ→ R′ ∣ S′

Ri ∶αÐ→ R′

i ∉ I(S) com.1R ∣ S

i ∶αÐ→ R′ ∣ S

Ri ∶αÐ→ R′

i ∉ I(S) com.2R ∣ S

i ∶αÐ→ R′ ∣ S

i ∉ I(m) act.∗⟨i , λ,0⟩.m ⊳ P

i ∶λÐ→∗ m ⊳ λ.P

Ri ∶λÐ→∗ R′ S

i ∶λÐ→∗ S′

syn.∗R ∣ S

i ∶τÐ→∗ R′ ∣ S′

15

Page 32: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

RCCS: Labeled Transition System

i ∉ I(m) act.m ⊳ λ.P

i ∶λÐ→ ⟨i , λ,0⟩.m ⊳ P

Ri ∶λÐ→ R′ S

i ∶λÐ→ S′

syn.R ∣ S

i ∶τÐ→ R′ ∣ S′

Ri ∶αÐ→ R′

i ∉ I(S) com.1R ∣ S

i ∶αÐ→ R′ ∣ S

Ri ∶αÐ→ R′

i ∉ I(S) com.2R ∣ S

i ∶αÐ→ R′ ∣ S

i ∉ I(m) act.∗⟨i , λ,0⟩.m ⊳ P

i ∶λÐ→∗ m ⊳ λ.P

Ri ∶λÐ→∗ R′ S

i ∶λÐ→∗ S′

syn.∗R ∣ S

i ∶τÐ→∗ R′ ∣ S′

15

Page 33: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

RCCS: Labeled Transition System

But. . .what should we do with m ⊳ (P ∣ Q)?

“Solution”Define a structural congruence containing

m ⊳ (P ∣ Q) ≡ (⋎.m ⊳ P) ∣ (⋎.m ⊳ Q)

and add it to the system.

16

Page 34: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

RCCS: Labeled Transition System

But. . .what should we do with m ⊳ (P ∣ Q)?

“Solution”Define a structural congruence containing

m ⊳ (P ∣ Q) ≡ (⋎.m ⊳ P) ∣ (⋎.m ⊳ Q)

and add it to the system.

16

Page 35: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

F = f

1 Introduction

2 CCS

3 RCCSOperatorsLabeled Transition System

4 Our Problem

F=f

Page 36: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Hold On!

But hold on1 Isn’t that mixing SYSRCCS and SPECRCCS?

It is, but it’s probably fine.

2 How do we know it’s the right ≡?

We don’t. How do we know it’s the right one for CCS?

18

Page 37: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Hold On!

But hold on1 Isn’t that mixing SYSRCCS and SPECRCCS?

It is, but it’s probably fine.

2 How do we know it’s the right ≡?We don’t. How do we know it’s the right one for CCS?

18

Page 38: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Ah, Yes, the Lemma

Lemma

If PαÐ→ P′ with SYSCCS and P ≡ Q then Q

αÐ→ Q′ with SPECCCS

and P′ ≡ Q′.

But . . . that’s circular!Where are we?

∀P,Q,P ≡ Q∀P,Q,P /≡ Q

19

Page 39: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Ah, Yes, the Lemma

Lemma

If PαÐ→ P′ with SYSCCS and P ≡ Q then Q

αÐ→ Q′ with SPECCCS

and P′ ≡ Q′.

But . . . that’s circular!

Where are we?

∀P,Q,P ≡ Q∀P,Q,P /≡ Q

19

Page 40: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Ah, Yes, the Lemma

Lemma

If PαÐ→ P′ with SYSCCS and P ≡ Q then Q

αÐ→ Q′ with SPECCCS

and P′ ≡ Q′.

But . . . that’s circular!Where are we?

∀P,Q,P ≡ Q∀P,Q,P /≡ Q

19

Page 41: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Other Options

Semantics∀P,Q, JPK ≅ JQK ⇐⇒ P ≡ Q

No! In usual models, JP + 0K ≅ JPK.

SyntacticsEvery term P has a “normal form”.

So what?

So . . . the only thing left is the intuition?

20

Page 42: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Other Options

Semantics∀P,Q, JPK ≅ JQK /⇐⇒ P ≡ QNo! In usual models, JP + 0K ≅ JPK.

SyntacticsEvery term P has a “normal form”.

So what?

So . . . the only thing left is the intuition?

20

Page 43: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Other Options

Semantics∀P,Q, JPK ≅ JQK /⇐⇒ P ≡ QNo! In usual models, JP + 0K ≅ JPK.

SyntacticsEvery term P has a “normal form”.

So what?

So . . . the only thing left is the intuition?

20

Page 44: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Other Options

Semantics∀P,Q, JPK ≅ JQK /⇐⇒ P ≡ QNo! In usual models, JP + 0K ≅ JPK.

SyntacticsEvery term P has a “normal form”.So what?

So . . . the only thing left is the intuition?

20

Page 45: Structural Equivalence in Reversible Calculus of ...€¦ · Structural Equivalence in Reversible Calculus of Communicating Systems Southeast Regional Programming Languages Seminar

Our Problem: Other Options

Semantics∀P,Q, JPK ≅ JQK /⇐⇒ P ≡ QNo! In usual models, JP + 0K ≅ JPK.

SyntacticsEvery term P has a “normal form”.So what?

So . . . the only thing left is the intuition?

20