pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani...

150
Some applications of quantitative types inside and outside type theory Pierre VIAL ´ Equipe Gallinette Inria (LS2N CNRS) July 8, 2018 Intersection type theory P. Vial 0 1 /36

Transcript of pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani...

Page 1: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Some applications of quantitative types inside and outside type theory

Pierre VIALEquipe Gallinette

Inria (LS2N CNRS)

July 8, 2018

Intersection type theory P. Vial 0 1 /36

Page 2: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Where we lie

Non-Idempotent

Intersection

Type Theory

Curry-Howardcorrespondence

characterizes:• normalization

• complexity classes• MSO-sat.

Quantitativeinfo.

Intersection type theory P. Vial 0 2 /36

Page 3: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Where we lie

Non-Idempotent

Intersection

Type TheoryCurry-Howardcorrespondence

characterizes:• normalization

• complexity classes• MSO-sat.

Quantitativeinfo.

Intersection type theory P. Vial 0 2 /36

Page 4: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Where we lie

Non-Idempotent

Intersection

Type TheoryCurry-Howardcorrespondence

characterizes:• normalization• complexity classes• MSO-sat.

Quantitativeinfo.

Intersection type theory P. Vial 0 2 /36

Page 5: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Where we lie

Non-Idempotent

Intersection

Type TheoryCurry-Howardcorrespondence

characterizes:• normalization

• complexity classes• MSO-sat.

Quantitativeinfo.

Intersection type theory P. Vial 0 2 /36

Page 6: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Where we lie

Non-Idempotent

Intersection

Type TheoryCurry-Howardcorrespondence

characterizes:• normalization

• complexity classes• MSO-sat.

Quantitativeinfo.

Intersection type theory P. Vial 0 2 /36

Page 7: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Plan

1 Overview (idempotent or not intersection types)

2 Non-idempotent intersection types

3 Resources for Classical Logic

4 Infinite types and productive reduction

5 Perspectives

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 3 /36

Page 8: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersection types (overview)

Introduced by Coppo-Dezani (78-80) to “interpret more terms”Charac. of Weak Norm. for λI-terms (no erasing β-step).

Extended later for λ-terms, head, weak or strong normalizatiion. . .

Filter models

Model-checkingOng 06: monadic second order (MSO) logic is decidable for higher-order recursionschemes (HORS)

Kobayashi-Ong 09: MSO is decidable for higher-order programs

+ using intersection types to simplify Ong’s algorithm.

Refined by Grellois-Mellies 14-15

Complexity:Upper bounds for reduction sequences (Gardner 94, de Carvalho 07 ) or exactbounds (Bernadet-Lengrand 11, Accattoli-Lengrand-Kesner, ICFP’18 ).

Terui 06: upper bounds for terms in a red. sequence

De Benedetti-Ronchi della Roccha 16 : characterization of FPTIME

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 4 /36

Page 9: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersections types (Coppo, Dezani, 1980)

Goal

Equivalences of the form

“the program t is typable iff it can reach a terminal state”

Idea: several certificates to a same subprogram (next slides).

Proof: by the “circular” implications:

Some reduction strategynormalizes t

e.g., the leftmost-o. strat.

t can reach aterminal state

e.g., ∃ red. path to a β-NF(Weak Normalization)

t is typable

t is WN iff the leftmost-o. stategy terminates on t

nothing to do with types

Intersection types

Perhaps too expressive. . .

. . . but certify reduction strategies!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 5 /36

Page 10: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersections types (Coppo, Dezani, 1980)

Goal

Equivalences of the form

“the program t is typable iff it can reach a terminal state”

Idea: several certificates to a same subprogram (next slides).

Proof: by the “circular” implications:

Some reduction strategynormalizes t

e.g., the leftmost-o. strat.

t can reach aterminal state

e.g., ∃ red. path to a β-NF(Weak Normalization)

t is typable

t is WN iff the leftmost-o. stategy terminates on t

nothing to do with types

Intersection types

Perhaps too expressive. . .

. . . but certify reduction strategies!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 5 /36

Page 11: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersections types (Coppo, Dezani, 1980)

Goal

Equivalences of the form

“the program t is typable iff it can reach a terminal state”

Idea: several certificates to a same subprogram (next slides).

Proof: by the “circular” implications:

Some reduction strategynormalizes t

e.g., the leftmost-o. strat.

t can reach aterminal state

e.g., ∃ red. path to a β-NF(Weak Normalization)

t is typable

t is WN iff the leftmost-o. stategy terminates on t

nothing to do with types

Intersection types

Perhaps too expressive. . .

. . . but certify reduction strategies!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 5 /36

Page 12: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersections types (Coppo, Dezani, 1980)

Goal

Equivalences of the form

“the program t is typable iff it can reach a terminal state”

Idea: several certificates to a same subprogram (next slides).

Proof: by the “circular” implications:

Some reduction strategynormalizes t

e.g., the leftmost-o. strat.

t can reach aterminal state

e.g., ∃ red. path to a β-NF(Weak Normalization)

t is typable

t is WN iff the leftmost-o. stategy terminates on t

nothing to do with types

Intersection types

Perhaps too expressive. . .

. . . but certify reduction strategies!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 5 /36

Page 13: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersections types (Coppo, Dezani, 1980)

Goal

Equivalences of the form

“the program t is typable iff it can reach a terminal state”

Idea: several certificates to a same subprogram (next slides).

Proof: by the “circular” implications:

Some reduction strategynormalizes t

e.g., the leftmost-o. strat.

t can reach aterminal state

e.g., ∃ red. path to a β-NF(Weak Normalization)

t is typable

t is WN iff the leftmost-o. stategy terminates on t

nothing to do with types

Intersection types

Perhaps too expressive. . .

. . . but certify reduction strategies!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 5 /36

Page 14: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersections types (Coppo, Dezani, 1980)

Goal

Equivalences of the form

“the program t is typable iff it can reach a terminal state”

Idea: several certificates to a same subprogram (next slides).

Proof: by the “circular” implications:

Some reduction strategynormalizes t

e.g., the leftmost-o. strat.

t can reach aterminal state

e.g., ∃ red. path to a β-NF(Weak Normalization)

t is typable

t is WN iff the leftmost-o. stategy terminates on t

nothing to do with types

Intersection types

Perhaps too expressive. . .

. . . but certify reduction strategies!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 5 /36

Page 15: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intuitions (syntax)

Naively, A ∧B stands for A ∩B:

t is of type A ∧B if t can be typed with A as well as B.

I : A→ A I : (A→ B)→ (A→ B)

I : (A→ A) ∧ ((A→ B)→ (A→ B))∧ −intro (with I = λx.x)

Intersection = kind of finite polymorphism.

(A→ A) ∧ ((A→ B)→ (A→ B)) = double instance of ∀X.X → X

(with X = A and X = A→ B)

But less constrained :

assigning x : o ∧ (o→ o′) ∧ (o→ o)→ o is legal.

(not an instance of a polymorphic type except ∀X.X := False!)

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 6 /36

Page 16: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intuitions (syntax)

Naively, A ∧B stands for A ∩B:

t is of type A ∧B if t can be typed with A as well as B.

I : A→ A I : (A→ B)→ (A→ B)

I : (A→ A) ∧ ((A→ B)→ (A→ B))∧ −intro (with I = λx.x)

Intersection = kind of finite polymorphism.

(A→ A) ∧ ((A→ B)→ (A→ B)) = double instance of ∀X.X → X

(with X = A and X = A→ B)

But less constrained :

assigning x : o ∧ (o→ o′) ∧ (o→ o)→ o is legal.

(not an instance of a polymorphic type except ∀X.X := False!)

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 6 /36

Page 17: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intuitions (syntax)

Naively, A ∧B stands for A ∩B:

t is of type A ∧B if t can be typed with A as well as B.

I : A→ A I : (A→ B)→ (A→ B)

I : (A→ A) ∧ ((A→ B)→ (A→ B))∧ −intro (with I = λx.x)

Intersection = kind of finite polymorphism.

(A→ A) ∧ ((A→ B)→ (A→ B)) = double instance of ∀X.X → X

(with X = A and X = A→ B)

But less constrained :

assigning x : o ∧ (o→ o′) ∧ (o→ o)→ o is legal.

(not an instance of a polymorphic type except ∀X.X := False!)

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 6 /36

Page 18: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject Reduction and Subject Expansion

A good intersection type system should enjoy:

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

SE is usually not verified by simple or

polymorphic type systems

Some reduction strategynormalizes t

t can reach aterminal state

t is typabletyping theterm. states

+ SE SR + extra arg.

obvious

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 7 /36

Page 19: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject Reduction and Subject Expansion

A good intersection type system should enjoy:

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

SE is usually not verified by simple or

polymorphic type systems

Some reduction strategynormalizes t

t can reach aterminal state

t is typabletyping theterm. states

+ SE SR + extra arg.

obvious

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 7 /36

Page 20: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 21: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 22: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 23: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 24: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 25: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 26: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 27: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 28: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 29: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Ensuring Subject Expansion

x : Aax

x : Aax

x : Aax

x : A ` r : Babs

λx.r : A→ Bapp

(λx.r)s : B

s : A

Πs

Subject Reduction (SR):Typing is stable under reduction.

Subject Expansion (SE):Typing is stable under anti-reduction.

s : A

s : A

s : A

Πs

Πs

Πs

r[s/x] : B

s : A1

s : A2

s : A3

Π1s

Π2s

Π3s

r[s/x] : B

think of (λx.x x)I →β I I

Left occ. of I: (A→A)→(A→A)

Right occ. of I: A→A

Solution:Allow several type assignmentsfor a same variable/subterm

x : A1 ∧A2 ∧A3

` x : Ai (i = 1, 2, 3)

x : ?ax

x : ?ax

x : ?ax

x : ? ` r : Babs

λx.r : ?→ Bapp

(λx.r)s : B

s : ?

Πs

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 8 /36

Page 30: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Typing every normal form

Consider (y(x (λz.z))) (x (λz.z c))

We want x : E → F

λz.z : A→ A vs. λz.z c : (C → D)→ D

E = A→ B or E = (C → D)→ D?

Solution:Allow several type assignmentsfor a same variable/subterm

Typing normal form: just structural induction (no clash).

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 9 /36

Page 31: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Typing every normal form

Consider (y(x (λz.z))) (x (λz.z c))

We want x : E → F

λz.z : A→ A vs. λz.z c : (C → D)→ D

E = A→ B or E = (C → D)→ D?

Solution:Allow several type assignmentsfor a same variable/subterm

Typing normal form: just structural induction (no clash).

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 9 /36

Page 32: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Typing every normal form

Consider (y(x (λz.z))) (x (λz.z c))

We want x : E → F

λz.z : A→ A vs. λz.z c : (C → D)→ D

E = A→ B or E = (C → D)→ D?

Solution:Allow several type assignmentsfor a same variable/subterm

Typing normal form: just structural induction (no clash).

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 9 /36

Page 33: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Typing every normal form

Consider (y(x (λz.z))) (x (λz.z c))

We want x : E → F

λz.z : A→ A vs. λz.z c : (C → D)→ D

E = A→ B or E = (C → D)→ D?

Solution:Allow several type assignmentsfor a same variable/subterm

Typing normal form: just structural induction (no clash).

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 9 /36

Page 34: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Typing every normal form

Consider (y(x (λz.z))) (x (λz.z c))

We want x : E → F

λz.z : A→ A vs. λz.z c : (C → D)→ D

E = A→ B or E = (C → D)→ D?

Solution:Allow several type assignmentsfor a same variable/subterm

Typing normal form: just structural induction (no clash).

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 9 /36

Page 35: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Typing every normal form

Consider (y(x (λz.z))) (x (λz.z c))

We want x : E → F

λz.z : A→ A vs. λz.z c : (C → D)→ D

E = A→ B or E = (C → D)→ D?

Solution:Allow several type assignmentsfor a same variable/subterm

Typing normal form: just structural induction (no clash).

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 9 /36

Page 36: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 37: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 38: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 39: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 40: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 41: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 42: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 43: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 44: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 45: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Non-idempotency

Computation causes duplication.

Non-idempotent intersection types

Disallow duplication for typing certificates. Possibly many certificates (subderivations) for a subprogram.

Size of certificates decreases.

Initialcertificate

Initial stateof the prog.

STOP(cannot be

reduced more)

Terminalstate reached!!

Execution

Comparative (dis)advantages

Insanely difficult to type a particular program.

Whole type system easier to study!Easier proofs of termination!

Easier proofs of characterization!

Easier to certify a reduction strategy!

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 10 /36

Page 46: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Contents

The case of the λ-calculusMechanics of non-idempotent intersection.

Certification of reduction strategies. Quantitative intersection.

Moving from various forms of normalization to others (head,weak, strong. . . )

λµ-calculus (classical logic)

Non-idempotent type theory adapts to more complicatedoperational semantics

Infinitary calculi

Infinitary intersection type enables characterizing infinitarynormalization (Klop’s Problem).

Dealing with unsoundness.

Certification of an asymptotic reduction stategy.

Intersection type theory P. Vial 1 Overview (idempotent or not intersection types) 11 /36

Page 47: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Plan

1 Overview (idempotent or not intersection types)

2 Non-idempotent intersection types

3 Resources for Classical Logic

4 Infinite types and productive reduction

5 Perspectives

Intersection type theory P. Vial 2 Non-idempotent intersection types 12 /36

Page 48: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head Normalization (λ)

x

head variable

t1

@ tq

@

λxp

Head Normal Form

r

λxs

@

head redex

t1

@ tq

@

λxp

Head Reducible Term

the head reduction strategyterminates on t

t is HN(∃path from t to a HNF)

obvious

true but not obvious

Intersection types come to help!

t is head normalizing (HN) if ∃ reduction path from t to a HNF.

The head reduction strategy: reducing head redexes while it is possible.

Intersection type theory P. Vial 2 Non-idempotent intersection types 13 /36

Page 49: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head Normalization (λ)

x

head variable

t1

@ tq

@

λxp

Head Normal Form

r

λxs

@

head redex

t1

@ tq

@

λxp

Head Reducible Term

the head reduction strategyterminates on t

t is HN(∃path from t to a HNF)

obvious

true but not obvious

Intersection types come to help!

t is head normalizing (HN) if ∃ reduction path from t to a HNF.

The head reduction strategy: reducing head redexes while it is possible.

Intersection type theory P. Vial 2 Non-idempotent intersection types 13 /36

Page 50: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head Normalization (λ)

x

head variable

t1

@ tq

@

λxp

Head Normal Form

r

λxs

@

head redex

t1

@ tq

@

λxp

Head Reducible Term

the head reduction strategyterminates on t

t is HN(∃path from t to a HNF)

obvious

true but not obvious

Intersection types come to help!

t is head normalizing (HN) if ∃ reduction path from t to a HNF.

The head reduction strategy: reducing head redexes while it is possible.

Intersection type theory P. Vial 2 Non-idempotent intersection types 13 /36

Page 51: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head Normalization (λ)

x

head variable

t1

@ tq

@

λxp

Head Normal Form

r

λxs

@

head redex

t1

@ tq

@

λxp

Head Reducible Term

the head reduction strategyterminates on t

t is HN(∃path from t to a HNF)

obvious

true but not obvious

Intersection types come to help!

t is head normalizing (HN) if ∃ reduction path from t to a HNF.

The head reduction strategy: reducing head redexes while it is possible.

Intersection type theory P. Vial 2 Non-idempotent intersection types 13 /36

Page 52: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head Normalization (λ)

x

head variable

t1

@ tq

@

λxp

Head Normal Form

r

λxs

@

head redex

t1

@ tq

@

λxp

Head Reducible Term

the head reduction strategyterminates on t

t is HN(∃path from t to a HNF)

obvious

true but not obvious

Intersection types come to help!

t is head normalizing (HN) if ∃ reduction path from t to a HNF.

The head reduction strategy: reducing head redexes while it is possible.

Intersection type theory P. Vial 2 Non-idempotent intersection types 13 /36

Page 53: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head Normalization (λ)

x

head variable

t1

@ tq

@

λxp

Head Normal Form

r

λxs

@

head redex

t1

@ tq

@

λxp

Head Reducible Term

the head reduction strategyterminates on t

t is HN(∃path from t to a HNF)

obvious

true but not obvious

Intersection types come to help!

t is head normalizing (HN) if ∃ reduction path from t to a HNF.

The head reduction strategy: reducing head redexes while it is possible.

Intersection type theory P. Vial 2 Non-idempotent intersection types 13 /36

Page 54: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head Normalization (λ)

x

head variable

t1

@ tq

@

λxp

Head Normal Form

r

λxs

@

head redex

t1

@ tq

@

λxp

Head Reducible Term

the head reduction strategyterminates on t

t is HN(∃path from t to a HNF)

obvious

true but not obvious

Intersection types come to help!

t is head normalizing (HN) if ∃ reduction path from t to a HNF.

The head reduction strategy: reducing head redexes while it is possible.

Intersection type theory P. Vial 2 Non-idempotent intersection types 13 /36

Page 55: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersection types (Coppo-Dezani 80)

Type constructors: o ∈ O, → and ∧ (intersection).

Strict types:no inter. on the right h.s. of →, e.g., (A ∧B)→ A, not A→ (B ∧ C)

no intro/elim. rules for ∧

(A ∧B) ∧ C ∼ A ∧ (B ∧ C), A ∧B ∼ B ∧A (assoc. and comm.)

Idempotency? A∧A ∼ A (Coppo-Dezani) or not (Gardner 94-de Carvalho 07)

idem: typing = qualitative info non-idem: qual. and quant.

Collapsing A ∧B ∧ C into [A,B,C] (multiset) no need for perm rules etc.

A ∧B ∧A := [A,B,A] = [A,A,B] 6= [A,B] [A,B,A] = [A,B] + [A]

Intersection type theory P. Vial 2 Non-idempotent intersection types 14 /36

Page 56: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersection types (Coppo-Dezani 80)

Type constructors: o ∈ O, → and ∧ (intersection).

Strict types:no inter. on the right h.s. of →, e.g., (A ∧B)→ A, not A→ (B ∧ C)

no intro/elim. rules for ∧

(A ∧B) ∧ C ∼ A ∧ (B ∧ C), A ∧B ∼ B ∧A (assoc. and comm.)

Idempotency? A∧A ∼ A (Coppo-Dezani) or not (Gardner 94-de Carvalho 07)

idem: typing = qualitative info non-idem: qual. and quant.

Collapsing A ∧B ∧ C into [A,B,C] (multiset) no need for perm rules etc.

A ∧B ∧A := [A,B,A] = [A,A,B] 6= [A,B] [A,B,A] = [A,B] + [A]

Intersection type theory P. Vial 2 Non-idempotent intersection types 14 /36

Page 57: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersection types (Coppo-Dezani 80)

Type constructors: o ∈ O, → and ∧ (intersection).

Strict types:no inter. on the right h.s. of →, e.g., (A ∧B)→ A, not A→ (B ∧ C)

no intro/elim. rules for ∧

(A ∧B) ∧ C ∼ A ∧ (B ∧ C), A ∧B ∼ B ∧A (assoc. and comm.)

Idempotency? A∧A ∼ A (Coppo-Dezani) or not (Gardner 94-de Carvalho 07)

idem: typing = qualitative info non-idem: qual. and quant.

Collapsing A ∧B ∧ C into [A,B,C] (multiset) no need for perm rules etc.

A ∧B ∧A := [A,B,A] = [A,A,B] 6= [A,B] [A,B,A] = [A,B] + [A]

Intersection type theory P. Vial 2 Non-idempotent intersection types 14 /36

Page 58: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersection types (Coppo-Dezani 80)

Type constructors: o ∈ O, → and ∧ (intersection).

Strict types:no inter. on the right h.s. of →, e.g., (A ∧B)→ A, not A→ (B ∧ C)

no intro/elim. rules for ∧

(A ∧B) ∧ C ∼ A ∧ (B ∧ C), A ∧B ∼ B ∧A (assoc. and comm.)

Idempotency? A∧A ∼ A (Coppo-Dezani) or not (Gardner 94-de Carvalho 07)

idem: typing = qualitative info non-idem: qual. and quant.

Collapsing A ∧B ∧ C into [A,B,C] (multiset) no need for perm rules etc.

A ∧B ∧A := [A,B,A] = [A,A,B] 6= [A,B] [A,B,A] = [A,B] + [A]

Intersection type theory P. Vial 2 Non-idempotent intersection types 14 /36

Page 59: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Intersection types (Coppo-Dezani 80)

Type constructors: o ∈ O, → and ∧ (intersection).

Strict types:no inter. on the right h.s. of →, e.g., (A ∧B)→ A, not A→ (B ∧ C)

no intro/elim. rules for ∧

(A ∧B) ∧ C ∼ A ∧ (B ∧ C), A ∧B ∼ B ∧A (assoc. and comm.)

Idempotency? A∧A ∼ A (Coppo-Dezani) or not (Gardner 94-de Carvalho 07)

idem: typing = qualitative info non-idem: qual. and quant.

Collapsing A ∧B ∧ C into [A,B,C] (multiset) no need for perm rules etc.

A ∧B ∧A := [A,B,A] = [A,A,B] 6= [A,B] [A,B,A] = [A,B] + [A]

Intersection type theory P. Vial 2 Non-idempotent intersection types 14 /36

Page 60: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

app

f : [[o]→ o, [o]→ o], x : [o] `

f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 61: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

app

f : [[o]→ o, [o]→ o], x : [o] `

f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 62: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

app

f : [[o]→ o, [o]→ o], x : [o] `

f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 63: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

app

f : [[o]→ o, [o]→ o], x : [o] `

f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 64: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

app

f : [[o]→ o, [o]→ o], x : [o] `

f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 65: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

appf : [[o]→ o, [o]→ o], x : [o] ` f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 66: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

app

f : [[o]→ o, [o]→ o], x : [o] `

f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 67: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System R0 (Gardner 94-de Carvalho 07)

Types: τ, σ ::= o | [σi]i∈I → τ

intersection = multiset of types [σi]i∈I

only on the left-h.s of → (strictness)

x : [τ ] ` x : τax

Γ; x : [σi]i∈I ` t : τ

Γ ` λx.t : [σi]i∈I → τabs

Γ ` t : [σi]i∈I → τ (Γi ` u : σi)i∈I

Γ +i∈I Γi ` t u : τapp

Remark

Relevant system (no weakening, cf. ax-rule)

Non-idempotency (σ ∧ σ 6= σ):in app-rule, pointwise multiset sum e.g.,

(x : [σ]; y : [τ ]) + (x : [σ, τ ]) = x : [σ, σ, τ ]; y : [τ ]

Example

axf : [o]→ o

axx : o

appf x : o

axf : [o]→ o

app

f : [[o]→ o, [o]→ o], x : [o] `

f(f x) : o

Head redexesalways typed!

Intersection type theory P. Vial 2 Non-idempotent intersection types 15 /36

Page 68: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Properties (R0)

Weighted Subject ReductionReduction preserves types and environments, and. . .. . . head reduction strictly decreases the number of nodes of the deriv. tree (size).

(actually, holds for any typed redex)

Subject ExpansionAnti-reduction preserves types and environments.

Theorem (de Carvalho)

Let t be a λ-term. Then equivalence between:

1 t is typable (in R0)

2 t is HN

3 the head reduction strategy terminates on t ( certification!)

Bonus (quantitative information)

If Π types t, then size(Π) bounds the number of steps of the head red. strategy on t

Intersection type theory P. Vial 2 Non-idempotent intersection types 16 /36

Page 69: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Head vs Weak and Strong Normalization

Let t be a λ-term.

Head normalization (HN):there is a path from t to a head normal form.

Weak normalization (WN):there is at least one path from t to a β-Normal Form (NF)

Strong normalization (SN):there is no infinite path starting at t.

SN ⇒ WN ⇒ HN

Nota Bene: yΩ HNF but not WN (λx.y)Ω WN but not SN

Intersection type theory P. Vial 2 Non-idempotent intersection types 17 /36

Page 70: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Characterizing Weak and Strong Normalization

any arg. can be left untyped

non-erasable args must be typed

all args must be typed

HN System R0 sz(Π) bounds the number ofhead reduction steps

WN System R0

+ unforgetfulness criterionsz(Π) bounds the numberof leftmost-outermost red.steps (and more)

SN Modify system R0

with choice operatorsz(Π) bounds the length ofany reduction path

Intersection type theory P. Vial 2 Non-idempotent intersection types 18 /36

Page 71: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : [σ1, σ2, σ1] ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

∆a1 `s :σ1

Πa1

∆2`s :σ2

Π2

∆b1`s :σ1

Πb1

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 72: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : [σ1, σ2, σ1] ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

∆a1 `s :σ1

Πa1

∆2`s :σ2

Π2

∆b1`s :σ1

Πb1

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 73: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : [σ1, σ2, σ1] ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

∆a1 `s :σ1

Πa1

∆2`s :σ2

Π2

∆b1`s :σ1

Πb1

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 74: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : [σ1, σ2, σ1] ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

∆a1 `s :σ1

Πa1

∆2`s :σ2

Π2

∆b1`s :σ1

Πb1

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 75: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1

∆a1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2

∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1

∆b1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : [σ1, σ2, σ1] ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

∆a1 `s :σ1

Πa1

∆2`s :σ2

Π2

∆b1`s :σ1

Πb1

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 76: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : [σ1, σ2, σ1] ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

∆a1 `s :σ1

Πa1

∆2`s :σ2

Π2

∆b1`s :σ1

Πb1

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 77: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : [σ1, σ2, σ1] ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

∆a1 `s :σ1

Πa1

∆2`s :σ2

Π2

∆b1`s :σ1

Πb1

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 78: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1

∆a1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2

∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1

∆b1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 79: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2

∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 80: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Subject reduction and expansion in R0

From a typing of (λx.r)s . . . to a typing of r[s/x]

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆a

1 `s :σ1

Πa1

∆a1 `s :σ1

Πa1

∆b1`s :σ1

Πb1

Non-determinism of SR

axx : [σ2] ` x :σ2

axx : [σ2] ` x :σ2

∆2`s :σ2

Π2

axx : [σ1] ` x :σ1

axx : [σ1] ` x :σ1∆b

1`s :σ1

Πb1

∆b1`s :σ1

Πb1

∆a1 `s :σ1

Πa1

Γ; x : ` r : τabs

Γ ` λx.r : [σ1, σ2, σ1]→ τapp

Γ + ∆a1 + ∆b

1 + ∆2 ` (λx.r)s : τ

Γ + ∆a1 + ∆b

1 + ∆2 ` r[s/x] : τ

By relevance and non-idempotency!

Intersection type theory P. Vial 2 Non-idempotent intersection types 19 /36

Page 81: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Plan

1 Overview (idempotent or not intersection types)

2 Non-idempotent intersection types

3 Resources for Classical Logic

4 Infinite types and productive reduction

5 Perspectives

Intersection type theory P. Vial 3 Resources for Classical Logic 20 /36

Page 82: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Lambda-Mu Calculus

Intuit. logic + Peirce’s Law ((A→ B)→ A)→ Agives classical logic.

Griffin 90: call−cc and Felleisen’s C-operator typable with Peirce’s Law((A→ B)→ A)→ A

the Curry-Howard iso extends to classical logic

classical logic backtracking

Parigot 92: λµ-calculus = computational interpretation of classical naturaldeduction (e.g., vs. λµµ).

judg. of the form A,A→ B ` A | B,C

Intersection type theory P. Vial 3 Resources for Classical Logic 21 /36

Page 83: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Lambda-Mu Calculus

Intuit. logic + Peirce’s Law ((A→ B)→ A)→ Agives classical logic.

Griffin 90: call−cc and Felleisen’s C-operator typable with Peirce’s Law((A→ B)→ A)→ A

the Curry-Howard iso extends to classical logic

classical logic backtracking

Parigot 92: λµ-calculus = computational interpretation of classical naturaldeduction (e.g., vs. λµµ).

judg. of the form A,A→ B ` A | B,C

Intersection type theory P. Vial 3 Resources for Classical Logic 21 /36

Page 84: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Lambda-Mu Calculus

Intuit. logic + Peirce’s Law ((A→ B)→ A)→ Agives classical logic.

Griffin 90: call−cc and Felleisen’s C-operator typable with Peirce’s Law((A→ B)→ A)→ A

the Curry-Howard iso extends to classical logic

classical logic backtracking

Parigot 92: λµ-calculus = computational interpretation of classical naturaldeduction (e.g., vs. λµµ).

judg. of the form A,A→ B ` A | B,C

Intersection type theory P. Vial 3 Resources for Classical Logic 21 /36

Page 85: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Peirce’s Law in Classical Natural Deduction

(A→ B)→ A ` (A→ B)→ A

A ` A,B` A→ B,A

(A→ B)→ A ` A,A(A→ B)→ A ` A

` ((A→ B)→ A)→ A

Standard Style

Intersection type theory P. Vial 3 Resources for Classical Logic 22 /36

Page 86: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Peirce’s Law in Classical Natural Deduction

(A→ B)→ A ` (A→ B)→ A

A ` A,B` A→ B,A

(A→ B)→ A ` A,A(A→ B)→ A ` A

` ((A→ B)→ A)→ A

Standard Style

Intersection type theory P. Vial 3 Resources for Classical Logic 22 /36

Page 87: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Peirce’s Law in Classical Natural Deduction

Intersection type theory P. Vial 3 Resources for Classical Logic 22 /36

Page 88: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Peirce’s Law in Classical Natural Deduction

(A→ B)→ A ` (A→ B)→ A |

A ` A | BA ` B | A

act

` A→ B | A(A→ B)→ A ` A | A(A→ B)→ A ` A |

` ((A→ B)→ A)→ A |

Focussed Style

In the right hand-side of Γ ` F |∆1 active formula F

inactive formulas ∆

Intersection type theory P. Vial 3 Resources for Classical Logic 22 /36

Page 89: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Peirce’s Law in Classical Natural Deduction

(A→ B)→ A ` (A→ B)→ A |

A ` A | BA ` B | A

act

` A→ B | A(A→ B)→ A ` A | A(A→ B)→ A ` A |

` ((A→ B)→ A)→ A |

Focussed Style

In the right hand-side of Γ ` F |∆1 active formula F

inactive formulas ∆

Intersection type theory P. Vial 3 Resources for Classical Logic 22 /36

Page 90: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The λµ-calculus

Syntax: λ-calculus

+ names α, β, γ (store inactive formulas)

x1 : D, y : E ` t : C | α : A, β : B

+ two constructors [α]t (naming) and µα (µ-abs.)de/activation

Typed and untyped version

Simply typable ⇒ SN

call−cc := λy.µα.[α]y(λx.µβ.[α]x) :

((A→ B)→ A)→ A

How do we adapt the non-idempotent machinery to λµ?

Intersection type theory P. Vial 3 Resources for Classical Logic 23 /36

Page 91: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The λµ-calculus

Syntax: λ-calculus+ names α, β, γ (store inactive formulas)

x1 : D, y : E ` t : C | α : A, β : B

+ two constructors [α]t (naming) and µα (µ-abs.)de/activation

Typed and untyped version

Simply typable ⇒ SN

call−cc := λy.µα.[α]y(λx.µβ.[α]x) :

((A→ B)→ A)→ A

How do we adapt the non-idempotent machinery to λµ?

Intersection type theory P. Vial 3 Resources for Classical Logic 23 /36

Page 92: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The λµ-calculus

Syntax: λ-calculus+ names α, β, γ (store inactive formulas)

x1 : D, y : E ` t : C | α : A, β : B

+ two constructors [α]t (naming) and µα (µ-abs.)de/activation

Typed and untyped version

Simply typable ⇒ SN

call−cc := λy.µα.[α]y(λx.µβ.[α]x) :

((A→ B)→ A)→ A

How do we adapt the non-idempotent machinery to λµ?

Intersection type theory P. Vial 3 Resources for Classical Logic 23 /36

Page 93: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The λµ-calculus

Syntax: λ-calculus+ names α, β, γ (store inactive formulas)

x1 : D, y : E ` t : C | α : A, β : B

+ two constructors [α]t (naming) and µα (µ-abs.)de/activation

Typed and untyped version

Simply typable ⇒ SN

call−cc := λy.µα.[α]y(λx.µβ.[α]x) :

((A→ B)→ A)→ A

How do we adapt the non-idempotent machinery to λµ?

Intersection type theory P. Vial 3 Resources for Classical Logic 23 /36

Page 94: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The λµ-calculus

Syntax: λ-calculus+ names α, β, γ (store inactive formulas)

x1 : D, y : E ` t : C | α : A, β : B

+ two constructors [α]t (naming) and µα (µ-abs.)de/activation

Typed and untyped version

Simply typable ⇒ SN

call−cc := λy.µα.[α]y(λx.µβ.[α]x) :

((A→ B)→ A)→ A

How do we adapt the non-idempotent machinery to λµ?

Intersection type theory P. Vial 3 Resources for Classical Logic 23 /36

Page 95: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The λµ-calculus

Syntax: λ-calculus+ names α, β, γ (store inactive formulas)

x1 : D, y : E ` t : C | α : A, β : B

+ two constructors [α]t (naming) and µα (µ-abs.)de/activation

Typed and untyped version

Simply typable ⇒ SN

call−cc := λy.µα.[α]y(λx.µβ.[α]x) : ((A→ B)→ A)→ A

How do we adapt the non-idempotent machinery to λµ?

Intersection type theory P. Vial 3 Resources for Classical Logic 23 /36

Page 96: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The λµ-calculus

Syntax: λ-calculus+ names α, β, γ (store inactive formulas)

x1 : D, y : E ` t : C | α : A, β : B

+ two constructors [α]t (naming) and µα (µ-abs.)de/activation

Typed and untyped version

Simply typable ⇒ SN

call−cc := λy.µα.[α]y(λx.µβ.[α]x) : ((A→ B)→ A)→ A

How do we adapt the non-idempotent machinery to λµ?

Intersection type theory P. Vial 3 Resources for Classical Logic 23 /36

Page 97: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Cut-elimination steps (classical case)

axx : A |∆1

axx : A |∆2

x : A ` t : B |∆abs

λx.r : A→ B |∆app

(λx.r)s : B |∆

Πs

s : A

A→ B |Ciact

Ci |A→ B

C |A→ Bact

A→ B |C

Πs

s : Aapp

B |C

Πs

A→ B |Ciapp

s : A

actB |CiCi |B

C |Bact

B |C

Duplication of s

Creation of app-rules

B saved instead of A → B

Intersection type theory P. Vial 3 Resources for Classical Logic 24 /36

Page 98: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Cut-elimination steps (classical case)

axx : A |∆1

axx : A |∆2

x : A ` t : B |∆abs

λx.r : A→ B |∆app

(λx.r)s : B |∆

Πs

s : A

A→ B |Ciact

Ci |A→ B

C |A→ Bact

A→ B |C

Πs

s : Aapp

B |C

Πs

A→ B |Ciapp

s : A

actB |CiCi |B

C |Bact

B |C

Duplication of s

Creation of app-rules

B saved instead of A → B

Intersection type theory P. Vial 3 Resources for Classical Logic 24 /36

Page 99: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Cut-elimination steps (classical case)

axx : A |∆1

axx : A |∆2

x : A ` t : B |∆abs

λx.r : A→ B |∆app

(λx.r)s : B |∆

Πs

s : A

A→ B |Ciact

Ci |A→ B

C |A→ Bact

A→ B |C

Πs

s : Aapp

B |C

Πs

A→ B |Ciapp

s : A

actB |CiCi |B

C |Bact

B |C

Duplication of s

Creation of app-rules

B saved instead of A → B

Intersection type theory P. Vial 3 Resources for Classical Logic 24 /36

Page 100: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Cut-elimination steps (classical case)

axx : A |∆1

axx : A |∆2

x : A ` t : B |∆abs

λx.r : A→ B |∆app

(λx.r)s : B |∆

Πs

s : A

A→ B |Ciact

Ci |A→ B

C |A→ Bact

A→ B |C

Πs

s : Aapp

B |C

Πs

A→ B |Ciapp

s : A

actB |CiCi |B

C |Bact

B |C

Duplication of s

Creation of app-rules

B saved instead of A → B

Intersection type theory P. Vial 3 Resources for Classical Logic 24 /36

Page 101: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Cut-elimination steps (classical case)

axx : A |∆1

axx : A |∆2

x : A ` t : B |∆abs

λx.r : A→ B |∆app

(λx.r)s : B |∆

Πs

s : A

A→ B |Ciact

Ci |A→ B

C |A→ Bact

A→ B |C

Πs

s : Aapp

B |C

Πs

A→ B |Ciapp

s : A

actB |CiCi |B

C |Bact

B |C

Duplication of s

Creation of app-rules

B saved instead of A → B

Intersection type theory P. Vial 3 Resources for Classical Logic 24 /36

Page 102: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Cut-elimination steps (classical case)

axx : A |∆1

axx : A |∆2

x : A ` t : B |∆abs

λx.r : A→ B |∆app

(λx.r)s : B |∆

Πs

s : A

A→ B |Ciact

Ci |A→ B

C |A→ Bact

A→ B |C

Πs

s : Aapp

B |C

Πs

A→ B |Ciapp

s : A

actB |CiCi |B

C |Bact

B |C

Duplication of s

Creation of app-rules

B saved instead of A → B

Intersection type theory P. Vial 3 Resources for Classical Logic 24 /36

Page 103: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Typing System

Intersection: I,J := [Uk]k∈K U ,V =: 〈σk〉k∈K : Union

x : [U1,U2]; y : [V] ` t : U | α : 〈σ1, σ2〉, β : 〈τ1, τ2, τ3〉

Features

Syntax-direction, relevance, multiplicative rules, accumulation of typinginformation.

app-rule based upon the admissible rule of ND:

A1 → B1 ∨ . . . ∨Ak → Bk A1 ∧ . . . ∧AkB1 ∨ . . . ∨Bk

(vs.

A → B A

B

)

call−cc : [[[A]→B]→A]→ 〈A,A〉 vs. ((A→ B)→ A)→ A

Intersection type theory P. Vial 3 Resources for Classical Logic 25 /36

Page 104: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Typing System

Intersection: I,J := [Uk]k∈K U ,V =: 〈σk〉k∈K : Union

x : [U1,U2]; y : [V] ` t : U | α : 〈σ1, σ2〉, β : 〈τ1, τ2, τ3〉

Features

Syntax-direction, relevance, multiplicative rules, accumulation of typinginformation.

app-rule based upon the admissible rule of ND:

A1 → B1 ∨ . . . ∨Ak → Bk A1 ∧ . . . ∧AkB1 ∨ . . . ∨Bk

(vs.

A → B A

B

)

call−cc : [[[A]→B]→A]→ 〈A,A〉 vs. ((A→ B)→ A)→ A

Intersection type theory P. Vial 3 Resources for Classical Logic 25 /36

Page 105: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Typing System

Intersection: I,J := [Uk]k∈K U ,V =: 〈σk〉k∈K : Union

x : [U1,U2]; y : [V] ` t : U | α : 〈σ1, σ2〉, β : 〈τ1, τ2, τ3〉

Features

Syntax-direction, relevance, multiplicative rules, accumulation of typinginformation.

app-rule based upon the admissible rule of ND:

A1 → B1 ∨ . . . ∨Ak → Bk A1 ∧ . . . ∧AkB1 ∨ . . . ∨Bk

(vs.

A → B A

B

)

call−cc : [[[A]→B]→A]→ 〈A,A〉 vs. ((A→ B)→ A)→ A

Intersection type theory P. Vial 3 Resources for Classical Logic 25 /36

Page 106: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Typing System

Intersection: I,J := [Uk]k∈K U ,V =: 〈σk〉k∈K : Union

x : [U1,U2]; y : [V] ` t : U | α : 〈σ1, σ2〉, β : 〈τ1, τ2, τ3〉

Features

Syntax-direction, relevance, multiplicative rules, accumulation of typinginformation.

app-rule based upon the admissible rule of ND:

A1 → B1 ∨ . . . ∨Ak → Bk A1 ∧ . . . ∧AkB1 ∨ . . . ∨Bk

(vs.

A → B A

B

)

call−cc : [[[A]→B]→A]→ 〈A,A〉 vs. ((A→ B)→ A)→ A

Intersection type theory P. Vial 3 Resources for Classical Logic 25 /36

Page 107: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Typing System

Intersection: I,J := [Uk]k∈K U ,V =: 〈σk〉k∈K : Union

x : [U1,U2]; y : [V] ` t : U | α : 〈σ1, σ2〉, β : 〈τ1, τ2, τ3〉

Features

Syntax-direction, relevance, multiplicative rules, accumulation of typinginformation.

app-rule based upon the admissible rule of ND:

A1 → B1 ∨ . . . ∨Ak → Bk A1 ∧ . . . ∧AkB1 ∨ . . . ∨Bk

(vs.

A → B A

B

)

call−cc : [[[A]→B]→A]→ 〈A,A〉 vs. ((A→ B)→ A)→ A

Intersection type theory P. Vial 3 Resources for Classical Logic 25 /36

Page 108: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The Typing System

Intersection: I,J := [Uk]k∈K U ,V =: 〈σk〉k∈K : Union

x : [U1,U2]; y : [V] ` t : U | α : 〈σ1, σ2〉, β : 〈τ1, τ2, τ3〉

Features

Syntax-direction, relevance, multiplicative rules, accumulation of typinginformation.

app-rule based upon the admissible rule of ND:

A1 → B1 ∨ . . . ∨Ak → Bk A1 ∧ . . . ∧AkB1 ∨ . . . ∨Bk

(vs.

A → B A

B

)

call−cc : [[[A]→B]→A]→ 〈A,A〉 vs. ((A→ B)→ A)→ A

Intersection type theory P. Vial 3 Resources for Classical Logic 25 /36

Page 109: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System Hλµ (Head Normalization)

Weighted Subject Reduction + Subject Expansion

size(Π) =

number of nodes of Π +

size of the type arities of all the names of commands +

multiplicities of arguments in all the app. nodes

Characterizes Head Normalizationadaptable to Strong Normalization

Theorem [Kesner,V.,FSCD17]:

Let t be a λµ-term. Equiv. between:

t is Hλµ-typable

t is HN

The head red. strategy terminates on t

+ quantitative info.

Small-step version.

Intersection type theory P. Vial 3 Resources for Classical Logic 26 /36

Page 110: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System Hλµ (Head Normalization)

Weighted Subject Reduction + Subject Expansion

size(Π) =

number of nodes of Π +

size of the type arities of all the names of commands +

multiplicities of arguments in all the app. nodes

Characterizes Head Normalizationadaptable to Strong Normalization

Theorem [Kesner,V.,FSCD17]:

Let t be a λµ-term. Equiv. between:

t is Hλµ-typable

t is HN

The head red. strategy terminates on t

+ quantitative info.

Small-step version.

Intersection type theory P. Vial 3 Resources for Classical Logic 26 /36

Page 111: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

System Hλµ (Head Normalization)

Weighted Subject Reduction + Subject Expansion

size(Π) =

number of nodes of Π +

size of the type arities of all the names of commands +

multiplicities of arguments in all the app. nodes

Characterizes Head Normalizationadaptable to Strong Normalization

Theorem [Kesner,V.,FSCD17]:

Let t be a λµ-term. Equiv. between:

t is Hλµ-typable

t is HN

The head red. strategy terminates on t

+ quantitative info.

Small-step version.

Intersection type theory P. Vial 3 Resources for Classical Logic 26 /36

Page 112: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Plan

1 Overview (idempotent or not intersection types)

2 Non-idempotent intersection types

3 Resources for Classical Logic

4 Infinite types and productive reduction

5 Perspectives

Intersection type theory P. Vial 4 Infinite types and productive reduction 27 /36

Page 113: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Infinitary calculi

Infinitary λ-trees provide various semantics to the λ-calculus.Bohm t. [68 or later], Levy-Longo t. [77,83], Berarducci t. [96].

Infinite λ-calculi Kennaway, Klop, Sleep and de Vries [97]

7 variantsonly 3 have a good behavior (partial infinitary confluence),

respectively recovering Bohm, L-L and Berar. trees as infinite NF.

Main idea:

Productive terms

may not terminate. . .

. . . but keep on outputting info.(e.g., sub-HNF)

sound infinite red. sequence

vs.

Meaningless terms

do not output any info. ever(even a head variable)

unsound infinite red. sequences

Intersection type theory P. Vial 4 Infinite types and productive reduction 28 /36

Page 114: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Infinitary calculi

Infinitary λ-trees provide various semantics to the λ-calculus.Bohm t. [68 or later], Levy-Longo t. [77,83], Berarducci t. [96].

Infinite λ-calculi Kennaway, Klop, Sleep and de Vries [97]

7 variantsonly 3 have a good behavior (partial infinitary confluence),

respectively recovering Bohm, L-L and Berar. trees as infinite NF.

Main idea:

Productive terms

may not terminate. . .

. . . but keep on outputting info.(e.g., sub-HNF)

sound infinite red. sequence

vs.

Meaningless terms

do not output any info. ever(even a head variable)

unsound infinite red. sequences

Intersection type theory P. Vial 4 Infinite types and productive reduction 28 /36

Page 115: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Infinitary calculi

Infinitary λ-trees provide various semantics to the λ-calculus.Bohm t. [68 or later], Levy-Longo t. [77,83], Berarducci t. [96].

Infinite λ-calculi Kennaway, Klop, Sleep and de Vries [97]

7 variantsonly 3 have a good behavior (partial infinitary confluence),

respectively recovering Bohm, L-L and Berar. trees as infinite NF.

Main idea:

Productive terms

may not terminate. . .

. . . but keep on outputting info.(e.g., sub-HNF)

sound infinite red. sequence

vs.

Meaningless terms

do not output any info. ever(even a head variable)

unsound infinite red. sequences

Intersection type theory P. Vial 4 Infinite types and productive reduction 28 /36

Page 116: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

→ → → → → . . .→ fn(Yf )→ . . .→∞ fω

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 117: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

Yf

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 118: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

Yf

f

@

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 119: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

Yf

f

@f

@

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 120: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

Yf

f

@f

@f

@

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 121: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

Yf

f

@f

@f

@f

@

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 122: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

f

@f

@f

@f

@f

@

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 123: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

f

@f

@f

@f

@f

@

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 124: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

f

@f

@f

@f

@f

@

Yf not WN

Yf is ∞-WN

∞-NF: fω = f(fω)(Bohm tree)

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 125: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Productive vs. Unproductive Reduction

Productive reduction: ∆f := λx.f(xx) Yf := ∆f∆f ”Curry f”

Yf → f(Yf )→ f2(Yf )→ f3(Yf )→ f4(Yf )→ . . .→ fn(Yf )→ . . .→∞ fω

f

@f

@f

@f

@f

@

Yf not WN

Yf is ∞-WN

∞-NF: fω = f(fω)(Bohm tree)

Unproductive reduction: let ∆ = λx.x x, Ω = ∆ ∆

Ω→ Ω→ Ω→ Ω→ Ω→ Ω→ . . .

Intersection type theory P. Vial 4 Infinite types and productive reduction 29 /36

Page 126: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Klop’s Problem and System S

Klop’s Problem: characterizing ∞-WN with inter. types

Tatsuta [07]: an inductive ITS cannot do it.

Can a coinductive ITS characterize the set of ∞-WNterms?

Multiset intersection:

⊕ syntax-direction

non-determinism of proof red.

lack tracking:[σ, τ, σ] = [σ

?, τ ] + [σ

?].

Retrieving soundness

coind. type grammars unsoundness (Ω typable)

using a validity criterion Need for tracking

Solution: sequential intersection

System S replace [σi]i∈I with (k · σk)k∈K

Tracking: (3 · σ, 5 · τ, 9 · σ) = (3 · σ, 5 · τ) ] (9 · σ)

Intersection type theory P. Vial 4 Infinite types and productive reduction 30 /36

Page 127: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Klop’s Problem and System S

Klop’s Problem: characterizing ∞-WN with inter. types

Tatsuta [07]: an inductive ITS cannot do it.

Can a coinductive ITS characterize the set of ∞-WNterms?

Multiset intersection:

⊕ syntax-direction

non-determinism of proof red.

lack tracking:[σ, τ, σ] = [σ

?, τ ] + [σ

?].

Retrieving soundness

coind. type grammars unsoundness (Ω typable)

using a validity criterion Need for tracking

Solution: sequential intersection

System S replace [σi]i∈I with (k · σk)k∈K

Tracking: (3 · σ, 5 · τ, 9 · σ) = (3 · σ, 5 · τ) ] (9 · σ)

Intersection type theory P. Vial 4 Infinite types and productive reduction 30 /36

Page 128: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Klop’s Problem and System S

Klop’s Problem: characterizing ∞-WN with inter. types

Tatsuta [07]: an inductive ITS cannot do it.

Can a coinductive ITS characterize the set of ∞-WNterms?

Multiset intersection:

⊕ syntax-direction

non-determinism of proof red.

lack tracking:[σ, τ, σ] = [σ

?, τ ] + [σ

?].

Retrieving soundness

coind. type grammars unsoundness (Ω typable)

using a validity criterion Need for tracking

Solution: sequential intersection

System S replace [σi]i∈I with (k · σk)k∈K

Tracking: (3 · σ, 5 · τ, 9 · σ) = (3 · σ, 5 · τ) ] (9 · σ)

Intersection type theory P. Vial 4 Infinite types and productive reduction 30 /36

Page 129: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Klop’s Problem and System S

Klop’s Problem: characterizing ∞-WN with inter. types

Tatsuta [07]: an inductive ITS cannot do it.

Can a coinductive ITS characterize the set of ∞-WNterms?

Multiset intersection:

⊕ syntax-direction

non-determinism of proof red.

lack tracking:[σ, τ, σ] = [σ

?, τ ] + [σ

?].

Retrieving soundness

coind. type grammars unsoundness (Ω typable)

using a validity criterion Need for tracking

Solution: sequential intersection

System S replace [σi]i∈I with (k · σk)k∈K

Tracking: (3 · σ, 5 · τ, 9 · σ) = (3 · σ, 5 · τ) ] (9 · σ)

Intersection type theory P. Vial 4 Infinite types and productive reduction 30 /36

Page 130: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Klop’s Problem and System S

Klop’s Problem: characterizing ∞-WN with inter. types

Tatsuta [07]: an inductive ITS cannot do it.

Can a coinductive ITS characterize the set of ∞-WNterms?

Multiset intersection:

⊕ syntax-direction

non-determinism of proof red.

lack tracking:[σ, τ, σ] = [σ

?, τ ] + [σ

?].

Retrieving soundness

coind. type grammars unsoundness (Ω typable)

using a validity criterion Need for tracking

Solution: sequential intersection

System S replace [σi]i∈I with (k · σk)k∈K

Tracking: (3 · σ, 5 · τ, 9 · σ) = (3 · σ, 5 · τ) ] (9 · σ)

Intersection type theory P. Vial 4 Infinite types and productive reduction 30 /36

Page 131: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Characterization of infinitary WN

Proposition

In System S:

Validity (aka approximability) can be defined.

SR: typing is stable by productive ∞-reduction.

SE: approximable typing stable by productive ∞-expansion.

Theorem (V,LiCS’17)

A ∞-term t is ∞-WN iff t is unforgetfully typable by means of an approximablederivation Klop’s Problem solved

The hereditary head reduction strategy is complete for infinitary weaknormalization.

Bonus: positive answer to TLCA Problem #20

System S also provides a type-theoretic characterization of the hereditarypermutations (not possible in the inductive case, Tatsuta [LiCS’07]).

Intersection type theory P. Vial 4 Infinite types and productive reduction 31 /36

Page 132: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Characterization of infinitary WN

Proposition

In System S:

Validity (aka approximability) can be defined.

SR: typing is stable by productive ∞-reduction.

SE: approximable typing stable by productive ∞-expansion.

Theorem (V,LiCS’17)

A ∞-term t is ∞-WN iff t is unforgetfully typable by means of an approximablederivation Klop’s Problem solved

The hereditary head reduction strategy is complete for infinitary weaknormalization.

Bonus: positive answer to TLCA Problem #20

System S also provides a type-theoretic characterization of the hereditarypermutations (not possible in the inductive case, Tatsuta [LiCS’07]).

Intersection type theory P. Vial 4 Infinite types and productive reduction 31 /36

Page 133: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Confluence in the infinitary calculi

In the infinitary calculi:

confluenceonly up to the collapsing of the meaningless terms

Let YI = (λx.I(xx))(λx.I(xx))

YI → I(YI) → . . . → In(YI) →∞ Iω

↓2

Ω

Structure of proofs Kennaway et al. 96, Czjaka 14

Using an intermediary calculi ε satisfying confluence.

Translating the red. sequences of the ∞-calculi into the ε-calcvia technical lemmas of the form:

Lemma: if t→∞ t′ HNF, then t→∗h t′0 HNF (finite sequence)

Can inductive non-idem. inter. type systems helpsimplify proofs of infinitary confluence?

Intersection type theory P. Vial 4 Infinite types and productive reduction 32 /36

Page 134: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Confluence in the infinitary calculi

In the infinitary calculi:

confluenceonly up to the collapsing of the meaningless terms

Let YI = (λx.I(xx))(λx.I(xx))

YI → I(YI) → . . . → In(YI) →∞ Iω

↓2

Ω

Structure of proofs Kennaway et al. 96, Czjaka 14

Using an intermediary calculi ε satisfying confluence.

Translating the red. sequences of the ∞-calculi into the ε-calcvia technical lemmas of the form:

Lemma: if t→∞ t′ HNF, then t→∗h t′0 HNF (finite sequence)

Can inductive non-idem. inter. type systems helpsimplify proofs of infinitary confluence?

Intersection type theory P. Vial 4 Infinite types and productive reduction 32 /36

Page 135: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Confluence in the infinitary calculi

In the infinitary calculi:

confluenceonly up to the collapsing of the meaningless terms

Let YI = (λx.I(xx))(λx.I(xx))

YI → I(YI) → . . . → In(YI) →∞ Iω

↓2

Ω

Structure of proofs Kennaway et al. 96, Czjaka 14

Using an intermediary calculi ε satisfying confluence.

Translating the red. sequences of the ∞-calculi into the ε-calcvia technical lemmas of the form:

Lemma: if t→∞ t′ HNF, then t→∗h t′0 HNF (finite sequence)

Can inductive non-idem. inter. type systems helpsimplify proofs of infinitary confluence?

Intersection type theory P. Vial 4 Infinite types and productive reduction 32 /36

Page 136: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Confluence in the infinitary calculi

In the infinitary calculi:

confluenceonly up to the collapsing of the meaningless terms

Let YI = (λx.I(xx))(λx.I(xx))

YI → I(YI) → . . . → In(YI) →∞ Iω

↓2

Ω

Structure of proofs Kennaway et al. 96, Czjaka 14

Using an intermediary calculi ε satisfying confluence.

Translating the red. sequences of the ∞-calculi into the ε-calcvia technical lemmas of the form:

Lemma: if t→∞ t′ HNF, then t→∗h t′0 HNF (finite sequence)

Can inductive non-idem. inter. type systems helpsimplify proofs of infinitary confluence?

Intersection type theory P. Vial 4 Infinite types and productive reduction 32 /36

Page 137: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Confluence in the infinitary calculi

In the infinitary calculi:

confluenceonly up to the collapsing of the meaningless terms

Let YI = (λx.I(xx))(λx.I(xx))

YI → I(YI) → . . . → In(YI) →∞ Iω

↓2

Ω

Structure of proofs Kennaway et al. 96, Czjaka 14

Using an intermediary calculi ε satisfying confluence.

Translating the red. sequences of the ∞-calculi into the ε-calcvia technical lemmas of the form:

Lemma: if t→∞ t′ HNF, then t→∗h t′0 HNF (finite sequence)

Can inductive non-idem. inter. type systems helpsimplify proofs of infinitary confluence?

Intersection type theory P. Vial 4 Infinite types and productive reduction 32 /36

Page 138: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Plan

1 Overview (idempotent or not intersection types)

2 Non-idempotent intersection types

3 Resources for Classical Logic

4 Infinite types and productive reduction

5 Perspectives

Intersection type theory P. Vial 5 Perspectives 33 /36

Page 139: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The story continues. . .

Intersection types via Grothendieck construction[Mazza,Pellissier,V, POPL2018]

Categorical generalization of ITS a la Mellies-Zeilberger.

Type systems = 2-operads (see below).

Type systems as 2-operads

Level 1: Γ ` t : B t = multimorphism from Γ to B.

Level 2: if Γ ` t : BSR Γ ` t′ : B,

t t′ = 2-morphism from t to t′.

Construction of an ITS via a Grothendieck construction (pullbacks).

Modularity: retrieving automaticallye.g., Coppo-Dezani, Gardner, R0, call-by-value + Hλµ (use cyclic 2-operads)

Damiano MazzaPolyadic approximations and intersectiontypes (ITRS/DCM joint invited talk)Sunday 4:30 pm, Maths Seminar C5

Luc PellissierGeneralized generalized species of structure andresource modalities (Linearity/TLLA)Sunday 2 pm, Blavatnik Seminar Room 1

Intersection type theory P. Vial 5 Perspectives 34 /36

Page 140: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The story continues. . .

Intersection types via Grothendieck construction[Mazza,Pellissier,V, POPL2018]

Categorical generalization of ITS a la Mellies-Zeilberger.

Type systems = 2-operads (see below).

Type systems as 2-operads

Level 1: Γ ` t : B t = multimorphism from Γ to B.

Level 2: if Γ ` t : BSR Γ ` t′ : B,

t t′ = 2-morphism from t to t′.

Construction of an ITS via a Grothendieck construction (pullbacks).

Modularity: retrieving automaticallye.g., Coppo-Dezani, Gardner, R0, call-by-value + Hλµ (use cyclic 2-operads)

Damiano MazzaPolyadic approximations and intersectiontypes (ITRS/DCM joint invited talk)Sunday 4:30 pm, Maths Seminar C5

Luc PellissierGeneralized generalized species of structure andresource modalities (Linearity/TLLA)Sunday 2 pm, Blavatnik Seminar Room 1

Intersection type theory P. Vial 5 Perspectives 34 /36

Page 141: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

The story continues. . .

Intersection types via Grothendieck construction[Mazza,Pellissier,V, POPL2018]

Categorical generalization of ITS a la Mellies-Zeilberger.

Type systems = 2-operads (see below).

Type systems as 2-operads

Level 1: Γ ` t : B t = multimorphism from Γ to B.

Level 2: if Γ ` t : BSR Γ ` t′ : B,

t t′ = 2-morphism from t to t′.

Construction of an ITS via a Grothendieck construction (pullbacks).

Modularity: retrieving automaticallye.g., Coppo-Dezani, Gardner, R0, call-by-value + Hλµ (use cyclic 2-operads)

Damiano MazzaPolyadic approximations and intersectiontypes (ITRS/DCM joint invited talk)Sunday 4:30 pm, Maths Seminar C5

Luc PellissierGeneralized generalized species of structure andresource modalities (Linearity/TLLA)Sunday 2 pm, Blavatnik Seminar Room 1

Intersection type theory P. Vial 5 Perspectives 34 /36

Page 142: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 143: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 144: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 145: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 146: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 147: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 148: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 149: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Doggy bag

Intersection types characterizevarious semantic properties

+ bring info. on operational semantics!

Non-idempotency:forbid duplication of typing deriv.

Simple proof of termination.

typing brings quali. and quanti. info.

Very simpleoperational semantics

Adapts to other higher-order calculie.g., feat. classical logic

Adapts to the infinitary calculus

Delia KesnerQuantitative types: from Foundations to Ap-plications (ITRS/DCM joint invited talk)Sunday 9 am, Maths Seminar C5

Intersection type theory P. Vial 5 Perspectives 35 /36

Page 150: pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani (78-80) to \interpret more terms" Charac. of Weak Norm. for I-terms (no erasing -step).

Thank you

Thank you for your attention!

next talk in Floc

Every λ-term is meaningful in the infinitaryrelation model (Lics)Monday 5:20 pm, Math LT3

Intersection type theory P. Vial 5 Perspectives 36 /36