Unions of Reducibility Families for -Calculus with Orthogonal - - PowerPoint PPT Presentation

unions of reducibility families
SMART_READER_LITE
LIVE PREVIEW

Unions of Reducibility Families for -Calculus with Orthogonal - - PowerPoint PPT Presentation

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion Unions of Reducibility Families for -Calculus with Orthogonal Rewriting Colin Riba INRIA Sophia Antipolis Mditerrane Everest 16 March 2008


slide-1
SLIDE 1

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unions of Reducibility Families

for λ-Calculus with Orthogonal Rewriting Colin Riba

INRIA Sophia Antipolis – Méditerranée Everest

16 March 2008 Swansea

1 / 32

slide-2
SLIDE 2

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

General Motivations

Termination of extensions of typed λ-calculus.

◮ Proofs assistants (strong normalization). ◮ Functional programming.

2 / 32

slide-3
SLIDE 3

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

λ-Calculus with Rewriting

3 / 32

slide-4
SLIDE 4

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

λ-Calculus with Rewriting

◮ Terms

t, u ∈ Λ(Σ) ::= x | λx.t | t u | f(t1, . . . , tn) , where f ∈ Σn.

3 / 32

slide-5
SLIDE 5

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

λ-Calculus with Rewriting

◮ Terms

t, u ∈ Λ(Σ) ::= x | λx.t | t u | f(t1, . . . , tn) , where f ∈ Σn.

◮ A type system (eg. simple types).

3 / 32

slide-6
SLIDE 6

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

λ-Calculus with Rewriting

◮ Terms

t, u ∈ Λ(Σ) ::= x | λx.t | t u | f(t1, . . . , tn) , where f ∈ Σn.

◮ A type system (eg. simple types). ◮ Rewrite Rules of the form

f(l1, . . . , ln) →R r , where Γ ⊢ l1 : T1 . . . Γ ⊢ ln : Tn Γ ⊢ f(l1, . . . , ln) : T and Γ ⊢ r : T

3 / 32

slide-7
SLIDE 7

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Strong Normalization

◮ Strong Normalization (SN)

No infinite sequence t1 → . . . → tn → . . .

4 / 32

slide-8
SLIDE 8

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Strong Normalization

◮ Strong Normalization (SN)

No infinite sequence t1 → . . . → tn → . . .

◮ Tools to prove that

if ⊢ t : T then t ∈ SN

4 / 32

slide-9
SLIDE 9

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Type Interpretation

Let →R be a rewrite relation on Λ(Σ).

◮ Interpretation of Types

T ∈ T → T ⊆ SN

◮ Adequacy

⊢ t : T = ⇒ t ∈ T

5 / 32

slide-10
SLIDE 10

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Type Interpretation

Let →R be a rewrite relation on Λ(Σ).

◮ Reducibility Family

Red ⊆ P(Λ(Σ)) such that ∀X ∈ Red. X ⊆ X ⊆ SN

◮ Interpretation of Types

T ∈ T → T ∈ Red

◮ Adequacy

⊢ t : T = ⇒ t ∈ T

5 / 32

slide-11
SLIDE 11

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Type Interpretation

Let →R be a rewrite relation on Λ(Σ).

◮ Reducibility Family

Red ⊆ P(Λ(Σ)) such that ∀X ∈ Red. X ⊆ X ⊆ SN

◮ Interpretation of Types

T ∈ T → T ∈ Red

◮ Adequacy

⊢ t : T = ⇒ t ∈ T

◮ Red is a complete lattice

5 / 32

slide-12
SLIDE 12

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Different reducibility families:

◮ Tait’s Saturated Sets [Tai75] ◮ Girard’s Reducibility Candidates [Gir72] ◮ Biorthogonals [Gir87]

6 / 32

slide-13
SLIDE 13

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Different reducibility families:

◮ Tait’s Saturated Sets [Tai75] ◮ Girard’s Reducibility Candidates [Gir72] ◮ Biorthogonals [Gir87]

Compare them wrt Stability by Union: ∅ = R ⊆ Red = ⇒

  • R ∈ Red

6 / 32

slide-14
SLIDE 14

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Different reducibility families:

◮ Tait’s Saturated Sets [Tai75] ◮ Girard’s Reducibility Candidates [Gir72] ◮ Biorthogonals [Gir87]

Compare them wrt Stability by Union: ∅ = R ⊆ Red = ⇒

  • R ∈ Red

Property used eg. in [BR06, Abe06, Tat07].

6 / 32

slide-15
SLIDE 15

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Outline

Introduction Reducibility Stability by Union Application to Orthogonal Constructor Rewriting Conclusion

7 / 32

slide-16
SLIDE 16

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Outline

Introduction Reducibility Stability by Union Application to Orthogonal Constructor Rewriting Conclusion

8 / 32

slide-17
SLIDE 17

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility

Let →R be a rewrite relation on Λ(Σ).

9 / 32

slide-18
SLIDE 18

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility

Let →R be a rewrite relation on Λ(Σ).

◮ Reducibility family

Red ⊆ P(Λ(Σ)) such that ∀X ∈ Red. X ⊆ X ⊆ SN

9 / 32

slide-19
SLIDE 19

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility

Let →R be a rewrite relation on Λ(Σ).

◮ Reducibility family

Red ⊆ P(Λ(Σ)) such that ∀X ∈ Red. X ⊆ X ⊆ SN

◮ Interpretation of types

T ∈ T → T ∈ Red

9 / 32

slide-20
SLIDE 20

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility

Let →R be a rewrite relation on Λ(Σ).

◮ Reducibility family

Red ⊆ P(Λ(Σ)) such that ∀X ∈ Red. X ⊆ X ⊆ SN

◮ Interpretation of types

T ∈ T → T ∈ Red

◮ Sufficient conditions on Red to get an adequate interpretation:

⊢ t : T = ⇒ t ∈ T

9 / 32

slide-21
SLIDE 21

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Saturated Sets (Pure λ-Calculus)

10 / 32

slide-22
SLIDE 22

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Saturated Sets (Pure λ-Calculus)

◮ Elimination Contexts

E[ ] ∈ E⇒ ::= [ ] | E[ ] t

10 / 32

slide-23
SLIDE 23

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Saturated Sets (Pure λ-Calculus)

◮ Elimination Contexts

E[ ] ∈ E⇒ ::= [ ] | E[ ] t

◮ (Non) Interaction Properties

if E[x] →β v then the reduction is in E[ ], if E[(λx.t)u] →β v then the reduction is either in E[ ]

  • r in (λx.t)u.

10 / 32

slide-24
SLIDE 24

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Saturated Sets (Pure λ-Calculus)

◮ Elimination Contexts

E[ ] ∈ E⇒ ::= [ ] | E[ ] t

◮ (Non) Interaction Properties

if E[x] →β v then the reduction is in E[ ], if E[(λx.t)u] →β v then the reduction is either in E[ ]

  • r in (λx.t)u.

◮ Weak Standardization

A β-reduct of (λx.t)u is either t[u/x] or (λx.t′)u′ with (t, u) →β (t′, u′).

10 / 32

slide-25
SLIDE 25

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Saturated Sets (Pure λ-Calculus)

◮ Elimination Contexts

E[ ] ∈ E⇒ ::= [ ] | E[ ] t

◮ (Non) Interaction Properties

if E[x] →β v then the reduction is in E[ ], if E[(λx.t)u] →β v then the reduction is either in E[ ]

  • r in (λx.t)u.

◮ Weak Standardization

A β-reduct of (λx.t)u is either t[u/x] or (λx.t′)u′ with (t, u) →β (t′, u′).

◮ Consequence:

If E[t[u/x]] ∈ SN β and u ∈ SN β then E[(λx.t)u] ∈ SN β.

10 / 32

slide-26
SLIDE 26

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Saturated Sets (Pure λ-Calculus)

◮ Elimination Contexts

E[ ] ∈ E⇒ ::= [ ] | E[ ] t

◮ (Non) Interaction Properties

if E[x] →β v then the reduction is in E[ ], if E[(λx.t)u] →β v then the reduction is either in E[ ]

  • r in (λx.t)u.

◮ S ⊆ SN β is a Saturated Set (S ∈ S

A T) iff (S A T1) if E[ ] ∈ SN β and x ∈ X then E[x] ∈ S, (S A T2β) if E[t[u/x]] ∈ S and u ∈ SN β then E[(λx.t)u] ∈ S.

10 / 32

slide-27
SLIDE 27

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Rewriting

◮ Let R be a rewrite system on Λ(Σ) whose rules are of the form

f(l1, . . . , ln) →R r

11 / 32

slide-28
SLIDE 28

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Rewriting

◮ Let R be a rewrite system on Λ(Σ) whose rules are of the form

f(l1, . . . , ln) →R r

◮ Saturated Sets

In addition to (S A T1) and (S A T2β) we need stability by reduction (if t ∈ S and t →βR u then u ∈ S),

11 / 32

slide-29
SLIDE 29

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Rewriting

◮ Let R be a rewrite system on Λ(Σ) whose rules are of the form

f(l1, . . . , ln) →R r

◮ Saturated Sets

In addition to (S A T1) and (S A T2β) we need stability by reduction (if t ∈ S and t →βR u then u ∈ S), and that for all E[f(t1, . . . , tn)], E[f(t1, . . . , tn)]

βR

  • βR
  • =

⇒ E[f(t1, . . . , tn)] ∈ S u1 ∈ S . . . un ∈ S

11 / 32

slide-30
SLIDE 30

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Girard’s Reducibility Candidates

◮ Consider a set of contexts E[ ] ∈ E and a rewrite relation →R.

12 / 32

slide-31
SLIDE 31

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Girard’s Reducibility Candidates

◮ Consider a set of contexts E[ ] ∈ E and a rewrite relation →R. ◮ A term t is Neutral if it interacts with no contexts E[ ] ∈ E:

if E[t] →R v then the reduction is either in E[ ] or in t.

12 / 32

slide-32
SLIDE 32

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Girard’s Reducibility Candidates

◮ Consider a set of contexts E[ ] ∈ E and a rewrite relation →R. ◮ A term t is Neutral if it interacts with no contexts E[ ] ∈ E:

if E[t] →R v then the reduction is either in E[ ] or in t.

◮ C ⊆ SN is a Reducibility Candidate (C ∈ C

R) iff C is stable by reduction (if t ∈ C and t →R u then u ∈ C) and

12 / 32

slide-33
SLIDE 33

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Girard’s Reducibility Candidates

◮ Consider a set of contexts E[ ] ∈ E and a rewrite relation →R. ◮ A term t is Neutral if it interacts with no contexts E[ ] ∈ E:

if E[t] →R v then the reduction is either in E[ ] or in t.

◮ C ⊆ SN is a Reducibility Candidate (C ∈ C

R) iff C is stable by reduction (if t ∈ C and t →R u then u ∈ C) and C has the neutral term property: for all neutral term t, t

R

  • R
  • =

⇒ t ∈ C u1 ∈ C . . . un ∈ C

12 / 32

slide-34
SLIDE 34

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Girard’s Reducibility Candidates

◮ Consider a set of contexts E[ ] ∈ E and a rewrite relation →R. ◮ A term t is Neutral if it interacts with no contexts E[ ] ∈ E:

if E[t] →R v then the reduction is either in E[ ] or in t.

◮ C ⊆ SN is a Reducibility Candidate (C ∈ C

R) iff C is stable by reduction (if t ∈ C and t →R u then u ∈ C) and C has the neutral term property: for all neutral term t, t

R

  • R
  • =

⇒ t ∈ C u1 ∈ C . . . un ∈ C E[u1] ∈ SN . . . E[un] ∈ SN = ⇒ E[t] ∈ SN

12 / 32

slide-35
SLIDE 35

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

13 / 32

slide-36
SLIDE 36

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

◮ Choose a pole

t ⊥ ⊥ E[ ] ⇐ ⇒def E[t] ∈ SN

13 / 32

slide-37
SLIDE 37

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

◮ Choose a pole

t ⊥ ⊥ E[ ] ⇐ ⇒def E[t] ∈ SN

◮ Given A ⊆ Λ(Σ) and P ⊆ E, let

A⊥

=def {E[ ] ∈ E | ∀t ∈ A. t ⊥ ⊥ E[ ]} P⊥

=def {t ∈ Λ(Σ) | ∀E[ ] ∈ P. t ⊥ ⊥ E[ ]}

13 / 32

slide-38
SLIDE 38

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

◮ Choose a pole

t ⊥ ⊥ E[ ] ⇐ ⇒def E[t] ∈ SN

◮ Given A ⊆ Λ(Σ) and P ⊆ E, let

A⊥

=def {E[ ] ∈ E | ∀t ∈ A. t ⊥ ⊥ E[ ]} P⊥

=def {t ∈ Λ(Σ) | ∀E[ ] ∈ P. t ⊥ ⊥ E[ ]} A ⊆ Λ(Σ)

13 / 32

slide-39
SLIDE 39

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

◮ Choose a pole

t ⊥ ⊥ E[ ] ⇐ ⇒def E[t] ∈ SN

◮ Given A ⊆ Λ(Σ) and P ⊆ E, let

A⊥

=def {E[ ] ∈ E | ∀t ∈ A. t ⊥ ⊥ E[ ]} P⊥

=def {t ∈ Λ(Σ) | ∀E[ ] ∈ P. t ⊥ ⊥ E[ ]} A ⊆ Λ(Σ) ↓⊥

A⊥

⊥ ⊆ E

13 / 32

slide-40
SLIDE 40

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

◮ Choose a pole

t ⊥ ⊥ E[ ] ⇐ ⇒def E[t] ∈ SN

◮ Given A ⊆ Λ(Σ) and P ⊆ E, let

A⊥

=def {E[ ] ∈ E | ∀t ∈ A. t ⊥ ⊥ E[ ]} P⊥

=def {t ∈ Λ(Σ) | ∀E[ ] ∈ P. t ⊥ ⊥ E[ ]} A ⊆ Λ(Σ) ↓⊥

A⊥

⊥ ⊆ E

↓⊥

A⊥

⊥ ⊥ ⊥ ⊆ Λ(Σ)

13 / 32

slide-41
SLIDE 41

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

◮ Choose a pole

t ⊥ ⊥ E[ ] ⇐ ⇒def E[t] ∈ SN

◮ Given A ⊆ Λ(Σ) and P ⊆ E, let

A⊥

=def {E[ ] ∈ E | ∀t ∈ A. t ⊥ ⊥ E[ ]} P⊥

=def {t ∈ Λ(Σ) | ∀E[ ] ∈ P. t ⊥ ⊥ E[ ]}

◮ (_)⊥ ⊥ ⊥ ⊥ is a closure operator.

13 / 32

slide-42
SLIDE 42

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Gir87, Par97, DK00, Pit00, MV05]

◮ Choose a pole

t ⊥ ⊥ E[ ] ⇐ ⇒def E[t] ∈ SN

◮ Given A ⊆ Λ(Σ) and P ⊆ E, let

A⊥

=def {E[ ] ∈ E | ∀t ∈ A. t ⊥ ⊥ E[ ]} P⊥

=def {t ∈ Λ(Σ) | ∀E[ ] ∈ P. t ⊥ ⊥ E[ ]}

◮ (_)⊥ ⊥ ⊥ ⊥ is a closure operator.

Lemma

∅ = A ⊆ SN = ⇒ A⊥

⊥ ⊥ ⊥ ∈ C

R

13 / 32

slide-43
SLIDE 43

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Outline

Introduction Reducibility Stability by Union Application to Orthogonal Constructor Rewriting Conclusion

14 / 32

slide-44
SLIDE 44

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

◮ Given a typed rewrite system R, ◮ find a reducibility family Red

which leads to an adequate type interpretation and such that ∅ = R ⊆ Red = ⇒

  • R ∈ Red

15 / 32

slide-45
SLIDE 45

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Union Types

T1, T2 ∈ T ::= . . . | T1 ⊔ T2

◮ We put

T1 ⊔ T2 =def Red(T1 ∪ T2) This validates (⊔ I) Γ ⊢ t : Ti Γ ⊢ t : T1 ⊔ T2

16 / 32

slide-46
SLIDE 46

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Union Types

T1, T2 ∈ T ::= . . . | T1 ⊔ T2

◮ We put

T1 ⊔ T2 =def Red(T1 ∪ T2) This validates (⊔ I) Γ ⊢ t : Ti Γ ⊢ t : T1 ⊔ T2

◮ If Red stable by union, we have

T1 ⊔ T2 = T1 ∪ T2 This is sufficient to validate (⊔ E) Γ, x : T1 ⊢ c : C Γ ⊢ t : T1 ⊔ T2 Γ, x : T2 ⊢ c : C Γ ⊢ c[t/x] : C

16 / 32

slide-47
SLIDE 47

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unsafe Interaction [Rib07b]

t1 + t2 →R t1 t1 + t2 →R t2 t1 =def λx.xaδ t2 =def λy.δ

17 / 32

slide-48
SLIDE 48

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unsafe Interaction [Rib07b]

t1 + t2 →R t1 t1 + t2 →R t2 t1 =def λx.xaδ t2 =def λy.δ t1 : T1 t2 : T2 t1 + t2 : T1 ⊔ T2 x : T1 ⊢ xx : C x : T2 ⊢ xx : C Because t1t1 ∈ SN and t2t2 ∈ SN

17 / 32

slide-49
SLIDE 49

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unsafe Interaction [Rib07b]

t1 + t2 →R t1 t1 + t2 →R t2 t1 =def λx.xaδ t2 =def λy.δ (⊔ E) t1 : T1 t2 : T2 t1 + t2 : T1 ⊔ T2 x : T1 ⊢ xx : C x : T2 ⊢ xx : C (t1 + t2)(t1 + t2) : C While (t1 + t2)(t1 + t2) → t1t2 → (λy.δ) a δ → δ δ / ∈ SN

17 / 32

slide-50
SLIDE 50

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unsafe Interaction [Rib07b]

t1 + t2 →R t1 t1 + t2 →R t2 t1 =def λx.xaδ t2 =def λy.δ (⊔ E) t1 : T1 t2 : T2 t1 + t2 : T1 ⊔ T2 x : T1 ⊢ xx : C x : T2 ⊢ xx : C (t1 + t2)(t1 + t2) : C While (t1 + t2)(t1 + t2) → t1t2 → (λy.δ) a δ → δ δ / ∈ SN Similar example with a confluent rewrite system.

17 / 32

slide-51
SLIDE 51

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unsafe Interaction [Rib07b]

t1 + t2 →R t1 t1 + t2 →R t2 (⊔ E) t1 : T1 t2 : T2 t1 + t2 : T1 ⊔ T2 x : T1 ⊢ c : C x : T2 ⊢ c : C c[(t1 + t2)/x] : C

17 / 32

slide-52
SLIDE 52

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unsafe Interaction [Rib07b]

t1 + t2 →R t1 t1 + t2 →R t2 (⊔ E) t1 : T1 t2 : T2 t1 + t2 : T1 ⊔ T2 x : T1 ⊢ c : C x : T2 ⊢ c : C c[(t1 + t2)/x] : C But        Safe and Safe        does not imply Safe

17 / 32

slide-53
SLIDE 53

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Unsafe Interaction [Rib07b]

t1 + t2 →R t1 t1 + t2 →R t2 (⊔ E) t1 : T1 t2 : T2 t1 + t2 : T1 ⊔ T2 x : T1 ⊢ c : C x : T2 ⊢ c : C c[(t1 + t2)/x] : C But        Safe and Safe        does not imply Safe Prevents from having T1 ⊔ T2 = T1 ∪ T2.

17 / 32

slide-54
SLIDE 54

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Sufficient Conditions for T1 ⊔ T2 = T1 ∪ T2

Let →R be a rewrite relation on Λ(Σ) and E be a set of elimination contexts.

18 / 32

slide-55
SLIDE 55

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Sufficient Conditions for T1 ⊔ T2 = T1 ∪ T2

Let →R be a rewrite relation on Λ(Σ) and E be a set of elimination contexts.        Safe and Safe        implies Safe

18 / 32

slide-56
SLIDE 56

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Sufficient Conditions for T1 ⊔ T2 = T1 ∪ T2

Let →R be a rewrite relation on Λ(Σ) and E be a set of elimination contexts.        Safe and Safe        implies Safe OK if "

  • "

i.e. if t neutral has a "principal reduct" u: t

  • (u1

. . . un . . . )

  • u

18 / 32

slide-57
SLIDE 57

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility Candidates [Rib07a]

◮ Neutral Term Property

19 / 32

slide-58
SLIDE 58

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility Candidates [Rib07a]

◮ Neutral Term Property ◮ Characterize the membership to a candidate

19 / 32

slide-59
SLIDE 59

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility Candidates [Rib07a]

◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with

some contexts E[ ] ∈ E.

19 / 32

slide-60
SLIDE 60

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility Candidates [Rib07a]

◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with

some contexts E[ ] ∈ E.

◮ Weak Observational Preorder

Let u C

R t iff every value of u is a value of t.

19 / 32

slide-61
SLIDE 61

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility Candidates [Rib07a]

◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with

some contexts E[ ] ∈ E.

◮ Weak Observational Preorder

Let u C

R t iff every value of u is a value of t.

Lemma

If C is a reducibility candidate, then C is downward closed wrt. C

R

19 / 32

slide-62
SLIDE 62

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Reducibility Candidates [Rib07a]

◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with

some contexts E[ ] ∈ E.

◮ Weak Observational Preorder

Let u C

R t iff every value of u is a value of t.

Lemma

If C is a reducibility candidate, then C is downward closed wrt. C

R ◮ But not every such C is a reducibility candidate.

19 / 32

slide-63
SLIDE 63

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Stability by Union of Reducibility Candidates [Rib07a]

Theorem

The following are equivalent: (i) C R is stable by union, (ii) C R is the set of all non-empty subsets C of SN that are downward closed wrt. C

R.

(iii) for every t which is non-normal, strongly normalizing and neutral, there is a term u such that t →R u and t C

R u

20 / 32

slide-64
SLIDE 64

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Stability by Union of Reducibility Candidates [Rib07a]

Theorem

The following are equivalent: (i) C R is stable by union, (ii) C R is the set of all non-empty subsets C of SN that are downward closed wrt. C

R.

(iii) for every t which is non-normal, strongly normalizing and neutral, there is a term u such that t →R u and t C

R u ◮ u is a strong principal reduct of t.

20 / 32

slide-65
SLIDE 65

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Stability by Union of Reducibility Candidates [Rib07a]

Theorem

The following are equivalent: (i) C R is stable by union, (ii) C R is the set of all non-empty subsets C of SN that are downward closed wrt. C

R.

(iii) for every t which is non-normal, strongly normalizing and neutral, there is a term u such that t →R u and t C

R u ◮ u is a strong principal reduct of t. ◮ This holds for the λ-calculus with products and sums

(also [Tat07]).

20 / 32

slide-66
SLIDE 66

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals

◮ Biorthogonals are reducibility candidates.

21 / 32

slide-67
SLIDE 67

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals

◮ Biorthogonals are reducibility candidates. ◮ In general, biorthogonals are not stable by union.

21 / 32

slide-68
SLIDE 68

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals

◮ Biorthogonals are reducibility candidates. ◮ In general, biorthogonals are not stable by union. ◮ Is the closure by union of biorthogonals a reducibility family ?

21 / 32

slide-69
SLIDE 69

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Rib07b]

◮ Is the closure by union of biorthogonals a reducibility family ?

22 / 32

slide-70
SLIDE 70

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Rib07b]

◮ Is the closure by union of biorthogonals a reducibility family ? ◮ Let u SN t iff

for all E[ ] ∈ E, if E[u] ∈ SN then E[t] ∈ SN

22 / 32

slide-71
SLIDE 71

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Rib07b]

◮ Is the closure by union of biorthogonals a reducibility family ? ◮ Let u SN t iff

for all E[ ] ∈ E, if E[u] ∈ SN then E[t] ∈ SN

Theorem

The following are equivalent: (i) unions of biorthogonals are reducibility candidates, (ii) for every t which is non-normal, strongly normalizing and neutral, there is a term u such that t →R u and u SN t

22 / 32

slide-72
SLIDE 72

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Biorthogonals [Rib07b]

◮ Is the closure by union of biorthogonals a reducibility family ? ◮ Let u SN t iff

for all E[ ] ∈ E, if E[u] ∈ SN then E[t] ∈ SN

Theorem

The following are equivalent: (i) unions of biorthogonals are reducibility candidates, (ii) for every t which is non-normal, strongly normalizing and neutral, there is a term u such that t →R u and u SN t u is a principal reduct of t.

22 / 32

slide-73
SLIDE 73

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Comparison [Rib07b]

Lemma

∀t, u ∈ SN. t C

R u

= ⇒ u SN t

23 / 32

slide-74
SLIDE 74

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Comparison [Rib07b]

Lemma

∀t, u ∈ SN. t C

R u

= ⇒ u SN t Every strong principal reduct is a principal reduct.

Lemma

C R stable by union = ⇒ O ⊆ C R

23 / 32

slide-75
SLIDE 75

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Comparison [Rib07b]

Lemma

∀t, u ∈ SN. t C

R u

= ⇒ u SN t Every strong principal reduct is a principal reduct.

Lemma

C R stable by union = ⇒ O ⊆ C R The converse is false, consider p →R λx.c1 p →R λx.c2 ci →R d Indeed, p C

R λx.ci

but λx.ci SN p

23 / 32

slide-76
SLIDE 76

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Outline

Introduction Reducibility Stability by Union Application to Orthogonal Constructor Rewriting Conclusion

24 / 32

slide-77
SLIDE 77

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Constructor Rewriting

◮ Constructors are symbols c of type

Γ ⊢ t1 : T1 . . . Γ ⊢ tn : Tn Γ ⊢ c(t1, . . . , tn) : B

25 / 32

slide-78
SLIDE 78

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Constructor Rewriting

◮ Constructors are symbols c of type

Γ ⊢ t1 : T1 . . . Γ ⊢ tn : Tn Γ ⊢ c(t1, . . . , tn) : B

◮ Constructor Patterns

p ::= x | c(p1, . . . , pn)

25 / 32

slide-79
SLIDE 79

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Constructor Rewriting

◮ Constructors are symbols c of type

Γ ⊢ t1 : T1 . . . Γ ⊢ tn : Tn Γ ⊢ c(t1, . . . , tn) : B

◮ Constructor Patterns

p ::= x | c(p1, . . . , pn)

◮ Rewrite Rules

f(p1, . . . , pn) →R r where p1, . . . , pn are constructor patterns.

25 / 32

slide-80
SLIDE 80

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Values

◮ Destructors

For each n-ary c with n ≥ 1 and each i ∈ {1, . . . , n},

26 / 32

slide-81
SLIDE 81

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Values

◮ Destructors

For each n-ary c with n ≥ 1 and each i ∈ {1, . . . , n}, dc,i(c(x1, . . . , xn)) →D xi

26 / 32

slide-82
SLIDE 82

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Values

◮ Destructors

For each n-ary c with n ≥ 1 and each i ∈ {1, . . . , n}, dc,i(c(x1, . . . , xn)) →D xi For each nullary c, dcc →D ℧

26 / 32

slide-83
SLIDE 83

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Values

◮ Destructors

For each n-ary c with n ≥ 1 and each i ∈ {1, . . . , n}, dc,i(c(x1, . . . , xn)) →D xi For each nullary c, dcc →D ℧

◮ Elimination Contexts

E[ ] ∈ E⇒C ::= [ ] | E[ ] t | d(E[ ])

26 / 32

slide-84
SLIDE 84

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Values

◮ Destructors

For each n-ary c with n ≥ 1 and each i ∈ {1, . . . , n}, dc,i(c(x1, . . . , xn)) →D xi For each nullary c, dcc →D ℧

◮ Elimination Contexts

E[ ] ∈ E⇒C ::= [ ] | E[ ] t | d(E[ ])

◮ Values

λx.t c(t1, . . . , tn)

26 / 32

slide-85
SLIDE 85

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Redexes (CCERSs) [KOO01]

Let R be a constructor rewrite system.

27 / 32

slide-86
SLIDE 86

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Redexes (CCERSs) [KOO01]

Let R be a constructor rewrite system.

◮ A subterm (position) u occurs in a Redex Argument of a term t

if either

27 / 32

slide-87
SLIDE 87

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Redexes (CCERSs) [KOO01]

Let R be a constructor rewrite system.

◮ A subterm (position) u occurs in a Redex Argument of a term t

if either t has a subterm (λx.t1)t2 and u occurs in some ti or

27 / 32

slide-88
SLIDE 88

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Redexes (CCERSs) [KOO01]

Let R be a constructor rewrite system.

◮ A subterm (position) u occurs in a Redex Argument of a term t

if either t has a subterm (λx.t1)t2 and u occurs in some ti or t has a subterm f(l1σ, . . . , lnσ) and u occurs in some liσ where f(l1, . . . , ln) →R r

27 / 32

slide-89
SLIDE 89

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Redexes (CCERSs) [KOO01]

Let R be a constructor rewrite system.

◮ A subterm (position) u occurs in a Redex Argument of a term t

if either t has a subterm (λx.t1)t2 and u occurs in some ti or t has a subterm f(l1σ, . . . , lnσ) and u occurs in some liσ where f(l1, . . . , ln) →R r

◮ A redex (position) u is External in a term t

if no residual of u occurs in a redex argument of a reduct of t.

27 / 32

slide-90
SLIDE 90

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Redexes (CCERSs) [KOO01]

Let R be a constructor rewrite system.

◮ A subterm (position) u occurs in a Redex Argument of a term t

if either t has a subterm (λx.t1)t2 and u occurs in some ti or t has a subterm f(l1σ, . . . , lnσ) and u occurs in some liσ where f(l1, . . . , ln) →R r

◮ A redex (position) u is External in a term t

if no residual of u occurs in a redex argument of a reduct of t.

◮ If t →βR u by contracting an external redex of t,

then u is an External Reduct of t.

27 / 32

slide-91
SLIDE 91

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Reducts are Strong Principal [Rib08]

Let R be an orthogonal constructor rewrite system.

28 / 32

slide-92
SLIDE 92

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Reducts are Strong Principal [Rib08]

Let R be an orthogonal constructor rewrite system.

Lemma

Let t be a neutral term and u be an external reduct of t. If t reduces to a value v then u reduces to v.

28 / 32

slide-93
SLIDE 93

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Reducts are Strong Principal [Rib08]

Let R be an orthogonal constructor rewrite system.

Lemma

Let t be a neutral term and u be an external reduct of t. If t reduces to a value v then u reduces to v.

◮ If t is neutral and u is an external reduct of t then t C R u.

28 / 32

slide-94
SLIDE 94

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Reducts are Strong Principal [Rib08]

Let R be an orthogonal constructor rewrite system.

Lemma

Let t be a neutral term and u be an external reduct of t. If t reduces to a value v then u reduces to v.

◮ If t is neutral and u is an external reduct of t then t C R u. ◮ Theorem [KOO01]

If R is orthogonal then every reducible term has an external redex.

28 / 32

slide-95
SLIDE 95

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

External Reducts are Strong Principal [Rib08]

Let R be an orthogonal constructor rewrite system.

Lemma

Let t be a neutral term and u be an external reduct of t. If t reduces to a value v then u reduces to v.

◮ If t is neutral and u is an external reduct of t then t C R u. ◮ Theorem [KOO01]

If R is orthogonal then every reducible term has an external redex.

Corollary

If R is an orthogonal constructor rewrite system then C R is stable by union.

28 / 32

slide-96
SLIDE 96

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Outline

Introduction Reducibility Stability by Union Application to Orthogonal Constructor Rewriting Conclusion

29 / 32

slide-97
SLIDE 97

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

We have studied different reducibility families, and compared them wrt. stability by union.

30 / 32

slide-98
SLIDE 98

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

We have studied different reducibility families, and compared them wrt. stability by union.

◮ Some rewrite systems do not admit reducibility families stable by

union.

30 / 32

slide-99
SLIDE 99

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

We have studied different reducibility families, and compared them wrt. stability by union.

◮ Some rewrite systems do not admit reducibility families stable by

union.

◮ Sufficient conditions to have a reducibility family stable by union.

30 / 32

slide-100
SLIDE 100

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

We have studied different reducibility families, and compared them wrt. stability by union.

◮ Some rewrite systems do not admit reducibility families stable by

union.

◮ Sufficient conditions to have a reducibility family stable by union. ◮ Investigation of the structure of Girard’s Candidates.

30 / 32

slide-101
SLIDE 101

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

We have studied different reducibility families, and compared them wrt. stability by union.

◮ Some rewrite systems do not admit reducibility families stable by

union.

◮ Sufficient conditions to have a reducibility family stable by union. ◮ Investigation of the structure of Girard’s Candidates. ◮ For the combination of λ-calculus with orthogonal constructor

rewriting, Girard’s Candidates are stable by union.

30 / 32

slide-102
SLIDE 102

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

We have studied different reducibility families, and compared them wrt. stability by union.

◮ Some rewrite systems do not admit reducibility families stable by

union.

◮ Sufficient conditions to have a reducibility family stable by union. ◮ Investigation of the structure of Girard’s Candidates. ◮ For the combination of λ-calculus with orthogonal constructor

rewriting, Girard’s Candidates are stable by union.

◮ In [Rib07b], we studied a type system with (⊔ E) such that for

simple rewrite systems R, the following are equivalent:

(i) terms typable using (⊔ E) are Strongly Normalizing, (ii) the interpretation _ : T → P⋆(SN)⊥

⊥ ⊥ ⊥ is adequate.

30 / 32

slide-103
SLIDE 103

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

More generally, can be an interesting point of view to connect notions from denotational semantics, rewriting theory and computational interpretations of logics.

31 / 32

slide-104
SLIDE 104

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

More generally, can be an interesting point of view to connect notions from denotational semantics, rewriting theory and computational interpretations of logics. In particular:

◮ Logical account of stability by union: can λ-calculus for classical

logic admit stable by union type interpretations ?

31 / 32

slide-105
SLIDE 105

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

More generally, can be an interesting point of view to connect notions from denotational semantics, rewriting theory and computational interpretations of logics. In particular:

◮ Logical account of stability by union: can λ-calculus for classical

logic admit stable by union type interpretations ?

◮ Link with notions such as sequentiality and stability.

31 / 32

slide-106
SLIDE 106

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Conclusion

More generally, can be an interesting point of view to connect notions from denotational semantics, rewriting theory and computational interpretations of logics. In particular:

◮ Logical account of stability by union: can λ-calculus for classical

logic admit stable by union type interpretations ?

◮ Link with notions such as sequentiality and stability. ◮ Connect typability (eq. with union/intersection types) to

properties such as standardization.

31 / 32

slide-107
SLIDE 107

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

Thank you for your attention !

http://www.loria.fr/~riba/

32 / 32

slide-108
SLIDE 108

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

  • A. ABEL – “Semi-Continuous Sized Types and Termination”,

Proceedings of CSL ’06, LNCS, vol. 4207, Springer, 2006,

  • p. 72–88.

F . BLANQUI et C. RIBA – “Combining Typing and Size Constraints for Checking the Termination of Higher-Order Conditional Rewrite Systems”, Proceedings of LPAR’06, LNAI, vol. 4246, 2006.

  • V. DANOS et J.-L. KRIVINE – “Disjunctive Tautologies as

Synchronisation Schemes”, Proceedings of CSL ’00, LNCS, vol. 1862, 2000, p. 292–301. J.-Y. GIRARD – “Interprétation Fonctionnelle et Élimination des Coupures de l’Arithmétique d’Ordre Supérieur”, Thèse, Université Paris 7, 1972. — , “Linear Logic”, Theoretical Computer Science 50 (1987),

  • p. 1–102.

32 / 32

slide-109
SLIDE 109

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

  • Z. KHASIDASHVILI, M. OGAWA et V. VAN OOSTROM –

“Perpetuality ans Uniform Normalization in Orthogonal Rewrite Systems”, Information and Computation 164 (2001), no. 1,

  • p. 118–152.

P .-A. MELLIÈS et J. VOUILLON – “Recursive Polymorphic Types and Parametricity in an Operational Framework”, Proceedings of LiCS’05, IEEE Computer Society, 2005, p. 82–91.

  • M. PARIGOT – “Proofs of Strong Normalization for Second Order

Classical Natural Deduction”, Journal of Symbolic Logic 62 (1997), no. 4, p. 1461–1479.

  • A. M. PITTS – “Parametric Polymorphism and Operational

Equivalence”, Mathematical Structures in Computer Science 10 (2000), p. 321–359.

  • C. RIBA – “On the Stability by Union of Reducibility Candidates”,

Proceedings of FoSSaCS’07, LNCS, vol. 4423, 2007.

32 / 32

slide-110
SLIDE 110

Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion

— , “Strong Normalization as Safe Interaction”, Proceedings of LiCS’07, IEEE Computer Society, 2007, p. 13–22. — , “Unions of Reducibility Candidates for Orthogonal Constructor Rewriting”, Available on HAL-INRIA http://hal.inria.fr, 2008.

  • W. W. TAIT – “A Realizability Interpretation of the Theory of

Species”, Logic Colloquium (R. PARIKH, éd.), LNCS, vol. 453, 1975, p. 240–251.

  • M. TATSUTA – “Simple Saturated Sets for Disjunction and

Second-Order Existential Quantification”, Proceedings of TLCA’07, LNCS, vol. 4583, Springer, 2007, p. 366–380.

32 / 32