pierrevial.github.io · 2021. 1. 21. · Intersection types (overview) Introduced by Coppo-Dezani...
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/1.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/2.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/3.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/4.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/5.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/6.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/7.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/8.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/9.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/10.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/11.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/12.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/13.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/14.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/15.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/16.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/17.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/18.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/19.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/20.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/21.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/22.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/23.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/24.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/25.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/26.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/27.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/28.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/29.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/30.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/31.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/32.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/33.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/34.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/35.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/36.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/37.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/38.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/39.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/40.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/41.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/42.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/43.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/44.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/45.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/46.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/47.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/48.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/49.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/50.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/51.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/52.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/53.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/54.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/55.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/56.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/57.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/58.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/59.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/60.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/61.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/62.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/63.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/64.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/65.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/66.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/67.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/68.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/69.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/70.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/71.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/72.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/73.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/74.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/75.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/76.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/77.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/78.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/79.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/80.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/81.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/82.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/83.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/84.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/85.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/86.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/87.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/88.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/89.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/90.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/91.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/92.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/93.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/94.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/95.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/96.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/97.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/98.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/99.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/100.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/101.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/102.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/103.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/104.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/105.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/106.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/107.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/108.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/109.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/110.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/111.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/112.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/113.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/114.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/115.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/116.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/117.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/118.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/119.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/120.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/121.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/122.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/123.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/124.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/125.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/126.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/127.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/128.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/129.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/130.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/131.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/132.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/133.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/134.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/135.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/136.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/137.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/138.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/139.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/140.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/141.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/142.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/143.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/144.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/145.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/146.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/147.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/148.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/149.jpg)
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).](https://reader035.fdocuments.us/reader035/viewer/2022071512/6131f704dfd10f4dd73a2448/html5/thumbnails/150.jpg)
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