[ ] A Nominal Techniques Warsaw, 10-15 September, 2019 FoPSS - - PowerPoint PPT Presentation

a nominal techniques warsaw 10 15 september 2019 fopss
SMART_READER_LITE
LIVE PREVIEW

[ ] A Nominal Techniques Warsaw, 10-15 September, 2019 FoPSS - - PowerPoint PPT Presentation

FoPSS 2019 3rd Summer School on Foundations of Programming and Software Systems [ ] A Nominal Techniques Warsaw, 10-15 September, 2019 FoPSS Summer Schools on Foundations of Programming and Software Systems Supported by: This time also


slide-1
SLIDE 1

FoPSS 2019

3rd Summer School

  • n Foundations of Programming

and Software Systems

Warsaw, 10-15 September, 2019

Nominal Techniques

[ ]

A

slide-2
SLIDE 2 FoPSS, Warsaw, 10-15/09/19

FoPSS

2

Summer Schools on Foundations of Programming and Software Systems

Supported by: This time also by:

slide-3
SLIDE 3 FoPSS, Warsaw, 10-15/09/19

FoPSS

3

2017: Braga (Portugal)

Probabilistic Programming

slide-4
SLIDE 4 FoPSS, Warsaw, 10-15/09/19

FoPSS

3

2017: Braga (Portugal)

Probabilistic Programming

2018: Oxford (UK)

Logic and Learning

slide-5
SLIDE 5 FoPSS, Warsaw, 10-15/09/19

FoPSS

3

2017: Braga (Portugal)

Probabilistic Programming

2018: Oxford (UK)

Logic and Learning

2019: Warsaw (Poland)

Nominal Techniques

slide-6
SLIDE 6 FoPSS, Warsaw, 10-15/09/19
  • Andrzej Murawski:

Nominal game semantics

FoPSS 2019

4

Our lecturers:

  • Andrew M. Pitts:

Nominal sets and functional programming

  • Mikołaj Bojańczyk:

Computation theory with atoms

  • Maribel Fernández:

Nominal rewriting and unification

  • Johannes Borgström:

Nominal process calculi and modal logics

  • Murdoch J. Gabbay:

Advanced nominal techniques

  • Sławomir Lasota:

Computation theory with atoms II

slide-7
SLIDE 7

FoPSS 2019

Warsaw, 10-11 September, 2019

Basic Nominal Techniques

[ ]

A

Bartek Klin University of Warsaw

slide-8
SLIDE 8 FoPSS, Warsaw, 10-11/09/19

What is it all about?

6

local names and name dependence mathematics of, and computation with: Nominal techniques:

slide-9
SLIDE 9 FoPSS, Warsaw, 10-11/09/19

What is it all about?

6

local names and name dependence mathematics of, and computation with: highly symmetrical structures Nominal techniques:

slide-10
SLIDE 10 FoPSS, Warsaw, 10-11/09/19

What is it all about?

6

local names and name dependence mathematics of, and computation with: highly symmetrical structures “slightly infinite” structures Nominal techniques:

slide-11
SLIDE 11 FoPSS, Warsaw, 10-11/09/19

What is it all about?

6

local names and name dependence mathematics of, and computation with: highly symmetrical structures “slightly infinite” structures structures acessible via limited interfaces Nominal techniques:

slide-12
SLIDE 12 FoPSS, Warsaw, 10-11/09/19

What is it all about?

7

local names and name dependence mathematics of, and computation with: highly symmetrical structures “slightly infinite” structures structures acessible via limited interfaces Nominal techniques:

slide-13
SLIDE 13 FoPSS, Warsaw, 10-11/09/19

Concrete and abstract syntax

8

2 ∗ 3 + 3 ∗ (7 − 2) +

∗ 2 3 7 ∗ 3 2

parsing

slide-14
SLIDE 14 FoPSS, Warsaw, 10-11/09/19

Concrete and abstract syntax

8

2 ∗ 3 + 3 ∗ (7 − 2) +

∗ 2 3 7 ∗ 3 2

parsing Algebraic features:

  • definitions by recursion
  • proofs by induction
  • ...
slide-15
SLIDE 15 FoPSS, Warsaw, 10-11/09/19

Complications with local names

9

3

parsing

let x = 3 in let x = x + 1 in x + 5 let

x

let

x

+

x 1

+

x 5

slide-16
SLIDE 16 FoPSS, Warsaw, 10-11/09/19

Complications with local names

9

3

parsing

let x = 3 in let x = x + 1 in x + 5 let

x

let

x

+

x 1

+

x 5

slide-17
SLIDE 17 FoPSS, Warsaw, 10-11/09/19

Complications with local names

9

3

parsing

let x = 3 in let x = x + 1 in x + 5 let

x

let

x

+

x 1

+

x 5

slide-18
SLIDE 18 FoPSS, Warsaw, 10-11/09/19

Complications with local names

9

3

parsing

let x = 3 in let x = x + 1 in x + 5 let

x

let

x

+

x 1

+

x 5

Expressions depend

  • n names!
slide-19
SLIDE 19 FoPSS, Warsaw, 10-11/09/19

Name dependence

10

Idea: Let every expression come equipped (or: atoms) that occur in it with an explicit dependence on some names

slide-20
SLIDE 20 FoPSS, Warsaw, 10-11/09/19

Name dependence

10

Idea: Let every expression come equipped (or: atoms) that occur in it with an explicit dependence on some names nominal expressions

slide-21
SLIDE 21 FoPSS, Warsaw, 10-11/09/19

Name dependence

10

Idea: Let every expression come equipped (or: atoms) that occur in it with an explicit dependence on some names nominal expressions More ambitious idea: Let everything come equipped (or: atoms) that occur in it with an explicit dependence on some names

slide-22
SLIDE 22 FoPSS, Warsaw, 10-11/09/19

Name dependence

10

Idea: Let every expression come equipped (or: atoms) that occur in it with an explicit dependence on some names nominal expressions More ambitious idea: Let everything come equipped (or: atoms) that occur in it with an explicit dependence on some names nominal sets

slide-23
SLIDE 23 FoPSS, Warsaw, 10-11/09/19

Name dependence

11

What does it mean to depend on a name? Q:

slide-24
SLIDE 24 FoPSS, Warsaw, 10-11/09/19

Name dependence

11

What does it mean to depend on a name? Q: A: depends on a name

X

a a

if renaming to any other name would alter X

slide-25
SLIDE 25 FoPSS, Warsaw, 10-11/09/19

Name dependence

11

What does it mean to depend on a name? Q: A: depends on a name

X

a a

if renaming to any other name would alter X Idea revisited: Let everything come equipped affects it with information on how renaming names nominal sets

slide-26
SLIDE 26 FoPSS, Warsaw, 10-11/09/19

What is it all about?

12

local names and name dependence mathematics of, and computation with: highly symmetrical structures “slightly infinite” structures structures acessible via limited interfaces Nominal techniques:

slide-27
SLIDE 27 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

slide-28
SLIDE 28 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

slide-29
SLIDE 29 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

atom renaming:

a

b

c

slide-30
SLIDE 30 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

atom renaming:

a

b

c

slide-31
SLIDE 31 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

atom renaming:

a

b

c

slide-32
SLIDE 32 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

atom renaming:

a

b

c

slide-33
SLIDE 33 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

atom renaming:

a

b

c

slide-34
SLIDE 34 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

atom renaming:

a

b

c

slide-35
SLIDE 35 FoPSS, Warsaw, 10-11/09/19

A graph built of atoms

13

ab ac ad ba bc bd ca cb cd da db dc

atomic names:

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

a, b, c, d, e, . . .

atom renaming:

a

b

c

slide-36
SLIDE 36 FoPSS, Warsaw, 10-11/09/19

What is it all about?

14

local names and name dependence mathematics of, and computation with: highly symmetrical structures “slightly infinite” structures structures acessible via limited interfaces Nominal techniques:

slide-37
SLIDE 37 FoPSS, Warsaw, 10-11/09/19

Slightly infinite

15
  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

The same graph:

slide-38
SLIDE 38 FoPSS, Warsaw, 10-11/09/19

Slightly infinite

15
  • nodes: {(a, b) : a, b 2 A : a 6= b}
  • edges:
  • {(a, b), (b, c)} : a, b, c ∈ A

: a 6= b ^ b 6= c ^ a 6= c

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

The same graph:

slide-39
SLIDE 39 FoPSS, Warsaw, 10-11/09/19

Slightly infinite

15
  • nodes: {(a, b) : a, b 2 A : a 6= b}
  • edges:
  • {(a, b), (b, c)} : a, b, c ∈ A

: a 6= b ^ b 6= c ^ a 6= c

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

The same graph: Infinite, but presented by finite means

slide-40
SLIDE 40 FoPSS, Warsaw, 10-11/09/19

An example problem

16
  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

slide-41
SLIDE 41 FoPSS, Warsaw, 10-11/09/19

An example problem

16

Is it 3-colorable?

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

slide-42
SLIDE 42 FoPSS, Warsaw, 10-11/09/19

An example problem

16

Is it 3-colorable?

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

No.

ab ad bc be ca cd db de ea ec

slide-43
SLIDE 43 FoPSS, Warsaw, 10-11/09/19

An example problem

16

Is it 3-colorable? Is 3-colorability decidable?

  • nodes:
  • edges:

ab a 6= b a 6= c ab bc

No.

ab ad bc be ca cd db de ea ec

slide-44
SLIDE 44 FoPSS, Warsaw, 10-11/09/19

What is it all about?

17

local names and name dependence mathematics of, and computation with: highly symmetrical structures “slightly infinite” structures structures acessible via limited interfaces Nominal techniques:

slide-45
SLIDE 45 FoPSS, Warsaw, 10-11/09/19

Computer Science 101

18

Theorem: Every algorithm to sort numbers must work in time .

n

Ω(n log n)

slide-46
SLIDE 46 FoPSS, Warsaw, 10-11/09/19

Computer Science 101

18

Theorem: Every algorithm to sort numbers must work in time .

n

Ω(n log n)

in the comparison model

slide-47
SLIDE 47 FoPSS, Warsaw, 10-11/09/19

Computer Science 101

18

Theorem: Every algorithm to sort numbers must work in time .

n

Ω(n log n)

in the comparison model Here, numbers are atoms accessible via relations:

= <

slide-48
SLIDE 48 FoPSS, Warsaw, 10-11/09/19

Computer Science 101

18

Theorem: Every algorithm to sort numbers must work in time .

n

Ω(n log n)

in the comparison model Here, numbers are atoms accessible via relations:

= <

This amounts to restricting the class

  • f legal atom renamings.
slide-49
SLIDE 49

Nominal Sets: Basic Defnitions

[ ]

A

slide-50
SLIDE 50

Nominal Sets: Basic Defnitions

[ ]

A

  • r: Sets with Atoms
slide-51
SLIDE 51 FoPSS, Warsaw, 10-11/09/19

Atoms

20

Let be an infinite, countable set of atoms.

A a, b, c, d, e, . . . ∈ A

slide-52
SLIDE 52 FoPSS, Warsaw, 10-11/09/19

Atoms

20

Let be an infinite, countable set of atoms.

A a, b, c, d, e, . . . ∈ A Aut(A) - the group of all bijections of A

slide-53
SLIDE 53 FoPSS, Warsaw, 10-11/09/19

Atoms

20

Let be an infinite, countable set of atoms.

A a, b, c, d, e, . . . ∈ A Aut(A) - the group of all bijections of A (π · σ) · ρ = π · (σ · ρ) π · π−1 = id π · id = π = id · π

slide-54
SLIDE 54 FoPSS, Warsaw, 10-11/09/19

Atoms

20

Let be an infinite, countable set of atoms.

A a, b, c, d, e, . . . ∈ A Aut(A) - the group of all bijections of A (π · σ) · ρ = π · (σ · ρ) π · π−1 = id π · id = π = id · π

the dot omitted frow now on

slide-55
SLIDE 55 FoPSS, Warsaw, 10-11/09/19

Atoms

20

Let be an infinite, countable set of atoms.

A a, b, c, d, e, . . . ∈ A Aut(A) - the group of all bijections of A (a b) ∈ Aut(A) - the swap of and

a

b

(π · σ) · ρ = π · (σ · ρ) π · π−1 = id π · id = π = id · π

the dot omitted frow now on

slide-56
SLIDE 56 FoPSS, Warsaw, 10-11/09/19

Atoms

20

Let be an infinite, countable set of atoms.

A a, b, c, d, e, . . . ∈ A Aut(A) - the group of all bijections of A (a b) ∈ Aut(A) - the swap of and

a

b

(a b)(b c)(c a) = (b c)

For example:

(a b)−1 = (a b) (π · σ) · ρ = π · (σ · ρ) π · π−1 = id π · id = π = id · π

the dot omitted frow now on

slide-57
SLIDE 57 FoPSS, Warsaw, 10-11/09/19

Von Neumann hierarchy

21

U0 = ∅ Uβ = S

α<β Uα

A hierarchy of universes:

Uα+1 = PUα

defined for every ordinal number.

slide-58
SLIDE 58 FoPSS, Warsaw, 10-11/09/19

Von Neumann hierarchy

21

U0 = ∅ Uβ = S

α<β Uα

A hierarchy of universes:

Uα+1 = PUα

defined for every ordinal number.

Elements of sets are other sets, in a well founded way

slide-59
SLIDE 59 FoPSS, Warsaw, 10-11/09/19

Von Neumann hierarchy

21

U0 = ∅ Uβ = S

α<β Uα

A hierarchy of universes:

Uα+1 = PUα

defined for every ordinal number.

Elements of sets are other sets, in a well founded way

Every set sits somewhere in this hierarchy.

slide-60
SLIDE 60 FoPSS, Warsaw, 10-11/09/19

Sets with atoms

22

A - a countable set of atoms

slide-61
SLIDE 61 FoPSS, Warsaw, 10-11/09/19

U0 = ∅ Uα+1 = PUα + A Uβ = S

α<β Uα

A hierarchy of universes:

Sets with atoms

22

A - a countable set of atoms

slide-62
SLIDE 62 FoPSS, Warsaw, 10-11/09/19

U0 = ∅ Uα+1 = PUα + A Uβ = S

α<β Uα

A hierarchy of universes:

Sets with atoms

22

A - a countable set of atoms

Elements of sets with atoms are atoms

  • r other sets with atoms, in a well founded way
slide-63
SLIDE 63 FoPSS, Warsaw, 10-11/09/19

Renaming atoms

23

A canonical renaming action:

· : U × Aut(A) → U

slide-64
SLIDE 64 FoPSS, Warsaw, 10-11/09/19

Renaming atoms

23

A canonical renaming action:

· : U × Aut(A) → U

a · π = π(a) X · π = {x · π | x ∈ X}

slide-65
SLIDE 65 FoPSS, Warsaw, 10-11/09/19

Renaming atoms

23

A canonical renaming action:

· : U × Aut(A) → U

a · π = π(a) X · π = {x · π | x ∈ X}

This is a group action of :

Aut(A) x · (πσ) = (x · π) · σ x · id = x

slide-66
SLIDE 66 FoPSS, Warsaw, 10-11/09/19

Renaming atoms

23

A canonical renaming action:

· : U × Aut(A) → U

a · π = π(a) X · π = {x · π | x ∈ X}

This is a group action of :

Aut(A) x · (πσ) = (x · π) · σ x · id = x

Fact: For every , the function

π · π

is a bijection on .

U

slide-67
SLIDE 67 FoPSS, Warsaw, 10-11/09/19

Finite support

24

S ⊆ A supports if ∀a ∈ S.π(a) = a x · π = x

implies

x

slide-68
SLIDE 68 FoPSS, Warsaw, 10-11/09/19

Finite support

24

S ⊆ A supports if ∀a ∈ S.π(a) = a x · π = x

implies

π ∈ AutS(A)

x

slide-69
SLIDE 69 FoPSS, Warsaw, 10-11/09/19

Finite support

24

S ⊆ A supports if ∀a ∈ S.π(a) = a x · π = x

implies A legal set with atoms, or nominal set:

  • has a finite support,
  • every element of it has a finite support,
  • and so on.

π ∈ AutS(A)

x

slide-70
SLIDE 70 FoPSS, Warsaw, 10-11/09/19

Finite support

24

S ⊆ A supports if ∀a ∈ S.π(a) = a x · π = x

implies A legal set with atoms, or nominal set:

  • has a finite support,
  • every element of it has a finite support,
  • and so on.

A set is equivariant if it has empty support.

π ∈ AutS(A)

x

slide-71
SLIDE 71 FoPSS, Warsaw, 10-11/09/19

Examples

25

{a} a ∈ A

is supported by

slide-72
SLIDE 72 FoPSS, Warsaw, 10-11/09/19

Examples

25

{a} a ∈ A

is supported by

A

is equivariant

slide-73
SLIDE 73 FoPSS, Warsaw, 10-11/09/19

Examples

25

{a} a ∈ A

is supported by

S S ⊆ A

is supported by

A

is equivariant

slide-74
SLIDE 74 FoPSS, Warsaw, 10-11/09/19

Examples

25

{a} a ∈ A

is supported by

S S ⊆ A

is supported by

A \ S S

is supported by

A

is equivariant

slide-75
SLIDE 75 FoPSS, Warsaw, 10-11/09/19

Examples

25

{a} a ∈ A

is supported by

S S ⊆ A

is supported by

A \ S S

is supported by

A

is equivariant Fact: is fin. supp. iff it is finite or co-finite

S ⊆ A

slide-76
SLIDE 76 FoPSS, Warsaw, 10-11/09/19

Examples

25

{a} a ∈ A

is supported by

S S ⊆ A

is supported by

A \ S S

is supported by

A

is equivariant Fact: is fin. supp. iff it is finite or co-finite

S ⊆ A A(2) = {(d, e) | d, e 2 A, d 6= e} is equivariant

slide-77
SLIDE 77 FoPSS, Warsaw, 10-11/09/19

Examples

25

{a} a ∈ A

is supported by

S S ⊆ A

is supported by

A \ S S

is supported by

A

is equivariant Fact: is fin. supp. iff it is finite or co-finite

S ⊆ A A(2) = {(d, e) | d, e 2 A, d 6= e} is equivariant ✓A 2 ◆ = {{d, e} | d, e 2 A, d 6= e} is equivariant

slide-78
SLIDE 78

Basic Properties

[ ]

A

slide-79
SLIDE 79 FoPSS, Warsaw, 10-11/09/19

Closure properties

27

Fact: if and are legal sets then , , , , are legal. X Y X ∪ Y X ∩ Y X + Y X \ Y X × Y

slide-80
SLIDE 80 FoPSS, Warsaw, 10-11/09/19

Closure properties

27

Fact: if and are legal sets then , , , , are legal. X Y X ∪ Y X ∩ Y X + Y X \ Y X × Y Indeed: if

S supports and supports X

T Y then S ∪ T supports , , ... X ∪ Y X ∩ Y

slide-81
SLIDE 81 FoPSS, Warsaw, 10-11/09/19

Closure properties

27

Fact: if and are legal sets then , , , , are legal. X Y X ∪ Y X ∩ Y X + Y X \ Y X × Y Indeed: if

S supports and supports X

T Y then S ∪ T supports , , ... X ∪ Y X ∩ Y (But: does not support !) S ∩ T X ∩ Y

slide-82
SLIDE 82 FoPSS, Warsaw, 10-11/09/19

Closure properties

27

Fact: if and are legal sets then , , , , are legal. X Y X ∪ Y X ∩ Y X + Y X \ Y X × Y Indeed: if

S supports and supports X

T Y then S ∪ T supports , , ... X ∪ Y X ∩ Y (But: does not support !) S ∩ T X ∩ Y Fact: if is legal and is finitely supported then is legal. X Y ⊆ X Y

slide-83
SLIDE 83 FoPSS, Warsaw, 10-11/09/19

Powersets

28

Fact: is not legal (though it is equivariant).

PA

slide-84
SLIDE 84 FoPSS, Warsaw, 10-11/09/19

Powersets

28

Fact: is not legal (though it is equivariant).

PA

Define: is finitely supported

PfsX = {Y ⊆ X | Y }

slide-85
SLIDE 85 FoPSS, Warsaw, 10-11/09/19

Powersets

28

Fact: is not legal (though it is equivariant).

PA

Define: is finitely supported

PfsX = {Y ⊆ X | Y }

Fact: if is legal then is legal. X PfsX

slide-86
SLIDE 86 FoPSS, Warsaw, 10-11/09/19

Powersets

28

Fact: is not legal (though it is equivariant).

PA

Define: is finitely supported

PfsX = {Y ⊆ X | Y }

Fact: if is legal then is legal. X PfsX Key step: if supports then supports .

S X S · π X · π

slide-87
SLIDE 87 FoPSS, Warsaw, 10-11/09/19

Powersets

28

Fact: is not legal (though it is equivariant).

PA

Define: is finitely supported

PfsX = {Y ⊆ X | Y }

Fact: if is legal then is legal. X PfsX Key step: if supports then supports .

S X S · π X · π σ ∈ AutS·π(A) = ⇒ πσπ−1 ∈ AutS(A)

slide-88
SLIDE 88 FoPSS, Warsaw, 10-11/09/19

Powersets

28

Fact: is not legal (though it is equivariant).

PA

Define: is finitely supported

PfsX = {Y ⊆ X | Y }

Fact: if is legal then is legal. X PfsX Key step: if supports then supports .

S X S · π X · π σ ∈ AutS·π(A) = ⇒ πσπ−1 ∈ AutS(A) X · π = (X · πσπ−1) · π = (X · π) · σ

slide-89
SLIDE 89 FoPSS, Warsaw, 10-11/09/19

Actions and supports

29

Fact: if supports and then .

S X π|S = σ|S X · π = X · σ

slide-90
SLIDE 90 FoPSS, Warsaw, 10-11/09/19

Actions and supports

29

Fact: if supports and then .

S X π|S = σ|S X · π = X · σ

Proof: if then

π|S = σ|S πσ−1 ∈ AutS(A)

so X · σ = (X · πσ−1) · σ = X · π

slide-91
SLIDE 91 FoPSS, Warsaw, 10-11/09/19

Actions and supports

29

Fact: if supports and then .

S X π|S = σ|S X · π = X · σ

Proof: if then

π|S = σ|S πσ−1 ∈ AutS(A)

so X · σ = (X · πσ−1) · σ = X · π

  • NB. these proofs are “easy”.
slide-92
SLIDE 92 FoPSS, Warsaw, 10-11/09/19

Equivariant relations

30

A (binary) relation is a set of pairs. Let’s see what equivariance means for such sets: R · π = R

(x, y) ∈ R = ⇒ (x, y) · π ∈ R

iff

slide-93
SLIDE 93 FoPSS, Warsaw, 10-11/09/19

Equivariant relations

30

A (binary) relation is a set of pairs.

R ⊆ X × Y

is equivariant iff

xRy (x · π)R(y · π)

implies for all π

Let’s see what equivariance means for such sets: R · π = R

(x, y) ∈ R = ⇒ (x, y) · π ∈ R

iff

slide-94
SLIDE 94 FoPSS, Warsaw, 10-11/09/19

Equivariant relations

30

A (binary) relation is a set of pairs.

R ⊆ X × Y

is equivariant iff

xRy (x · π)R(y · π)

implies for all π

Let’s see what equivariance means for such sets: R · π = R

(x, y) ∈ R = ⇒ (x, y) · π ∈ R

iff Similarly for -supported relations, but for

S π ∈ AutS(A)

slide-95
SLIDE 95 FoPSS, Warsaw, 10-11/09/19

Equivariant function

31

A function is a binary relation.

R ⊆ X × Y

is equivariant iff

xRy (x · π)R(y · π)

implies for all π

slide-96
SLIDE 96 FoPSS, Warsaw, 10-11/09/19

Equivariant function

31

A function is a binary relation.

R ⊆ X × Y

is equivariant iff

xRy (x · π)R(y · π)

implies for all π

π f : X → Y is equivariant iff f(x · π) = f(x) · π for all

slide-97
SLIDE 97 FoPSS, Warsaw, 10-11/09/19

Equivariant function

31

A function is a binary relation.

R ⊆ X × Y

is equivariant iff

xRy (x · π)R(y · π)

implies for all π

Similarly for -supported functions, but for

S π ∈ AutS(A)

π f : X → Y is equivariant iff f(x · π) = f(x) · π for all

slide-98
SLIDE 98 FoPSS, Warsaw, 10-11/09/19

Examples

32

For fixed :

2, 5 ∈ A

slide-99
SLIDE 99 FoPSS, Warsaw, 10-11/09/19

Examples

32

R = {(5, 2)} ⇥ {(2, d) | d = 5} ⇥ {(d, d)}

2 5 5

2

R

For fixed :

2, 5 ∈ A

slide-100
SLIDE 100 FoPSS, Warsaw, 10-11/09/19

Examples

32

R = {(5, 2)} ⇥ {(2, d) | d = 5} ⇥ {(d, d)}

2 5 5

2

R

2 5 5 2

R∗ For fixed :

2, 5 ∈ A

slide-101
SLIDE 101 FoPSS, Warsaw, 10-11/09/19

Examples

32

R = {(5, 2)} ⇥ {(2, d) | d = 5} ⇥ {(d, d)}

2 5 5

2

R

2 5 5 2

R∗ For fixed :

2, 5 ∈ A

R , are supported by

R∗ {2, 5}

slide-102
SLIDE 102 FoPSS, Warsaw, 10-11/09/19

Examples ctd.

33

Equivariant binary relations on :

A

slide-103
SLIDE 103 FoPSS, Warsaw, 10-11/09/19

Examples ctd.

33

Equivariant binary relations on :

A

  • empty
  • total
  • equality
  • inequality
slide-104
SLIDE 104 FoPSS, Warsaw, 10-11/09/19

Examples ctd.

33

Equivariant binary relations on :

A

  • empty
  • total
  • equality
  • inequality

No equivariant function from to , but

A

2

  • A

{({a, b}, a) | a, b ∈ A}

is an equivariant relation.

slide-105
SLIDE 105 FoPSS, Warsaw, 10-11/09/19

Examples ctd.

33

Equivariant binary relations on :

A

  • empty
  • total
  • equality
  • inequality

No equivariant function from to , but

A

2

  • A

{({a, b}, a) | a, b ∈ A}

is an equivariant relation. Only equiv. functions from to are projections

A2

Only equiv. function from to is the diagonal

A A

A2

slide-106
SLIDE 106 FoPSS, Warsaw, 10-11/09/19

Intuition

34

A relation/function/... is equivariant iff it only “checks” equality of atoms, and does not mention specific atoms.

slide-107
SLIDE 107 FoPSS, Warsaw, 10-11/09/19

Intuition

34

A relation/function/... is equivariant iff it only “checks” equality of atoms, and does not mention specific atoms. A relation/function/... supported by , may additionally mention specific atoms from .

S S

slide-108
SLIDE 108 FoPSS, Warsaw, 10-11/09/19

Equivariant functions preserve supports

35

Fact: if supports then supports .

S

and supports T

f : X → Y S ∪ T f(x) x ∈ X

slide-109
SLIDE 109 FoPSS, Warsaw, 10-11/09/19

Equivariant functions preserve supports

35

Fact: if supports then supports .

S

and supports T

f : X → Y S ∪ T f(x) x ∈ X

Proof: AutS∪T (A) = AutS(A) ∩ AutT (A) so if π ∈ AutS∪T (A) then f(x) · π = f(x · π) = f(x)

slide-110
SLIDE 110 FoPSS, Warsaw, 10-11/09/19

Equivariant functions preserve supports

35

Fact: if supports then supports .

S

and supports T

f : X → Y S ∪ T f(x) x ∈ X

Proof: AutS∪T (A) = AutS(A) ∩ AutT (A) so if π ∈ AutS∪T (A) then f(x) · π = f(x · π) = f(x)

  • NB. another “easy” proof.
slide-111
SLIDE 111 FoPSS, Warsaw, 10-11/09/19

Least supports

36

Fact: for finite and ,

S

T if supports and supports X

S

T X then supports . S ∩ T X

slide-112
SLIDE 112 FoPSS, Warsaw, 10-11/09/19

Least supports

36

Fact: for finite and ,

S

T if supports and supports X

S

T X then supports . S ∩ T X So: every legal has the least support . X supp(X)

slide-113
SLIDE 113 FoPSS, Warsaw, 10-11/09/19

Least supports

36

Fact: for finite and ,

S

T if supports and supports X

S

T X then supports . S ∩ T X

  • NB. This is harder to prove!

One way: induction on . |S4T| So: every legal has the least support . X supp(X)

slide-114
SLIDE 114 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

slide-115
SLIDE 115 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

a

slide-116
SLIDE 116 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

a

Goal: supports . X S \ a

slide-117
SLIDE 117 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

a

Goal: supports . X S \ a Take any . π ∈ AutS\a(A)

slide-118
SLIDE 118 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

a

Goal: supports . X S \ a Take any . π ∈ AutS\a(A) b

π(b)

Pick a fresh : . b

b, π(b) 62 S [ T

slide-119
SLIDE 119 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

a

Goal: supports . X S \ a Take any . π ∈ AutS\a(A) b

π(b)

Pick a fresh : . b

b, π(b) 62 S [ T

Put , . Then:

σ = (a b) θ = (a π(b)) σ, θ = AutT (A)

slide-120
SLIDE 120 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

a

Goal: supports . X S \ a Take any . π ∈ AutS\a(A) b

π(b)

Pick a fresh : . b

b, π(b) 62 S [ T

Put , . Then:

σ = (a b) θ = (a π(b)) σ, θ = AutT (A) σπθ = AutS(A)

slide-121
SLIDE 121 FoPSS, Warsaw, 10-11/09/19

Proof

37

Assume and support .

S

T X

S

T

a

Goal: supports . X S \ a Take any . π ∈ AutS\a(A) b

π(b)

Pick a fresh : . b

b, π(b) 62 S [ T

Put , . Then:

σ = (a b) θ = (a π(b)) σ, θ = AutT (A) σπθ = AutS(A)

so:

X · π = ((X · σ) · σπθ) · θ = X

slide-122
SLIDE 122 FoPSS, Warsaw, 10-11/09/19

Name abstraction

38

For an (equivariant) set , X define a relation on so: ≈ A × X

(a, x) ≈ (b, y) ⇐ ⇒ x · (a c) = y · (b c)

for fresh :

c c 62 {a, b} [ supp(x, y)

slide-123
SLIDE 123 FoPSS, Warsaw, 10-11/09/19

Name abstraction

38

For an (equivariant) set , X define a relation on so: ≈ A × X

(a, x) ≈ (b, y) ⇐ ⇒ x · (a c) = y · (b c)

for fresh :

c c 62 {a, b} [ supp(x, y)

Fact: is an equivariant equivalence relation. ≈

slide-124
SLIDE 124 FoPSS, Warsaw, 10-11/09/19

Name abstraction

38

For an (equivariant) set , X define a relation on so: ≈ A × X

(a, x) ≈ (b, y) ⇐ ⇒ x · (a c) = y · (b c)

for fresh :

c c 62 {a, b} [ supp(x, y)

Fact: is an equivariant equivalence relation. ≈ Define:

[A]X = (A × X)/≈

slide-125
SLIDE 125 FoPSS, Warsaw, 10-11/09/19

Name abstraction

38

For an (equivariant) set , X define a relation on so: ≈ A × X

(a, x) ≈ (b, y) ⇐ ⇒ x · (a c) = y · (b c)

for fresh :

c c 62 {a, b} [ supp(x, y)

Fact: is an equivariant equivalence relation. ≈ Define:

[A]X = (A × X)/≈

Fact: is an equivariant set.

[A]X supp([a, x]≈) = supp(x) \ {a}

slide-126
SLIDE 126 FoPSS, Warsaw, 10-11/09/19

Name abstraction

38

For an (equivariant) set , X define a relation on so: ≈ A × X

(a, x) ≈ (b, y) ⇐ ⇒ x · (a c) = y · (b c)

for fresh :

c c 62 {a, b} [ supp(x, y)

Fact: is an equivariant equivalence relation. ≈ Define:

[A]X = (A × X)/≈

Fact: is an equivariant set.

[A]X supp([a, x]≈) = supp(x) \ {a} α-equivalence

slide-127
SLIDE 127 FoPSS, Warsaw, 10-11/09/19

Exercises

39
  • 1. If supports and supports

f : X → Y

then supports .

S T g : Y → Z

S ∪ T

f; g : X → Z

slide-128
SLIDE 128 FoPSS, Warsaw, 10-11/09/19

Exercises

39
  • 1. If supports and supports

f : X → Y

then supports .

  • 2. For an equivariant set , the transitive closure

X

function is equivariant.

(−)∗ : Pfs(X × X) → Pfs(X × X)

S T g : Y → Z

S ∪ T

f; g : X → Z

slide-129
SLIDE 129 FoPSS, Warsaw, 10-11/09/19

Exercises

39
  • 1. If supports and supports

f : X → Y

then supports .

  • 3. For an equivariant set , the least support

is equivariant. function supp : X → PfinA

X

  • 2. For an equivariant set , the transitive closure

X

function is equivariant.

(−)∗ : Pfs(X × X) → Pfs(X × X)

S T g : Y → Z

S ∪ T

f; g : X → Z

slide-130
SLIDE 130 FoPSS, Warsaw, 10-11/09/19

Exercises

39
  • 1. If supports and supports

f : X → Y

then supports .

  • 3. For an equivariant set , the least support

is equivariant. function supp : X → PfinA

X

  • 2. For an equivariant set , the transitive closure

X

function is equivariant.

(−)∗ : Pfs(X × X) → Pfs(X × X)

  • 4. In a finite equivariant set, every element

is equivariant.

S T g : Y → Z

S ∪ T

f; g : X → Z