• Aucun résultat trouvé

Simply Typed λ -Calculus

N/A
N/A
Protected

Academic year: 2022

Partager "Simply Typed λ -Calculus"

Copied!
12
0
0

Texte intégral

(1)

Simply Typed λ -Calculus

Akim Demaille [email protected]

EPITA — École Pour l’Informatique et les Techniques Avancées

June 14, 2016

About these lecture notes

Many of these slides are largely inspired from Andrew D. Ker’s lecture notes [Ker, 2005a, Ker, 2005b]. Some slides are even straightforward copies.

A. Demaille Simply Typedλ-Calculus 2 / 46

Simply Typed λ-Calculus

1 Types

2 λ: Type Assignments

Types

1 Types

Untyped λ-calculus Paradoxes

Church vs. Curry

2 λ: Type Assignments

(2)

Types

Alonzo Church (1903–1995) Haskell Curry (1900–1982)

A. Demaille Simply Typedλ-Calculus 5 / 46

Types

Types first appeared with

Curry (1934) for Combinatory Logic Church (1940)

Types are syntactic objects assigned to terms:

M :A M has typeA For instance:

I :A→A

A. Demaille Simply Typedλ-Calculus 6 / 46

Untyped λ-calculus

1 Types

Untyped λ-calculus Paradoxes

Church vs. Curry

2 λ: Type Assignments

λ-terms

Λ

, set of

λ-terms x ∈ V x ∈Λ

M∈Λ N ∈Λ (MN)∈Λ

M ∈Λ

x∈ V (λx·M)∈Λ

(3)

λβ

The

λβ

Formal System

M =M

M =N N =M

M =N N =L M=L M=M0 N =N0

MN =M0N0

M =N λx·M =λx·N

(λx·M)N = [N/x]M

A. Demaille Simply Typedλ-Calculus 9 / 46

Properties of λβ

β-reduction is Church-Rosser.

Any term has (at most) a unique NF.

β-reduction is notnormalizing.

Some terms have no NF (Ω).

A. Demaille Simply Typedλ-Calculus 10 / 46

Paradoxes

1 Types

Untyped λ-calculus Paradoxes

Church vs. Curry

2 λ: Type Assignments

Self application

What is the computational meaning ofλx·xx?

Stop considering anything can be applied to anything A function and its argument have different behaviors

(4)

Church vs. Curry

1 Types

Untyped λ-calculus Paradoxes

Church vs. Curry

2 λ: Type Assignments

A. Demaille Simply Typedλ-Calculus 13 / 46

Simple Types

A set of type variables α, β, . . .

A symbol →for functions

α→α,α→(β →γ),(α→β)→γ, . . . Possibly constants for “primitive” types ι for integers, etc.

A. Demaille Simply Typedλ-Calculus 14 / 46

Simple Types

By convention→is right-associative:

α→β →γ=α→(β →γ)

This matches the right-associativity ofλ:

λx·λy·M=λx·(λy ·M)

Alonzo Style, or Haskell Way?

Church:

Typed

λ-calculus x :α λxα·x :α→α

Curry:

λ

-calculus with Types

x :α λx·x :α→α

(5)

λ

: Type Assignments

1 Types

2 λ: Type Assignments Types

Type Deductions

Subject Reduction Theorem Reducibility

Typability

A. Demaille Simply Typedλ-Calculus 17 / 46

Types

1 Types

2 λ: Type Assignments Types

Type Deductions

Subject Reduction Theorem Reducibility

Typability

A. Demaille Simply Typedλ-Calculus 18 / 46

Simple Types

T V a set of type variables α, β, . . .

Simple Types

The setT of typesσ, τ, . . .:

α∈ T V α∈ T

σ∈ T τ ∈ T (σ→τ)∈ T

Type Contexts

Statement

A statementM :σ is a pair withM∈Λ, σ ∈ T. M is thesubject, σthe predicate.

Type Context, Basis

A type contextΓ is a finite set of statements over distinct variables {x11, . . .}.

Assignment

The variable x isassigned the type σ in Γiffx :σ∈Γ.

(6)

Type Contexts

Type Context Restrictions

Γ−x is theΓ with all assignment x :σ removed.

ΓM is Γ−FV(M).

A. Demaille Simply Typedλ-Calculus 21 / 46

Type Deductions

1 Types

2 λ: Type Assignments Types

Type Deductions

Subject Reduction Theorem Reducibility

Typability

A. Demaille Simply Typedλ-Calculus 22 / 46

A Natural Presentation

Type derivations are trees built from the following nodes.

M :σ→τ N :σ MN :τ

[x :σ]

··· M :τ λx·M :σ→τ

Type Statement

Type Statement

A statement M :σ isderivable from the type contextΓ, Γ`M:σ

if there is a derivation of M:σwhose non-canceled assumptions are inΓ.

(7)

Type Statements

Prove

`λfx·f(fx) : (σ→σ)→σ→σ

[f :σ→σ](2)

[f :σ→σ](2) [x :σ](1) fx :σ

f(fx) :σ λx·f(fx) :σ→σ(1)

λfx·f(fx) : (σ→σ)→σ→σ (2)

A. Demaille Simply Typedλ-Calculus 25 / 46

Type Statements

Prove

`λxy ·x :σ→τ →σ

[x :σ](1) λy·x :τ →σ λxy ·x:σ→τ →σ(1)

A. Demaille Simply Typedλ-Calculus 26 / 46

Alternative Presentation of Type Derivations

Type Derivations

{x :σ} 7→x :σ Γ7→M:σ→τ ∆7→N:σ

Γ∪∆7→MN :τ Γ,∆ consistent Γ7→M:τ

Γ\ {x :σ} 7→λx·M :σ→τ Γ,{x:σ} consistent Γ7→M:τ

Γ,∆`M :τ

Type Statements

Prove

`λxy ·x :σ→τ →σ

{x :σ} 7→x:σ {x:σ} 7→λy·x :τ →σ

7→λxy ·x :σ→τ →σ

[x :σ](1) λy ·x :τ →σ λxy ·x :σ→τ →σ (1)

(8)

Type Statements

Typeω =λx·xx.

··· 7→λx·xx :σ

···

{x :σ1} 7→xx :σ2

σ=σ1 →σ2 7→λx·xx :σ

···

{x :σ1} 7→x :τ →σ2

···

{x :σ1} 7→x :τ {x :σ1} 7→xx :σ2

σ=σ1 →σ2 7→λx·xx :σ

A. Demaille Simply Typedλ-Calculus 29 / 46

Typability

Typability

A termM is typableif there exists a type σsuch that `M :σ.

ω,Ω are not typable.

S,K,I are typable.

Y is not typable!

A. Demaille Simply Typedλ-Calculus 30 / 46

Subject Construction Lemma I

Consider the derivation πforM :σ.

IfM =x, thenΓ ={x :σ} and

π=

{x :σ} 7→x :σ IfM =NL, then

π=ΓN 7→N :τ →σ ΓL7→L:τ Γ7→NL:σ

Subject Construction Lemma I

Consider the derivation πfor M:σ.

If M=λx·N, thenσ=σ1 →σ2 and Ifx ∈FV(N)

π=Γ∪ {x :σ1} 7→N:σ2 Γ7→λx·N :σ1→σ2 Ifx 6∈FV(N)

π= Γ7→N:σ2

Γ7→λx·N :σ1→σ2

(9)

Derivations are not Unique

They are forβ-normal forms.

A. Demaille Simply Typedλ-Calculus 33 / 46

Subject Reduction Theorem

1 Types

2 λ: Type Assignments Types

Type Deductions

Subject Reduction Theorem Reducibility

Typability

A. Demaille Simply Typedλ-Calculus 34 / 46

Conversions and Types

α-Invariance

IfΓ7→M :σ andM ≡α N then Γ7→N :σ.

Substitution

If

Γ∪ {x :τ}`M:σ,

∆`N :τ, Γ,∆consistent, x 6∈FV(N) then

Γ∪∆`[N/x]M :σ

Subject Reduction Theorem

Subject Reduction Theorem

IfΓ`M:σand M →β N then Γ`N :σ.

What about the converse?

Subject Expansion

IfΓ`N :σ andM →β N then Γ`M :σ.

Ω is not typable, butKIΩ→I.

(10)

Reducibility

1 Types

2 λ: Type Assignments Types

Type Deductions

Subject Reduction Theorem Reducibility

Typability

A. Demaille Simply Typedλ-Calculus 37 / 46

Types and Normalization

λ

is Strongly Normalizing

All typable terms are β-strongly normalizing.

A. Demaille Simply Typedλ-Calculus 38 / 46

Typability

1 Types

2 λ: Type Assignments Types

Type Deductions

Subject Reduction Theorem Reducibility

Typability

` M : σ suffices

Note that withΓ ={x11, . . . ,xnn} Γ`M :τ is equivalent to

`λx1. . .xn·M :σ1 →. . .→σn→τ

(11)

Decidability of Type Assignment

Type checking GivenM, σ, does `M:σ?

`M :σ?

Typability GivenM, does there existσ such that `M :σ?

`M :?

Inhabitation Givenσ, does there exist M such that `M :σ?

`? :σ

A. Demaille Simply Typedλ-Calculus 41 / 46

Decidability of Type Assignment

Type Checking is Decidable

It is decidable whether a statement ofλ is provable.

Typability is Decidable

It is decidable whether a term of λ has a type.

A. Demaille Simply Typedλ-Calculus 42 / 46

Types are not Unique...

Typable terms do not have unique types.

{x :σ} 7→x :σ {x :σ} 7→λy·x :τ →σ

7→K :σ→τ →σ

is valid forany σ, τ, includingσ=σ0→σ00, τ = (τ0→τ00)→τ0etc.

Types are not Unique. . .

but some are more Unique than others ...

All the types ofK are instances of σ→τ →σ.

(12)

Bibliography Notes

[Ker, 2005a] Complete and readable lecture notes on λ-calculus. Uses conventions different from ours.

[Ker, 2005b] Additional information, including slides.

[Barendregt and Barendsen, 2000] A classical introduction to λ-calculus.

A. Demaille Simply Typedλ-Calculus 45 / 46

Bibliography I

Barendregt, H. and Barendsen, E. (2000).

Introduction to lambda calculus.

http:

//www.cs.ru.nl/~erikb/onderwijs/T3/materiaal/lambda.pdf. Ker, A. D. (2005a).

Lambda calculus and types.

http://web.comlab.ox.ac.uk/oucl/work/andrew.ker/

lambda-calculus-notes-full-v3.pdf.

Ker, A. D. (2005b).

Lambda calculus notes.

http://web.comlab.ox.ac.uk/oucl/work/andrew.ker/.

A. Demaille Simply Typedλ-Calculus 46 / 46

Références

Documents relatifs

Rien ne permet donc linguistiquement d’affirmer qu’il y a une distanciation « irréductible entre l’auteur lui-même et les propos ou actions de ses personnages », et

The basic purpose of the study is to determine, drawing upon the location experience of a particular group of plants, the desirable characteristics of the districts

The strong normalization theorem of second order classical natural deduction [20] is based on a lemma known as the correctness result, which stipulates that each term is in

Success approaches: normalisation by evaluation and category-theoretic models of

Let t be a typed term and let σ be a type preserving substitution mapping all the free variables of t to terms in SC.. Since σ ∪ {x\x} verifies the second hypothesis of the lemma,

The dynamic pace of development of automated testing requires the answer to the question “can we all automate?” What is the role of manual testers in modern software

For the same reason, we can see that the question ‘‘Why does the Universe exist?’’ taken in the way that objectors to naturalism must intend it, also poses no unanswerable

Stop considering anything can be applied to anything A function and its argument have different behaviors.. Demaille Simply Typed λ-Calculus 12