Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Intuitionistic sequent-style calculus with explicit structural rules S. Ghilezan 1 c 1 . Lescanne 2 c 3 J. Iveti´ D. Žuni´ P 1. Faculty of Engineering, University of Novi Sad, Serbia 2. Ecole Normal Supérieure de Lyon, France 3. Faculty of Economics and Management, Novi Sad, Serbia Third Workshop on Formal and Automated Theorem Proving and Applications , Belgrade, January 2010
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Outline Motivation - Logic vs Computation 1 Sequent lambda calculus - λ Gtz 2 Linear Sequent lambda calculus - ℓ λ Gtz 3
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Curry-Howard correspondence Intuitionistic natural deduction and simply typed λ -calculus are corresponding in the following ways: types of the closed λ -terms correspond to the theorems of implicational fragment of intuitionistic logic; type assignment corresponds to the proof of the theorem in the formal system ND ; term reduction corresponds to the proof normalization in the system ND .
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Extending C-H... Natural deduction � λ -calculus; Hilbert’s axiomatic system � combinators; Sequent calculus � ???
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Sequent calculus - LJ Implicit structural rules ( Ax ) Γ , A ⊢ A Γ ⊢ A Γ , B ⊢ C ( → L ) Γ , A → B ⊢ C Γ , A ⊢ B ( → R ) Γ ⊢ A → B Γ ⊢ A Γ , A ⊢ B ( Cut ) Γ ⊢ B
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Sequent term calculi Pottinger, Zucker 1970s comparing cut-elimination to proof normalization Gallier [1991] Mints [1996] Barendregt, Ghilezan [2000]: λ LJ -calculus But in these, terms do not encode derivations. Herbelin [1995]: ¯ λ -calculus - developed the idea of making terms explicitly represent sequent calculus derivations. Computation over terms reflects cut-elimination Espírito Santo [2006]: Sequent λ -calculus - λ Gtz
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz The syntax of λ Gtz Proposed by Espirito Santo [2006]; fully corresponds to intuitionistic sequent calculus (with cut rule). The syntax: ::= x | λ x . t | tk (Terms) t (Contexts) k ::= � x . t | t :: k term - a variable, an abstraction or an application ( cut ); context - a selection or a context constructor ( cons ); terms & contexts are together called expressions, denoted by e ; x . x represents an empty list. �
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Reduction rules: ( β ) ( λ x . t )( u :: k ) → u � x . ( tk ) ( tk ) k ′ t ( k @ k ′ ) ( π ) → ( σ ) t � x . v → v [ x := t ] ( µ ) � x . xk → k , if x / ∈ k v [ x := t ] is meta-substitution; k @ k ′ is defined with: ( u :: k )@ k ′ = u :: ( k @ k ′ ) x . t )@ k ′ = � x . tk ′ . ( � Normal forms: (Terms) t nf = x nf | λ x . t nf | x ( t nf :: k nf ) (Contexts) k nf = x . t nf | t nf :: k nf . �
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Simply typed λ Gtz Γ , x : A ⊢ t : B ( Ax ) ( → R ) Γ , x : A ⊢ x : A Γ ⊢ λ x . t : A → B Γ ⊢ t : A Γ; B ⊢ k : C Γ , x : A ⊢ t : B ( → L ) ( Sel ) Γ; A → B ⊢ t :: k : C Γ; A ⊢ � x . t : B Γ ⊢ t : A Γ; A ⊢ k : B ( Cut ) Γ ⊢ tk : B Properties: Non-confluence (due to the critical pair consisting of σ and π reduction) Subject reduction Strong normalization
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Sequent calculus - LJ EXPLICIT structural rules A ⊢ A ( Ax ) Γ ′ , B ⊢ C Γ , A ⊢ B Γ ⊢ A Γ , Γ ′ , A → B ⊢ C ( → L ) Γ ⊢ A → B ( → R ) Γ ′ , A ⊢ B Γ ⊢ A ( Cut ) Γ , Γ ′ ⊢ B Γ , A , A ⊢ B Γ ⊢ B Γ , A ⊢ B ( Weak ) ( Cont ) Γ , A ⊢ B
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Sequent calculus - LJ Implicit vs explicit structural rules Implicit Explicit structural rules structural rules contexts are sets contexts are multisets context-sharing style context-splitting style Axiom: Γ , A ⊢ A Axiom: A ⊢ A
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Further extending C-H... Natural deduction � λ -calculus; Hilbert’s axiomatic system � combinators; Sequent calculus � λ Gtz -calculus Sequent calculus with explicit structural rules � ???
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz The ℓ λ Gtz -calculus Derived from λ Gtz by adding explicit operators for weakening and contraction Inspired by λ lxr-calculus (Kesner and Lengrand, 2005) Terms are linear: 1. every variable occurs at most once 2. every binder does bind an occurrence of a free variable Example Terms λ x . y and λ x . x ( x :: � y . y ) are not linear.
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz The syntax of ℓ λ Gtz x | λ x . t | x ⊙ t | x < x 1 ::= Values T x 2 t Terms ::= T | tk t x . t | t :: k | x ⊙ k | x < x 1 ::= � Contexts k x 2 k New features: value - a new syntactic category for regaining confluence; new constructors for weakening ( x ⊙ e ) and contraction( x < x 1 x 2 e ) Example Obtaining linearity: λ x . y � λ x . x ⊙ y y . y ) � λ x . x < x 1 λ x . x ( x :: � x 2 ( x 1 ( x 2 :: � y . y ))
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Reduction rules - I Reductions of λ Gtz : ( β ) ( λ x . t )( u :: k ) → u ( � x . tk ) ( tk ) k ′ t ( k @ k ′ ) ( π ) → ( µ ) � x . xk → k Substitution: ( σ 1 ) T ( � x . x ) → T ( σ 2 ) T ( � x . λ y . v ) → λ y . ( T ( � x . v )) if x ∈ u ( σ 3 ) T ( � x . uk ) → ( T � x . u ) k , ( σ 4 ) T ( � x . x ⊙ u ) → Fv ( T ) ⊙ u Fv ( T 1 ) x . x < x 1 ( σ 5 ) T ( � x 2 u ) → Fv ( T ) < Fv ( T 2 ) T 1 ( � x 1 . T 2 ( � x 2 . u ))
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Reduction rules - II Propagation of contraction: x < x 1 λ y . x < x 1 ( γ 1 ) x 2 ( λ y . t ) → x 2 t x < x 1 ( x < x 1 if x 1 , x 2 ∈ t ( γ 2 ) x 2 ( tk ) → x 2 t ) k , x < x 1 t ( x < x 1 if x 1 , x 2 ∈ k ( γ 3 ) x 2 ( tk ) → x 2 k ) , x < x 1 y . ( x < x 1 ( γ 4 ) x 2 ( � y . t ) → � x 2 t ) x < x 1 ( x < x 1 if x 1 , x 2 ∈ t ( γ 5 ) x 2 ( t :: k ) → x 2 t ) :: k , x < x 1 t :: ( x < x 1 ( γ 6 ) x 2 ( t :: k ) → x 2 k ) , if x 1 , x 2 ∈ k x < x 1 y ⊙ ( x < x 1 ( γω 1 ) x 2 ( y ⊙ e ) → x 2 e ) x < x 1 ( γω 2 ) x 2 ( x 1 ⊙ e ) → e { x 2 := x } Extraction of weakening: ( ω 1 ) λ x . ( y ⊙ t ) → y ⊙ ( λ x . t ) , x � = y ( ω 2 ) ( x ⊙ t ) k → x ⊙ ( tk ) ( ω 3 ) t ( x ⊙ k ) → x ⊙ ( tk ) ( ω 4 ) � x . ( y ⊙ t ) → y ⊙ ( � x . t ) , x � = y ( ω 5 ) ( x ⊙ t ) :: k → x ⊙ ( t :: k ) ( ω 6 ) t :: ( x ⊙ k ) → x ⊙ ( t :: k )
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Simply typed ℓ λ Gtz x : A ⊢ x : A ( Ax ) Γ ′ ; B ⊢ k : C Γ , x : A ⊢ t : B Γ ⊢ t : A Γ ⊢ λ x . t : A → B ( → R ) Γ , Γ ′ ; A → B ⊢ t :: k : C ( → L ) Γ ′ ; A ⊢ k : B Γ , x : A ⊢ t : B Γ ⊢ t : A ( Cut ) x . t : B ( Sel ) Γ , Γ ′ ⊢ tk : B Γ; A ⊢ � Γ , x : A , y : A ⊢ t : B Γ ⊢ t : B y t : B ( Cont t ) Γ , x : A ⊢ x ⊙ t : B ( Weak t ) Γ , z : A ⊢ z < x Γ , x : A , y : A ; C ⊢ k : B Γ; C ⊢ k : B y k : B ( Cont k ) Γ , x : A ; C ⊢ x ⊙ k : B ( Weak k ) Γ , z : A ; C ⊢ z < x
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Properties Confluence (Church-Rosser property) - parallel reduction technique (Takahashi, 1995). Subject reduction (type preservation under reduction) - reductions are proof-transformation, cut-elimination. Strong normalisation (termination of reductions) - well-foundedness of the reduction relation
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Ongoing and future work Diagrammatic representation of ℓ λ Gtz ; using ℓ λ Gtz as a starting point for the construction of term calculi that correspond to some sub-structural logics; connection with the proof-nets.
Motivation - Logic vs Computation Sequent lambda calculus - λ Gtz Linear Sequent lambda calculus - ℓ λ Gtz Ongoing and future work - Diagrams for ℓ λ Gtz k k t �� �� �� �� ����� ����� t Cons: Application: x x t t �� �� �� �� �� �� Selection: Abstraction: y x t x t z Contraction: Weakening: x Variable:
Recommend
More recommend