An Introduction to Nominal Sets
Andrew Pits
Computer Science & Technology
EWSCS 2020
1/70
An Introduction to Nominal Sets Andrew Pi t s Computer Science & - - PowerPoint PPT Presentation
An Introduction to Nominal Sets Andrew Pi t s Computer Science & Technology EWSCS 2020 1/70 Lecture 3 36/70 Outline L1 Structural recursion and induction in the presence of name-binding operations. L2 Introducing the category of nominal
Computer Science & Technology
EWSCS 2020
1/70
36/70
References: AMP, Nominal Sets: Names and Symmetry in Computer Science, CUP 2013 AMP, Alpha-Structural Recursion and Induction, JACM 53(2006)459-506. AMP, J. Mathiesen and J. Derikx, A Dependent Type Theory with Abstractable Names, ENTCS 312(2015)19-50.
37/70
1
2
1,푡′ 2)
38/70
39/70
more constructively, a is fresh for x if there is some finite support set A for x not containing a
39/70
40/70
Proof.
40/70
and 푎 # 푆 because 푎 ∉ 퐴. So (2) holds.
40/70
so 푏 = (푎 푏) · 푎 ∈ (푎 푏) · 푆 = 푆. So (3) holds.
40/70
subsets of atoms. Since 퐴 is finite, to prove (1) it suffices to show A − 푆 ⊆ 퐴, i.e. A − 퐴 ⊆ 푆. But if 푏 ∉ 퐴, then because 퐴 supports 푆, we have 푏 # 푆 and so by (3) we do have 푏 ∈ 푆.
41/70
41/70
@
42/70
42/70
퐼
퐹 for all
43/70
T ˆ 퐹 퐼
퐹
ˆ 퐹 exists unique 푋
43/70
43/70
44/70
44/70
S : Sum → Proc Comp : Proc , Proc → Proc Nu : Chan . Proc → Proc ! : Proc → Proc P : Pre → Sum O : 1 → Sum Plus : Sum , Sum → Sum Out : Chan , Chan , Proc → Pre In : Chan , (Chan . Proc) → Pre Tau : Proc → Pre Match : Chan , Chan , Pre → Pre
44/70
N.B. all these notions of signature restrict atention to iterated, but unary name-binding—there are other kinds of lexically scoped binder (e.g. see Potier’s C훼ml language, or Blanchete et al POPL 2019.)
44/70
45/70
1
2
1 , 푡′ 2
46/70
46/70
47/70
47/70
47/70
48/70
49/70
50/70
푓1 푎
푓2(푒1,푒2)
푓3(푎,푒)
50/70
푓1 푎
푓2(ℓ1, ℓ2)
푓3(푎, ℓ)
50/70
50/70
E.g. when 푒 = (휆푎. 휆푏.푎) 푏 (with 푎 ≠ 푏), then 푒 has a single occurrence of a bound variable (called 푎) and cbv푒 = 1.
51/70
51/70