The Computational Content of Classical Natural Deduction Alexander
- Slides: 130
νλμ : The Computational Content of Classical Natural Deduction Alexander J Summers Department of Computing Imperial College London
Curry-Howard Correspondence ► Historically relates minimal logic and λ-calculus – Formulas relate to types – Proofs relate to terms – Proof reductions relate to β reductions ► Logic and calculus were invented independently ► We can borrow the idea of the correspondence. . ► Existing calculus => logic-based type system ► Existing logic => new programming calculus – Extract the ‘computational content’ of the logic ► For Classical Logic, some work exists, but nothing as “nice” as the original correspondence
Curry-Howard Correspondence Minimal Natural Deduction (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ B Γ ⊢ A→B (→I) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ⊢ A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A Γ⊢ (Ax) A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A Γ⊢ (Ax) A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A Γ⊢ (Ax) A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢ A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢ A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢B Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢ A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢ Γ ⊢ M : A→B Γ⊢B A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢ Γ ⊢ M : A→B Γ⊢B A (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ⊢B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ⊢B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ⊢ B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ⊢ B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ⊢ B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ⊢ B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢ Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢ Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢ Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢ Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢ Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢ Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ ⊢ M : A→B Γ⊢ Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→I) (→E) (If Lambda Calculus did not exist, it would be necessary to invent it)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B Reductions? (→E) (→I)
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→I) (→E) Reductions? A standard notion of proof reduction exists. .
Curry-Howard Correspondence Minimal Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→I) (→E) Reductions? A standard notion of proof reduction exists. . Furthermore, it gives rise to the β-rule from the λ-calculus!
To extract the computational content of a logic. . ► Write down the proof rules ► Write a syntactic representation – Label the formulas in contexts – Subproofs become subterms – Formulas bound correspond to syntax binders ► If the logic has canonical reduction rules, use them ► Throw away all the types – This is only possible if reduction rules depend on syntax only ► Now the proof rules form a simple type-assignment system – Syntax directed – Principal typings – Strong Normalisation of typeable terms
What about Classical Logic? Classical Natural Deduction
What about Classical Logic? Classical Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B (→I) Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→E)
What about Classical Logic? Classical Natural Deduction Γ, x: A ⊢ x : A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B (→I) Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→E) Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
What about Classical Logic? Classical Natural Deduction Γ, x: A ⊢ x : A Γ, x: A ⊢ M : Γ ⊢ νx. M : ¬A (Ax) Γ, x: A ⊢ M : B Γ ⊢ λx. M : A→B (¬I) (→I) Γ⊢N: A Γ ⊢ M : A→B Γ ⊢ (M N) : B (→E) Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
New features νx. M ¬A [M]N μx. M
New features νx. M ¬A [M]N μx. M
New features νx. M ¬A [M]N μx. M
New features νx. M ¬A [M]N μx. M
New features νx. M¬A [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ¬A νx. M [M]N μx. M
New features ► - bottom type represents ‘no output’ ► ¬A - negated type for continuation with input of type A ► νx. M - terms to explicitly represent continuations – Informally, terms which consume an input but produce no output ► [M]N - continuation application – Pass the argument N to the continuation M ► μx. M - control operator – Capture the surrounding ‘context’ and bind it to x ► What about reductions? – Many alternative ideas exist, particularly for the μ-bound terms – Identify a common theme, and generalise the existing work
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μμx. x. M M: A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M μx. : MA
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M μ: x. AM
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : Aμx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A μx. M
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A μx. M : A Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A z : A Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A νz. z : A : ¬A Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A νz. z : A : ¬A Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A νz. z : A : ¬A Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
μ reductions. . ► General idea: μ-bound terms consume their contexts. ► Recall the typing rule: Γ, x: ¬A ⊢ M : (PC) ► Find a term of type ¬A Γ ⊢ μx. M : A ► Substitute the term for x ► Term of type ¬A is a continuation with a ‘hole’ of type A ► Any context around μx. M must have a ‘hole’ of type A νz. z : A : ¬A Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
μ reductions. . ► More formally, using a special kind of context Ec Ec{μx. M} → M< νz. Ec{z} / x > ► This behaviour can be broken down into ‘local’ rules ► Each rule consumes one level of surrounding context [μx. M]N → M< νz. [z]N/ x > ► The resulting rules largely subsume those in the literature νz. z : A : ¬A Γ, x: ¬A ⊢ M : (PC) Γ ⊢ μx. M : A
Comparisons and related work ► There is plenty of existing work on similar calculi – λμ-calculus of Parigot – λC calculus of Griffin – Many others and variants ► Aim to faithfully inhabit the original logic ► Aim for a set of reductions encompassing existing work ► Aim for the simulation of existing control operators ► Another yardstick: classical sequent calculus – Has fairly well-understood and accepted reduction rules – Aim to be able to encode, and simulate these ► The νλμ calculus manages all of this
Details
Details (don’t panic) ► Coming soon to a thesis near you ► Also, there’s a paper on my web page – google for “Alexander J Summers” ► Thank you for listening
- Natural deduction cheat sheet
- Natural deduction cheat sheet
- Static content vs dynamic content
- Carrier content vs real content
- Natural rights philosophy and classical republicanism
- Régularisation coefficient déduction tva comptabilisation
- Gst deduction at source
- Permissible deductions
- Cost recovery deduction
- Polavaram project
- Foil algorithm in machine learning
- Example of deduction
- Forms of inductive reasoning
- Deductibe reasoning
- Gst deduction at source
- Three bend saddle
- Induction vs deduction
- Examples of literal questions
- Deduction and induction
- Qbi deduction example
- Ghogle translate
- Suggestions modals
- Induction as inverted deduction
- How to identify premises and conclusions in arguments
- Inductive logic definition
- Modals of deduction in present
- Rule based deduction system in artificial intelligence
- What is inference and deduction
- Obligation and deduction
- Induction v deduction
- Natural hazards vs natural disasters
- Natural capital and natural income
- Lời thề hippocrates
- Vẽ hình chiếu đứng bằng cạnh của vật thể
- Quá trình desamine hóa có thể tạo ra
- Môn thể thao bắt đầu bằng chữ f
- Hình ảnh bộ gõ cơ thể búng tay
- Sự nuôi và dạy con của hươu
- Dot
- Thế nào là sự mỏi cơ
- Phản ứng thế ankan
- Trời xanh đây là của chúng ta thể thơ
- Gấu đi như thế nào
- Thiếu nhi thế giới liên hoan
- điện thế nghỉ
- Fecboak
- Một số thể thơ truyền thống
- Thế nào là hệ số cao nhất
- Ng-html
- Hệ hô hấp
- Số nguyên tố là gì
- đặc điểm cơ thể của người tối cổ
- Mật thư anh em như thể tay chân
- Các châu lục và đại dương trên thế giới
- Tư thế worms-breton
- ưu thế lai là gì
- Thẻ vin
- Tư thế ngồi viết
- Bàn tay mà dây bẩn
- Các châu lục và đại dương trên thế giới
- Bổ thể
- Từ ngữ thể hiện lòng nhân hậu
- Tư thế ngồi viết
- Thế nào là giọng cùng tên?
- Thơ thất ngôn tứ tuyệt đường luật
- Bài hát chúa yêu trần thế alleluia
- Hổ đẻ mỗi lứa mấy con
- đại từ thay thế
- Diễn thế sinh thái là
- Vẽ hình chiếu vuông góc của vật thể sau
- 101012 bằng
- Công thức tiính động năng
- Thế nào là mạng điện lắp đặt kiểu nổi
- Tỉ lệ cơ thể trẻ em
- Jeannette m. wing computational thinking
- Computational chemistry branches
- Computational security
- Computational fluid dynamics
- Crl alliance medical
- Cmu pitt computational biology
- Computational sustainability subjects
- Computational fluid dynamics
- Standard deviation computational formula
- Fundamentals of computational neuroscience
- Computational lexical semantics
- Barefoot computational thinking
- Nibib.nih.gov computational
- If time permits quotes
- Computational reflection
- Computational methods in plasma physics
- Computational graph backpropagation
- Centre for computational medicine
- Computational fluid dynamics
- "computational thinking"
- Computational sustainability cornell
- Characteristics of computational thinking
- Using mathematics and computational thinking
- Problem solve
- Jeannette m. wing computational thinking
- The computational complexity of linear optics
- Computational intelligence tutorial
- Computational photography uiuc
- C6748 architecture supports
- The computational complexity of linear optics
- Computational fluid dynamics
- Standard deviation computational formula
- Computational approaches
- Computational creativity market trends
- Computational biology: genomes, networks, evolution
- Computational engineering and physical modeling
- Computational irreducibility
- Kinship domain in artificial intelligence
- Arma gravi numero violentaque bella parabam
- Computational graph
- Computational photography uiuc
- Computational fluid dynamics
- Computational thinking
- Chomsky computational linguistics
- Computational fluency
- Computational geometry tutorial
- Tu bergakademie freiberg computational materials science
- Slo computational thinking
- Computational diagnostics
- Turing machine 7 tuple
- Computational neuroethology
- Cern alice
- Amortized complexity examples
- Leerlijn computational thinking
- Integrated computational materials engineering
- Computational math
- Computational thinking algorithms and programming