Nominal Sets, Data Symmetries and OrdNom
Hans-Peter Deifel Oberseminar 21.01.2020
1 / 43
Nominal Sets, Data Symmetries and OrdNom Hans-Peter Deifel - - PowerPoint PPT Presentation
Nominal Sets, Data Symmetries and OrdNom Hans-Peter Deifel Oberseminar 21.01.2020 1 / 43 Motivation Theres more than one way to skin a category. Abstract syntax with names and name binding Slightly infjnite structures Data
Hans-Peter Deifel Oberseminar 21.01.2020
1 / 43
There’s more than one way to skin a category. Abstract syntax with names and name binding “Slightly infjnite” structures Data accessible via a limited interface
2 / 43
Abstract Syntax: Abstract Syntax Trees Free Variables Name Dependence Binders α-equivalence
3 / 43
“Slightly Infjnite” sets: (x, y) ∈ A × A Under consistent bijective renaming: Only two cases: x = y and x = y “Generated” by: (a, a) and a, b
4 / 43
5 / 43
Groups
Defjnition
A group G is a set equipped with: A composition function G · G → G A unit element e ∈ G For each element a ∈ G, an inverse a−1 ∈ G such that (unit): e · a = a = a · e for all a ∈ G (assoc): a · (b · c) = (a · b) · c for all a, b, c ∈ G (invers): a · a−1 = e for all a ∈ G ⇒ Also: a category with one object!
6 / 43
Groups
Example
Sym(X): All bijections on X
7 / 43
Group Actions
Group Action
Action of G on set X is function ·: G × X → X, s.t.: a · (b · x) = (a · b) · x e · x = x
G-Sets
Sets equipped with action of G called G-Set. G-Sets form a category [G, Set] morphisms: Equivariant functions f : A → B, s.t. f(π · x) = π · f(x)
8 / 43
Group Actions
Example
Σ signature, X variables. Σ-terms over X. Defjne group action of Sym(X) recursively on term t: π · x = π(x) π · op(t1, . . . , tn) = op(π · t1, . . . , π · tn)
9 / 43
Constructions
Products
Product of G-Sets X1, . . . , Xn: X1 × · · · × Xn with action: π · (x1, . . . , xn) = (π · x1, . . . , π · xn)
Coproducts
Product of G-Sets X1, . . . , Xn: X1 + · · · + Xn with action: π · inji x = inji(π · x) ⋔: Extends to infjnite products/coproducts.
10 / 43
Constructions
Exponentials
Given G-sets X, Y : Defjne G-action on set of all functions Y X: (π · f)(x) = π · f(π−1 · x) ⋔ app : Y X × X → Y and curry(f : X × Y → Z): X → ZY are equivariant. ⋔: [G, Set] is CCC!
11 / 43
Constructions
Subobjects
A subset S of a G-Set X is an equivariant subset if: π · S = S ∀π ∈ G Subobjects of G-Set X ⇔ equivariant subsets of X.
Subobject Classifjer
B = {true, false} = 1 + 1 is subobject classifjer in [G, Set]. ⋔: [G, Set] is Boolean topos!
12 / 43
13 / 43
Names
Names
Fix an infjnite set A of names {a, b, c, . . .}. Abstract “atomic” names Can be compared for equality No further structure ⋔ Intuition: Variables
14 / 43
Permutations
Names
Fix an infjnite set A of names {a, b, c, . . .}.
Permutations
Fix the group G = Perm A of fjnite permutations of A. Note: A is itself a Perm(A)-Set with action π · a = π(a).
15 / 43
Name Dependence
Support
Let X be Perm A-set. A set of names A ⊆ A is a support for x ∈ X if ∀π ∈ Perm A: (∀a ∈ A. π · a = a) ⇒ π · x = x
Nominal Set
A nomial set X is a Perm A-set, s.t. every x ∈ X has fjnite support.
16 / 43
Examples
The set of names A
∀a ∈ A. supp a = {a}
Discrete Nominal Set
Set X with Perm A-action π · x = x. ∀x ∈ X. supp x = ∅
Σ-Terms
∀t ∈ Σ[A]. supp t = freevars(t)
17 / 43
Least support
A1, A2 fjnite supports for x ∈ X ⇒ so is A1 ∩ A2
Least Support
X nominal set and x ∈ X. Then: suppX x = ∩ {A ∈ PA | A is fjnite support for x} ⋔-fact: supp is an equivariant function!
18 / 43
Nom, Nom, Nom…
Nom
Nominal sets objects in category: Morphisms: Equivariant functions, as in [Perm A, Set] ⋔: Full subcategory of [Perm A, Set]
19 / 43
Constructions
Coproducts & Finite Products
Same as in [Perm A, Set] supp(x1, . . . , xn) = supp x1 ∪ · · · ∪ supp xn supp(inji x) = supp x
Infjnite Products
∪
i∈I supp xi may not be fjnite for inifjnite I
But: Nom is co-refmective subcategory of [Perm A, Set]
20 / 43
Products
Infjnite Products
∪
i∈I supp xi may not be fjnite for inifjnite I
But: Nom is co-refmective subcategory of [Perm A, Set] For each [Perm A, Set] set X, there is Xfs → X, s.t. Y Xfs X
f ¯ f
where Xfs = {x ∈ X | x is fjnitely supported in X}
21 / 43
Topos?!
Exponentials
Same thing: (Y X)fs exponential in Nom
Subobjects
Same as in [Perm A, Set]
Subobject Classifjer
Same as in [Perm A, Set] ⋔: Boolean Topos!
22 / 43
23 / 43
Data Symmetry
(D, G) D a set of data G ≤ Sym(D) Intuition: D data with some limited structure or
24 / 43
Examples
Equality Symmetry (A, Perm A) i.e. the thing from the last few slides. In polish notation: A = N Total Order Symmetry (Q, Mob(Q)) Mob(Q) = {π ∈ Sym(Q) | x < y ⇒ π · x < π · y} i.e. the thing from the few last slides. Integer Symmetry (Z, Trans(Z)) Trans(Z) group of translations i → i + c
25 / 43
Orbits
Orbit
For x in G-set X, G · x = {π · x | x ∈ G} ⊆ X is called orbit of x. ⋔-fact: Any G-Set partitionend into its orbits.
26 / 43
Orbits
Orbit
G · x = {π · x | x ∈ G} ⊆ X
Example
Consider D2: Equality Symmetry: Two orbits: {(a, a) | a ∈ A} {(a, b) | a = b ∈ A} Total Order Symmetry: Three orbits: {(x, y) | x < y ∈ Q} {(x, x) | x ∈ Q} {(x, y) | x > y ∈ Q}
27 / 43
Support
Support, nominal set, equivariant function defjned as in Nom.
Least Support
Does a fjnitely supported x ∈ X have a least support? Equality Symmetry: Yes (see previous slides) Total Order Symmetry: Yes (N × N, {π × π | π ∈ Sym(N)}): Nope! See next slide.
28 / 43
Support
Data symmetry: (N × N, {π × π | π ∈ Sym(N)}). The element (0, 1) ∈ N × N has three minimal supports: {(0, 1)} {(1, 0)} {(0, 0), (1, 1)} ⋔: But no least support
29 / 43
30 / 43
Single Orbits
Coset
Given a subgroup H ≤ G, π ∈ G: πH = {πσ | σ ∈ H} ⊆ G ⋔-fact: G partitioned into cosets for H.
31 / 43
Single Orbits
Coset Space
G ⧸ H = {πH | π ∈ G} G-action on coset space: σ · (πH) = (σπ)H ⋔-fact: G ⧸ H is single-orbit G-Set
32 / 43
Single Orbits
Stabilizer
Given G-set X, x ∈ X: Gx = {π ∈ G | π · x = x} ≤ G
X ∼ = G ⧸ Gx
Any single orbit G-set X is isomorphic to G ⧸ Gx for any x ∈ X.
33 / 43
Single Orbits
X ∼ = G ⧸ Gx
Any single orbit G-set X is isomorphic to G ⧸ Gx for any x ∈ X.
Iso
f : X → G ⧸ Gx f(π · x) = π · Gx Well defjned Bijective
34 / 43
Single Orbits
X ∼ = G ⧸ Gx
Any single orbit G-set X is isomorphic to G ⧸ Gx for any x ∈ X. Every G ⧸ H single orbit G-set Every G-set equivalent to a G ⧸ H Every G-set partition of its orbits. Win?
34 / 43
Single Orbits
X ∼ = G ⧸ Gx
Any single orbit G-set X is isomorphic to G ⧸ Gx for any x ∈ X. Every G ⧸ H single orbit G-set Every G-set equivalent to a G ⧸ H Every G-set partition of its orbits. Win? Nope, there are too many of them!
34 / 43
Single Orbits
What are we going to do?
35 / 43
Support
Idea: Restrict to nominal G-sets:
Stabilizer again
GC = {π ∈ G | π · c = c ∀c ∈ C}
Open Subgroup
H ≤ G open
def
⇔ GC ≤ H for fjnite C ∈ D
Support
H ≤ G open with GC ≤ H ⇒ C supports H
36 / 43
Support
(1-orbit) Nominal Sets ⇔ Open Subgroups
37 / 43
Finite Subgroups
Problem: Open subgroups are unwieldy Solution: Assume (D, G) admits least support and is fungible (🍅)
Extension
extG(S) = {π ∈ G | π|C ∈ S} ≤ G for S ≤ G|C C supports extG(S) ⇒ extG(S) is open subgroup For open subgroup H ≤ G with support C: H = extG(H|C)
38 / 43
Support
(1-orbit) Nominal Sets ⇔ (C, S) where S ≤ Sym(C)
39 / 43
40 / 43
Fun Facts
Reminder: (Q, Mob(Q))
Finite Monotone Permutations
The only monotone permutation on a fjnite set is Id
Homogeneity
For fjnite C ⊆ Q, D ⊆ Q: |C| = |D| ⇒ ∃π. π · C = D
41 / 43
Representation
Representation 1
1-orbit nominal set X with x ∈ X supported by C: X ∼ = P|C|(Q)
Representation 2
1-orbit nominal set X with x ∈ X supported by C: X fully described by |C|
42 / 43
Mikołaj Bojańczyk, Bartek Klin, and Sławomir Lasota. “Automata theory in nominal sets”. In: Logical Methods in Computer Science [electronic only] 10 (Feb. 2014). doi: 10.2168/LMCS-10(3:4)2014. Andrew M. Pitts. Nominal Sets: Names and Symmetry in Computer Science. en. Cambridge: Cambridge University Press, 2013. isbn: 978-1-139-08467-3. doi: 10.1017/CBO9781139084673. David Venhoek, Joshua Moerman, and Jurriaan Rot. “Fast Computations on Ordered Nominal Sets”. en. In: arXiv:1902.08414 [cs] (Feb. 2019). arXiv: 1902.08414.
43 / 43