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
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
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
INRIA Sophia Antipolis – Méditerranée Everest
1 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Proofs assistants (strong normalization). ◮ Functional programming.
2 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
3 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Terms
3 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Terms
◮ A type system (eg. simple types).
3 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Terms
◮ A type system (eg. simple types). ◮ Rewrite Rules of the form
3 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Strong Normalization (SN)
4 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Strong Normalization (SN)
◮ Tools to prove that
4 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Interpretation of Types
◮ Adequacy
5 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Reducibility Family
◮ Interpretation of Types
◮ Adequacy
5 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Reducibility Family
◮ Interpretation of Types
◮ Adequacy
◮ Red is a complete lattice
5 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Tait’s Saturated Sets [Tai75] ◮ Girard’s Reducibility Candidates [Gir72] ◮ Biorthogonals [Gir87]
6 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Tait’s Saturated Sets [Tai75] ◮ Girard’s Reducibility Candidates [Gir72] ◮ Biorthogonals [Gir87]
6 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Tait’s Saturated Sets [Tai75] ◮ Girard’s Reducibility Candidates [Gir72] ◮ Biorthogonals [Gir87]
6 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
7 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
8 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
9 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Reducibility family
9 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Reducibility family
◮ Interpretation of types
9 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Reducibility family
◮ Interpretation of types
◮ Sufficient conditions on Red to get an adequate interpretation:
9 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
10 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Elimination Contexts
10 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Elimination Contexts
◮ (Non) Interaction Properties
10 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Elimination Contexts
◮ (Non) Interaction Properties
◮ Weak Standardization
10 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Elimination Contexts
◮ (Non) Interaction Properties
◮ Weak Standardization
◮ Consequence:
10 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Elimination Contexts
◮ (Non) Interaction Properties
◮ S ⊆ SN β is a Saturated Set (S ∈ S
10 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Let R be a rewrite system on Λ(Σ) whose rules are of the form
11 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Let R be a rewrite system on Λ(Σ) whose rules are of the form
◮ Saturated Sets
11 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Let R be a rewrite system on Λ(Σ) whose rules are of the form
◮ Saturated Sets
βR
11 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Consider a set of contexts E[ ] ∈ E and a rewrite relation →R.
12 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ 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:
12 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ 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:
◮ C ⊆ SN is a Reducibility Candidate (C ∈ C
12 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ 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:
◮ C ⊆ SN is a Reducibility Candidate (C ∈ C
R
12 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ 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:
◮ C ⊆ SN is a Reducibility Candidate (C ∈ C
R
12 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Choose a pole
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Choose a pole
◮ Given A ⊆ Λ(Σ) and P ⊆ E, let
⊥
⊥
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Choose a pole
◮ Given A ⊆ Λ(Σ) and P ⊆ E, let
⊥
⊥
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Choose a pole
◮ Given A ⊆ Λ(Σ) and P ⊆ E, let
⊥
⊥
⊥
⊥ ⊆ E
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Choose a pole
◮ Given A ⊆ Λ(Σ) and P ⊆ E, let
⊥
⊥
⊥
⊥ ⊆ E
⊥
⊥ ⊥ ⊥ ⊆ Λ(Σ)
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Choose a pole
◮ Given A ⊆ Λ(Σ) and P ⊆ E, let
⊥
⊥
◮ (_)⊥ ⊥ ⊥ ⊥ is a closure operator.
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Choose a pole
◮ Given A ⊆ Λ(Σ) and P ⊆ E, let
⊥
⊥
◮ (_)⊥ ⊥ ⊥ ⊥ is a closure operator.
⊥ ⊥ ⊥ ∈ C
13 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
14 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Given a typed rewrite system R, ◮ find a reducibility family Red
15 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ We put
16 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ We put
◮ If Red stable by union, we have
16 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
17 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
17 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
17 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
17 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
17 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
17 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
17 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
18 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
18 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
18 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Neutral Term Property
19 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Neutral Term Property ◮ Characterize the membership to a candidate
19 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with
19 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with
◮ Weak Observational Preorder
R t iff every value of u is a value of t.
19 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with
◮ Weak Observational Preorder
R t iff every value of u is a value of t.
R
19 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Neutral Term Property ◮ Characterize the membership to a candidate ◮ A Value is an observable term, ie a term which interacts with
◮ Weak Observational Preorder
R t iff every value of u is a value of t.
R ◮ But not every such C is a reducibility candidate.
19 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
R.
R u
20 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
R.
R u ◮ u is a strong principal reduct of t.
20 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
R.
R u ◮ u is a strong principal reduct of t. ◮ This holds for the λ-calculus with products and sums
20 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Biorthogonals are reducibility candidates.
21 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Biorthogonals are reducibility candidates. ◮ In general, biorthogonals are not stable by union.
21 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Biorthogonals are reducibility candidates. ◮ In general, biorthogonals are not stable by union. ◮ Is the closure by union of biorthogonals a reducibility family ?
21 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Is the closure by union of biorthogonals a reducibility family ?
22 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Is the closure by union of biorthogonals a reducibility family ? ◮ Let u SN t iff
22 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Is the closure by union of biorthogonals a reducibility family ? ◮ Let u SN t iff
22 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Is the closure by union of biorthogonals a reducibility family ? ◮ Let u SN t iff
22 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
R u
23 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
R u
23 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
R u
R λx.ci
23 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
24 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Constructors are symbols c of type
25 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Constructors are symbols c of type
◮ Constructor Patterns
25 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Constructors are symbols c of type
◮ Constructor Patterns
◮ Rewrite Rules
25 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Destructors
26 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Destructors
26 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Destructors
26 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Destructors
◮ Elimination Contexts
26 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Destructors
◮ Elimination Contexts
◮ Values
26 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
27 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ A subterm (position) u occurs in a Redex Argument of a term t
27 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ A subterm (position) u occurs in a Redex Argument of a term t
27 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ A subterm (position) u occurs in a Redex Argument of a term t
27 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ A subterm (position) u occurs in a Redex Argument of a term t
◮ A redex (position) u is External in a term t
27 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ A subterm (position) u occurs in a Redex Argument of a term t
◮ A redex (position) u is External in a term t
◮ If t →βR u by contracting an external redex of t,
27 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
28 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
28 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ If t is neutral and u is an external reduct of t then t C R u.
28 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ If t is neutral and u is an external reduct of t then t C R u. ◮ Theorem [KOO01]
28 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ If t is neutral and u is an external reduct of t then t C R u. ◮ Theorem [KOO01]
28 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
29 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
30 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Some rewrite systems do not admit reducibility families stable by
30 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Some rewrite systems do not admit reducibility families stable by
◮ Sufficient conditions to have a reducibility family stable by union.
30 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Some rewrite systems do not admit reducibility families stable by
◮ Sufficient conditions to have a reducibility family stable by union. ◮ Investigation of the structure of Girard’s Candidates.
30 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Some rewrite systems do not admit reducibility families stable by
◮ 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
30 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Some rewrite systems do not admit reducibility families stable by
◮ 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
◮ In [Rib07b], we studied a type system with (⊔ E) such that for
⊥ ⊥ ⊥ is adequate.
30 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
31 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Logical account of stability by union: can λ-calculus for classical
31 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Logical account of stability by union: can λ-calculus for classical
◮ Link with notions such as sequentiality and stability.
31 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
◮ Logical account of stability by union: can λ-calculus for classical
◮ Link with notions such as sequentiality and stability. ◮ Connect typability (eq. with union/intersection types) to
31 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
32 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
32 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
32 / 32
Introduction Reducibility Stability by Union Orthogonal Constructor Rewriting Conclusion
32 / 32