Introduction Sequent calculus Natural deduction Results
Curry-Howard isomorphism for sequent calculus at last Jos e Carlos - - PowerPoint PPT Presentation
Curry-Howard isomorphism for sequent calculus at last Jos e Carlos - - PowerPoint PPT Presentation
Introduction Sequent calculus Natural deduction Results Curry-Howard isomorphism for sequent calculus at last Jos e Carlos Esp rito Santo Centro de Matem atica Universidade do Minho Portugal jes@math.uminho.pt Estonian-Finnish
Introduction Sequent calculus Natural deduction Results
Goal
Introduction Sequent calculus Natural deduction Results
Goal
In the same sense as the simply-typed λ-calculus (resp. combinators) corresponds to natural deduction (Hilbert systems),
Introduction Sequent calculus Natural deduction Results
Goal
In the same sense as the simply-typed λ-calculus (resp. combinators) corresponds to natural deduction (Hilbert systems), what variant of the simply-typed lambda-calculus does correspond to the sequent calculus for intuitionistic implicational logic?
Introduction Sequent calculus Natural deduction Results
Goal
In the same sense as the simply-typed λ-calculus (resp. combinators) corresponds to natural deduction (Hilbert systems), what variant of the simply-typed lambda-calculus does correspond to the sequent calculus for intuitionistic implicational logic? Question in the purest form Clear-cut answer required
Introduction Sequent calculus Natural deduction Results
Goal
In the same sense as the simply-typed λ-calculus (resp. combinators) corresponds to natural deduction (Hilbert systems), what variant of the simply-typed lambda-calculus does correspond to the sequent calculus for intuitionistic implicational logic? Question in the purest form Clear-cut answer required More than a term assignment, a computational interpretation
Introduction Sequent calculus Natural deduction Results
Goal
In the same sense as the simply-typed λ-calculus (resp. combinators) corresponds to natural deduction (Hilbert systems), what variant of the simply-typed lambda-calculus does correspond to the sequent calculus for intuitionistic implicational logic? Question in the purest form Clear-cut answer required More than a term assignment, a computational interpretation An interpretation of proofs in terms of a functional language, so that, when cut-elimination is rephrased accordingly, a meaningful, perhaps familiar, computational behavior is recognized
Introduction Sequent calculus Natural deduction Results
An open question
Introduction Sequent calculus Natural deduction Results
An open question
Girard, 1989: “From an algorithmic viewpoint, the sequent calculus has no Curry-Howard isomorphism, because of the multitude of ways of writing the same proof”
Introduction Sequent calculus Natural deduction Results
An open question
Girard, 1989: “From an algorithmic viewpoint, the sequent calculus has no Curry-Howard isomorphism, because of the multitude of ways of writing the same proof” Sørensen-Urzykzyn, 2006: sequent calculus corresponds to explicit substitutions, but “this is just the beginning of the story”
Introduction Sequent calculus Natural deduction Results
An open question
Girard, 1989: “From an algorithmic viewpoint, the sequent calculus has no Curry-Howard isomorphism, because of the multitude of ways of writing the same proof” Sørensen-Urzykzyn, 2006: sequent calculus corresponds to explicit substitutions, but “this is just the beginning of the story” Wikipedia: “The structure of sequent calculus relates to a calculus whose structure is close to the one of some abstract machines”
Introduction Sequent calculus Natural deduction Results
Basic unanswered questions
Introduction Sequent calculus Natural deduction Results
Basic unanswered questions
What does a variable stand for in a sequent calculus proof expression? What is the related substitution operation?
Introduction Sequent calculus Natural deduction Results
Basic unanswered questions
What does a variable stand for in a sequent calculus proof expression? What is the related substitution operation? What is co-control?
Introduction Sequent calculus Natural deduction Results
Plan
Sequent calculus λ˜ µ
Internal interpretation
Natural deduction λlet
External interpretation Explains co-control, justifies design of λ˜ µ
Results
Introduction Sequent calculus Natural deduction Results
SEQUENT CALCULUS
Introduction Sequent calculus Natural deduction Results Preliminaries
Overview of λ˜ µ
Introduction Sequent calculus Natural deduction Results Preliminaries
Overview of λ˜ µ
System λ˜ µ: formal vector notation with first-class co-control
Introduction Sequent calculus Natural deduction Results Preliminaries
Overview of λ˜ µ
System λ˜ µ: formal vector notation with first-class co-control Generalization of (the essence of) λ-calculus
Introduction Sequent calculus Natural deduction Results Preliminaries
Overview of λ˜ µ
System λ˜ µ: formal vector notation with first-class co-control Generalization of (the essence of) λ-calculus Re-interpretation of a 15-years-old result
The λ-calculus has an isomorphic copy inside λ This copy is a formal vector notation
Introduction Sequent calculus Natural deduction Results Preliminaries
Overview of λ˜ µ
System λ˜ µ: formal vector notation with first-class co-control Generalization of (the essence of) λ-calculus Re-interpretation of a 15-years-old result
The λ-calculus has an isomorphic copy inside λ This copy is a formal vector notation
Dualization of first-class control as found in λµ-calculus
Concept of co-continuation ˜ µx.t (known from λµ˜ µ) becomes a co-control operator
Introduction Sequent calculus Natural deduction Results Preliminaries
Overview of λ˜ µ
System λ˜ µ: formal vector notation with first-class co-control Generalization of (the essence of) λ-calculus Re-interpretation of a 15-years-old result
The λ-calculus has an isomorphic copy inside λ This copy is a formal vector notation
Dualization of first-class control as found in λµ-calculus
Concept of co-continuation ˜ µx.t (known from λµ˜ µ) becomes a co-control operator
Variables in proof expressions stand for co-continuations
Introduction Sequent calculus Natural deduction Results Preliminaries
Overview of λ˜ µ
System λ˜ µ: formal vector notation with first-class co-control Generalization of (the essence of) λ-calculus Re-interpretation of a 15-years-old result
The λ-calculus has an isomorphic copy inside λ This copy is a formal vector notation
Dualization of first-class control as found in λµ-calculus
Concept of co-continuation ˜ µx.t (known from λµ˜ µ) becomes a co-control operator
Variables in proof expressions stand for co-continuations λ˜ µ is developed hand-in-hand with isomorphic natural deduction system λlet
Introduction Sequent calculus Natural deduction Results Preliminaries
Herbelin’s λ-calculus
Introduction Sequent calculus Natural deduction Results Preliminaries
Herbelin’s λ-calculus
Permutation-free, focused fragment of sequent calculus
Introduction Sequent calculus Natural deduction Results Preliminaries
Herbelin’s λ-calculus
Permutation-free, focused fragment of sequent calculus Two-sorted syntax
Proof terms t and lists l Sequents Γ ⇒ t : A and Γ|A ⇒ l : B
Introduction Sequent calculus Natural deduction Results Preliminaries
Herbelin’s λ-calculus
Permutation-free, focused fragment of sequent calculus Two-sorted syntax
Proof terms t and lists l Sequents Γ ⇒ t : A and Γ|A ⇒ l : B
Sketch of two computational interpretations
Internal interpretation
Lists are stacks Cuts tl are states in a rudimentary abstract machine
External interpretation
Lists l = u1 :: · · · :: um :: [] are “evaluation contexts”/continuations [·]N1 · · · Nm Cuts tl denote M filled in [·]N1 · · · Nm
Introduction Sequent calculus Natural deduction Results Preliminaries
Herbelin’s λ-calculus
Permutation-free, focused fragment of sequent calculus Two-sorted syntax
Proof terms t and lists l Sequents Γ ⇒ t : A and Γ|A ⇒ l : B
Sketch of two computational interpretations
Internal interpretation
Lists are stacks Cuts tl are states in a rudimentary abstract machine
External interpretation
Lists l = u1 :: · · · :: um :: [] are “evaluation contexts”/continuations [·]N1 · · · Nm Cuts tl denote M filled in [·]N1 · · · Nm
S.c. versus n.d.: inversion of associativity of non-abstractions
N.d. is left associative (· · · (MN1) · · · Nm) S.c. is right associative t(u1 :: · · · (um :: []) · · · )
Introduction Sequent calculus Natural deduction Results Preliminaries
Vector notation
Introduction Sequent calculus Natural deduction Results Preliminaries
Vector notation
Recall M, N ::= λx.M (1st form) | x N (2nd form) | (λx.M)N N (3rd form)
Introduction Sequent calculus Natural deduction Results Preliminaries
Vector notation
Recall M, N ::= λx.M (1st form) | x N (2nd form) | (λx.M)N N (3rd form) Relaxed vector notation: 3rd form becomes M N
Introduction Sequent calculus Natural deduction Results Preliminaries
Vector notation
Recall M, N ::= λx.M (1st form) | x N (2nd form) | (λx.M)N N (3rd form) Relaxed vector notation: 3rd form becomes M N This introduces the need for vector bookkeeping M[] = M (x Q)N N = x( QN N) (P Q)N N = P( QN N)
Introduction Sequent calculus Natural deduction Results Preliminaries
A variant of Parigot’s λµ-calculus...
Introduction Sequent calculus Natural deduction Results Preliminaries
A variant of Parigot’s λµ-calculus...
... called λµ-calculus
Introduction Sequent calculus Natural deduction Results Preliminaries
A variant of Parigot’s λµ-calculus...
... called λµ-calculus ... whose management of sequents’ RHS we want to “dualize”
Introduction Sequent calculus Natural deduction Results Preliminaries
A variant of Parigot’s λµ-calculus...
... called λµ-calculus ... whose management of sequents’ RHS we want to “dualize” Control points Mˆ a, where a, b, · · · are co-variables Control operator µa.M
Introduction Sequent calculus Natural deduction Results Preliminaries
A variant of Parigot’s λµ-calculus...
... called λµ-calculus ... whose management of sequents’ RHS we want to “dualize” Control points Mˆ a, where a, b, · · · are co-variables Control operator µa.M Control operation: if C = ([·]N1 · · · Nm)ˆ b C[µa.M] → [C/a]M
Introduction Sequent calculus Natural deduction Results Preliminaries
A variant of Parigot’s λµ-calculus...
... called λµ-calculus ... whose management of sequents’ RHS we want to “dualize” Control points Mˆ a, where a, b, · · · are co-variables Control operator µa.M Control operation: if C = ([·]N1 · · · Nm)ˆ b C[µa.M] → [C/a]M Context substitution (rather than “structural substitution”) [C/a](Mˆ a) = C[M′] where M′ = [C/a]M
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Syntax of proof expressions
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Syntax of proof expressions
(Terms) t, u, v ::= λx.t (1st form) | xˆk (2nd form, co-control point) | tk (3rd form) (Generalized vectors) k ::= [] (empty vector) | ˜ µx.v (co-control operator) | u :: k (vector constructor)
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Typing
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Typing
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k Sequents Γ ⊢ t : A and Γ|A ⊢ k : A
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Typing
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k Sequents Γ ⊢ t : A and Γ|A ⊢ k : A Typing/inference rules Ax Γ|A ⊢ [] : A Cut Γ ⊢ t : A Γ|A ⊢ k : B Γ ⊢ tk : B Pass Γ, x : A|A ⊢ k : B Γ, x : A ⊢ xˆk : B Act Γ, x : A ⊢ v : B Γ|A ⊢ ˜ µx.v : B ⊃L Γ ⊢ u : A Γ|B ⊢ k : C Γ|A ⊃ B ⊢ u :: k : C ⊃R Γ, x : A ⊢ t : B Γ ⊢ λx.t : A ⊃ B
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Derived syntax
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Derived syntax
Concatenation of two generalized vectors k@k′ []@k′ = k′ (u :: k)@k′ = u :: (k@k′) (˜ µx.t)@k′ = ˜ µx.tk′
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Derived syntax: co-continuations
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Derived syntax: co-continuations
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Derived syntax: co-continuations
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k Co-continuations H ::= xˆ[·] | t([·]) | H[u :: [·]] Hence co-continuations have the forms
xˆ(u1 :: · · · :: um :: [·]) or t(u1 :: · · · :: um :: [·]) (m ≥ 0) that is, a non-abstraction with a hole at the right end hole expects a vector
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Derived syntax: co-continuations
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k Co-continuations H ::= xˆ[·] | t([·]) | H[u :: [·]] Hence co-continuations have the forms
xˆ(u1 :: · · · :: um :: [·]) or t(u1 :: · · · :: um :: [·]) (m ≥ 0) that is, a non-abstraction with a hole at the right end hole expects a vector
Co-continuation substitution [H/x]t and [H/x]k [H/x](xˆk) = H[k′] with k′ = [H/x]k
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Reduction
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Reduction
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k Reduction rules (β) (λx.t)(u :: k) → (u(˜ µx.t))k (˜ µ) H[˜ µx.t] → [H/x]t (ǫ) t[] → t (π1) (xˆk)k′ → xˆ(k@k′) (π2) (tk)k′ → t(k@k′)
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Reduction
Recall (terms) t, u, v ::= λx.t | xˆk | tk (gen. vectors) k ::= [] | ˜ µx.t | u :: k Reduction rules (β) (λx.t)(u :: k) → (u(˜ µx.t))k (˜ µ) H[˜ µx.t] → [H/x]t (ǫ) t[] → t (π1) (xˆk)k′ → xˆ(k@k′) (π2) (tk)k′ → t(k@k′) Interp: formal vector notation with first-class co-control
β: function call ˜ µ: co-control operation ǫ and πi: vector bookkeeping in relaxed vector notation
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Reduction
Recall the ˜ µ-rule: H[˜ µx.t] → [H/x]t
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Reduction
Recall the ˜ µ-rule: H[˜ µx.t] → [H/x]t Partition of ˜ µ (ρ) yˆ(˜ µx.t) → [yˆ([·])/x]t (σ) t(˜ µx.t) → [t([·])/x]t (τ) H[u :: ˜ µx.t] → [H[u :: [·]]/x]t
Introduction Sequent calculus Natural deduction Results The λ˜ µ-calculus
Reduction
Recall the ˜ µ-rule: H[˜ µx.t] → [H/x]t Partition of ˜ µ (ρ) yˆ(˜ µx.t) → [yˆ([·])/x]t (σ) t(˜ µx.t) → [t([·])/x]t (τ) H[u :: ˜ µx.t] → [H[u :: [·]]/x]t Logical procedures cut-elimination β, σ, ǫ, π ˜ µ-elimination = co-control ρ, τ, σ permutation τ, σ, ǫ, π focalization ρ, τ
Introduction Sequent calculus Natural deduction Results
NATURAL DEDUCTION
Introduction Sequent calculus Natural deduction Results Preliminaries
Developing natural deduction
Introduction Sequent calculus Natural deduction Results Preliminaries
Developing natural deduction
Bidirectional syntax
Introduction Sequent calculus Natural deduction Results Preliminaries
Developing natural deduction
Bidirectional syntax Let-expressions (“Lets” vs cuts) Lets vs explicit substitutions
Introduction Sequent calculus Natural deduction Results Preliminaries
Developing natural deduction
Bidirectional syntax Let-expressions (“Lets” vs cuts) Lets vs explicit substitutions Isomorphic to sequent calculus
Introduction Sequent calculus Natural deduction Results The system
Syntax of proof terms of λlet
Introduction Sequent calculus Natural deduction Results The system
Syntax of proof terms of λlet
(Terms) M, N, P ::= λx.M (abstraction) | app(H) (applicative term) | let x := H in P (let-expression) (Heads) H ::= x (variable) | hd(M) (head term) | HN (application)
Introduction Sequent calculus Natural deduction Results The system
Typing in λlet
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN
Introduction Sequent calculus Natural deduction Results The system
Typing in λlet
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN Sequents Γ ⊢ M : A and Γ ⊲ H : A
Introduction Sequent calculus Natural deduction Results The system
Typing in λlet
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN Sequents Γ ⊢ M : A and Γ ⊲ H : A Rules Γ, x : A ⊲ x : A Hyp Γ ⊲ H : A Γ, x : A ⊢ P : B Γ ⊢ let x := H in P : B Let Γ ⊲ H : A Γ ⊢ app(H) : A WCoercion Γ ⊢ M : A Γ ⊲ hd(M) : A SCoercion Γ, x : A ⊢ M : B Γ ⊢ λx.M : A ⊃ B Intro Γ ⊲ H : A ⊃ B Γ ⊢ N : A Γ ⊲ HN : B Elim
Introduction Sequent calculus Natural deduction Results The system
Derived syntax
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN
Introduction Sequent calculus Natural deduction Results The system
Derived syntax
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN Continuations K ::= app([·]) | let x := [·] in P | K[[·]N] Hence co-continuations have the forms
app([·]N1 · · · Nm) or let x := [·]N1 · · · Nm in P (m ≥ 0) that is, a non-abstraction with a hole at the left end hole expects a head
Introduction Sequent calculus Natural deduction Results The system
Reduction in λlet
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN
Introduction Sequent calculus Natural deduction Results The system
Reduction in λlet
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN Rules (beta) hd(λx.M)N → hd(let x := hd(N) in M) (let) let x := H in P → [H/x]P (triv) app(hd(M)) → M (head1) hd(app(H)) → H (head2) K[hd(let x := H in P)] → let x := H in K[hd(P)]
Introduction Sequent calculus Natural deduction Results The system
Reduction in λlet
Recall (Terms) M, N, P ::= λx.M | app(H) | let x := H in P (Heads) H ::= x | hd(M) | HN Rules (beta) hd(λx.M)N → hd(let x := hd(N) in M) (let) let x := H in P → [H/x]P (triv) app(hd(M)) → M (head1) hd(app(H)) → H (head2) K[hd(let x := H in P)] → let x := H in K[hd(P)] Comments: bidirectional, agnostic, computational λ-calculus
Introduction Sequent calculus Natural deduction Results
Mapping sequent calculus
Introduction Sequent calculus Natural deduction Results
Mapping sequent calculus
Map Θ : λ˜ µ → λlet xˆ(u1 :: · · · um :: []) → app(xN1 · · · Nm) xˆ(u1 :: · · · um :: ˜ µy.v) → let y := (xN1 · · · Nm) in P t(u1 :: · · · um :: []) → app(hd(M)N1 · · · Nm) t(u1 :: · · · um :: ˜ µy.v) → let y := (hd(M)N1 · · · Nm) in P Replace each left-introduction by an elimination
Introduction Sequent calculus Natural deduction Results
Mapping sequent calculus
Map Θ : λ˜ µ → λlet xˆ(u1 :: · · · um :: []) → app(xN1 · · · Nm) xˆ(u1 :: · · · um :: ˜ µy.v) → let y := (xN1 · · · Nm) in P t(u1 :: · · · um :: []) → app(hd(M)N1 · · · Nm) t(u1 :: · · · um :: ˜ µy.v) → let y := (hd(M)N1 · · · Nm) in P Replace each left-introduction by an elimination Inversion of the associativity of non-abstractions
Introduction Sequent calculus Natural deduction Results
Mapping sequent calculus
Map Θ : λ˜ µ → λlet xˆ(u1 :: · · · um :: []) → app(xN1 · · · Nm) xˆ(u1 :: · · · um :: ˜ µy.v) → let y := (xN1 · · · Nm) in P t(u1 :: · · · um :: []) → app(hd(M)N1 · · · Nm) t(u1 :: · · · um :: ˜ µy.v) → let y := (hd(M)N1 · · · Nm) in P
Introduction Sequent calculus Natural deduction Results
Mapping sequent calculus
Map Θ : λ˜ µ → λlet xˆ(u1 :: · · · um :: []) → app(xN1 · · · Nm) xˆ(u1 :: · · · um :: ˜ µy.v) → let y := (xN1 · · · Nm) in P t(u1 :: · · · um :: []) → app(hd(M)N1 · · · Nm) t(u1 :: · · · um :: ˜ µy.v) → let y := (hd(M)N1 · · · Nm) in P Proof expressions of λ˜ µ as instructions to build λlet proofs tk → K[hd(M)] where t → M and k → K xˆk → K[x] where k → K u :: k → K[[·]N] where u → N and k → K ˜ µx.v → let x := [·] in P where v → P [] → app([·])
Introduction Sequent calculus Natural deduction Results
RESULTS
Introduction Sequent calculus Natural deduction Results Results
Isomorphism
Introduction Sequent calculus Natural deduction Results Results
Isomorphism
Isomorphism Θ : λ˜ µ ∼ = λlet
Introduction Sequent calculus Natural deduction Results Results
Isomorphism
Isomorphism Θ : λ˜ µ ∼ = λlet Bijections of syntactic classes terms t M terms
- gen. vectors
k K continuations co-continuations H H heads
Introduction Sequent calculus Natural deduction Results Results
Isomorphism
Isomorphism Θ : λ˜ µ ∼ = λlet Bijections of syntactic classes terms t M terms
- gen. vectors
k K continuations co-continuations H H heads Remark: exchange of primitive/derived concepts
Introduction Sequent calculus Natural deduction Results Results
Isomorphism
Isomorphism Θ : λ˜ µ ∼ = λlet Bijections of syntactic classes terms t M terms
- gen. vectors
k K continuations co-continuations H H heads Remark: exchange of primitive/derived concepts Isomorphism of reduction relations β beta ˜ µ let ǫ triv π head
Introduction Sequent calculus Natural deduction Results Results
Curry Howard at last
Introduction Sequent calculus Natural deduction Results Results
Curry Howard at last
The two faces of the coin:
Internal interpretation: formal vector notation with first-class co-control External interpretation: bidirectional, agnostic, computational λ-calculus
Introduction Sequent calculus Natural deduction Results Results
Curry Howard at last
The two faces of the coin:
Internal interpretation: formal vector notation with first-class co-control External interpretation: bidirectional, agnostic, computational λ-calculus
Example: expression xˆk
Internal interpretation: co-control point, fill k in the hole of the co-continuation H that will substitute x
Introduction Sequent calculus Natural deduction Results Results
Curry Howard at last
The two faces of the coin:
Internal interpretation: formal vector notation with first-class co-control External interpretation: bidirectional, agnostic, computational λ-calculus
Example: expression xˆk
Internal interpretation: co-control point, fill k in the hole of the co-continuation H that will substitute x External interpretation: fill head x in the hole of continuation K, where K = Θk - an instruction for the construction of a λlet derivation (fill x in k better notation for this reading)
Introduction Sequent calculus Natural deduction Results Results
Curry Howard at last
The two faces of the coin:
Internal interpretation: formal vector notation with first-class co-control External interpretation: bidirectional, agnostic, computational λ-calculus
Example: expression xˆk
Internal interpretation: co-control point, fill k in the hole of the co-continuation H that will substitute x External interpretation: fill head x in the hole of continuation K, where K = Θk - an instruction for the construction of a λlet derivation (fill x in k better notation for this reading)
Example: β-rule (λx.t)(u :: k) → (u(˜ µx.t))k
Internal interpretation: β-rule of a relaxed vector notation
Introduction Sequent calculus Natural deduction Results Results
Curry Howard at last
The two faces of the coin:
Internal interpretation: formal vector notation with first-class co-control External interpretation: bidirectional, agnostic, computational λ-calculus
Example: expression xˆk
Internal interpretation: co-control point, fill k in the hole of the co-continuation H that will substitute x External interpretation: fill head x in the hole of continuation K, where K = Θk - an instruction for the construction of a λlet derivation (fill x in k better notation for this reading)
Example: β-rule (λx.t)(u :: k) → (u(˜ µx.t))k
Internal interpretation: β-rule of a relaxed vector notation External interpretation: rule beta of λlet written in the notation of instructions that λ˜ µ is
Introduction Sequent calculus Natural deduction Results Results
More Results
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ the latter gives a focalization result: every t ∈ λ˜ µ has a unique ˜ µ-nf (which is a LJT proof, if t is typable)
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ the latter gives a focalization result: every t ∈ λ˜ µ has a unique ˜ µ-nf (which is a LJT proof, if t is typable)
Agnosticism theorem
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ the latter gives a focalization result: every t ∈ λ˜ µ has a unique ˜ µ-nf (which is a LJT proof, if t is typable)
Agnosticism theorem
take the s.c. characterization of CBN and CBV...
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ the latter gives a focalization result: every t ∈ λ˜ µ has a unique ˜ µ-nf (which is a LJT proof, if t is typable)
Agnosticism theorem
take the s.c. characterization of CBN and CBV...
- btain the isomorphic characterization in n.d...
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ the latter gives a focalization result: every t ∈ λ˜ µ has a unique ˜ µ-nf (which is a LJT proof, if t is typable)
Agnosticism theorem
take the s.c. characterization of CBN and CBV...
- btain the isomorphic characterization in n.d...
and see how CBN and CBV are superimposed in λlet
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ the latter gives a focalization result: every t ∈ λ˜ µ has a unique ˜ µ-nf (which is a LJT proof, if t is typable)
Agnosticism theorem
take the s.c. characterization of CBN and CBV...
- btain the isomorphic characterization in n.d...
and see how CBN and CBV are superimposed in λlet
“Co-control theorem”
given that the let rule is isomorphic to the ˜ µ rule...
Introduction Sequent calculus Natural deduction Results Results
More Results
Studying forgetful/desugaring maps λlet → λ one gets
strong normalization of λlet, hence of λ˜ µ termination of the let rule, hence of ˜ µ rule of λ˜ µ the latter gives a focalization result: every t ∈ λ˜ µ has a unique ˜ µ-nf (which is a LJT proof, if t is typable)
Agnosticism theorem
take the s.c. characterization of CBN and CBV...
- btain the isomorphic characterization in n.d...
and see how CBN and CBV are superimposed in λlet
“Co-control theorem”
given that the let rule is isomorphic to the ˜ µ rule...
- ne understands why co-control is almost invisible in n.d.
Introduction Sequent calculus Natural deduction Results Results
Duality
Introduction Sequent calculus Natural deduction Results Results
Duality
Are control and co-control related by classical duality?
Introduction Sequent calculus Natural deduction Results Results
Duality
Are control and co-control related by classical duality? Not within classical sequent calculus!
Introduction Sequent calculus Natural deduction Results Results
Duality
Are control and co-control related by classical duality? Not within classical sequent calculus! E.g. not in λµ˜ µ, because there
variables stand for terms (not co-continuations) ˜ µ is an ordinary term substitution former
Introduction Sequent calculus Natural deduction Results Results
Duality
Are control and co-control related by classical duality? Not within classical sequent calculus! E.g. not in λµ˜ µ, because there
variables stand for terms (not co-continuations) ˜ µ is an ordinary term substitution former
Yes in a system that unifies λ˜ µ and λlet - see the paper
Introduction Sequent calculus Natural deduction Results Results