Proof Pearl: A New Foundation for Nominal Isabelle r - - PowerPoint PPT Presentation

proof pearl a new foundation for nominal isabelle
SMART_READER_LITE
LIVE PREVIEW

Proof Pearl: A New Foundation for Nominal Isabelle r - - PowerPoint PPT Presentation

Proof Pearl: A New Foundation for Nominal Isabelle r rst r r


slide-1
SLIDE 1

Proof Pearl: A New Foundation for Nominal Isabelle

❇r✐❛♥ ❍✉❢ ❢♠❛♥ ❛♥❞ ❈❤r✐st✐❛♥ ❯r❜❛♥

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✴✶✹

slide-2
SLIDE 2

Nominal Isabelle

✳ ✳ ✳ ✐s ❛ ❞❡✂♥✐t✐♦♥❛❧ ❡①t❡♥s✐♦♥ ♦❢ ■s❛❜❡❧❧❡✴❍❖▲ ✭❧❡t✲♣♦❧②♠♦r♣❤✐s♠ ❛♥❞ t②♣❡ ❝❧❛ss❡s✮ ✳ ✳ ✳ ♣r♦✈✐❞❡s ❛ ❝♦♥✈❡♥✐❡♥t r❡❛s♦♥✐♥❣ ✐♥❢r❛str✉❝t✉r❡ ❢♦r t❡r♠s ✐♥✈♦❧✈✐♥❣ ❜✐♥❞❡rs ✭❡✳❣✳ ❧❛♠❜❞❛ ❝❛❧❝✉❧✉s✱ ✈❛r✐❛❜❧❡ ❝♦♥✈❡♥t✐♦♥✮ ✳ ✳ ✳ ♠❛✐♥❧② ✉s❡❞ t♦ ✂♥❞ ❡rr♦rs ✐♥ ♠② ♦✇♥ ✭♣✉❜❧✐s❤❡❞✮ ♣❛♣❡r ♣r♦♦❢s ❛♥❞ ✐♥ t❤♦s❡ ♦❢ ♦t❤❡rs ❀♦✮

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✷✴✶✹

slide-3
SLIDE 3

Nominal Isabelle

✳ ✳ ✳ ✐s ❛ ❞❡✂♥✐t✐♦♥❛❧ ❡①t❡♥s✐♦♥ ♦❢ ■s❛❜❡❧❧❡✴❍❖▲ ✭❧❡t✲♣♦❧②♠♦r♣❤✐s♠ ❛♥❞ t②♣❡ ❝❧❛ss❡s✮ ✳ ✳ ✳ ♣r♦✈✐❞❡s ❛ ❝♦♥✈❡♥✐❡♥t r❡❛s♦♥✐♥❣ ✐♥❢r❛str✉❝t✉r❡ ❢♦r t❡r♠s ✐♥✈♦❧✈✐♥❣ ❜✐♥❞❡rs ✭❡✳❣✳ ❧❛♠❜❞❛ ❝❛❧❝✉❧✉s✱ ✈❛r✐❛❜❧❡ ❝♦♥✈❡♥t✐♦♥✮ ✳ ✳ ✳ ♠❛✐♥❧② ✉s❡❞ t♦ ✂♥❞ ❡rr♦rs ✐♥ ♠② ♦✇♥ ✭♣✉❜❧✐s❤❡❞✮ ♣❛♣❡r ♣r♦♦❢s ❛♥❞ ✐♥ t❤♦s❡ ♦❢ ♦t❤❡rs ❀♦✮

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✷✴✶✹

slide-4
SLIDE 4

Nominal Theory

✳ ✳ ✳ ❜② P✐tts❀ ❛t ✐ts ❝♦r❡ ❛r❡✿ s♦rt❡❞ ❛t♦♠s ❛♥❞ s♦rt✲r❡s♣❡❝t✐♥❣ ♣❡r♠✉t❛t✐♦♥s

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✸✴✶✹

✐♥✈❴♦❢❴

slide-5
SLIDE 5

Nominal Theory

✳ ✳ ✳ ❜② P✐tts❀ ❛t ✐ts ❝♦r❡ ❛r❡✿ s♦rt❡❞ ❛t♦♠s ❛♥❞ s♦rt✲r❡s♣❡❝t✐♥❣ ♣❡r♠✉t❛t✐♦♥s

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✸✴✶✹

✐♥✈❴♦❢❴

π · x

slide-6
SLIDE 6

Nominal Theory

✳ ✳ ✳ ❜② P✐tts❀ ❛t ✐ts ❝♦r❡ ❛r❡✿ s♦rt❡❞ ❛t♦♠s ❛♥❞ s♦rt✲r❡s♣❡❝t✐♥❣ ♣❡r♠✉t❛t✐♦♥s

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✸✴✶✹

✐♥✈❴♦❢❴π · (π · x) = x

slide-7
SLIDE 7

The “Old Way”

s♦rt❡❞ ❛t♦♠s

→ s❡♣❛r❛t❡ t②♣❡s ✭➇❝♦♣✐❡s➈ ♦❢ ♥❛t✮

s♦rt✲r❡s♣❡❝t✐♥❣ ♣❡r♠✉t❛t✐♦♥s

→ ❧✐sts ♦❢ ♣❛✐rs ♦❢ ❛t♦♠s ✭❧✐st s✇❛♣♣✐♥❣s✮

❬❪ ✐❢ ✐❢ ♦t❤❡r✇✐s❡

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹

slide-8
SLIDE 8

The “Old Way”

s♦rt❡❞ ❛t♦♠s

→ s❡♣❛r❛t❡ t②♣❡s ✭➇❝♦♣✐❡s➈ ♦❢ ♥❛t✮

s♦rt✲r❡s♣❡❝t✐♥❣ ♣❡r♠✉t❛t✐♦♥s

→ ❧✐sts ♦❢ ♣❛✐rs ♦❢ ❛t♦♠s ✭❧✐st s✇❛♣♣✐♥❣s✮

❬❪· c = c

(a b)::π · c =      b

✐❢ π·c = a

a

✐❢ π·c = b

π·c

♦t❤❡r✇✐s❡

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹

slide-9
SLIDE 9

The “Old Way”

s♦rt❡❞ ❛t♦♠s

→ s❡♣❛r❛t❡ t②♣❡s ✭➇❝♦♣✐❡s➈ ♦❢ ♥❛t✮

s♦rt✲r❡s♣❡❝t✐♥❣ ♣❡r♠✉t❛t✐♦♥s

→ ❧✐sts ♦❢ ♣❛✐rs ♦❢ ❛t♦♠s ✭❧✐st s✇❛♣♣✐♥❣s✮

❬❪· c = c

(a b)::π · c =      b

✐❢ π·c = a

a

✐❢ π·c = b

π·c

♦t❤❡r✇✐s❡

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹

❚❤❡ ❜✐❣ ❜❡♥❡✂t✿ t❤❡ t②♣❡ s②st❡♠ t❛❦❡s ❝❛r❡ ♦❢ t❤❡ s♦rt✲r❡s♣❡❝t✐♥❣ r❡q✉✐r❡♠❡♥t✳

slide-10
SLIDE 10

The “Old Way”

s♦rt❡❞ ❛t♦♠s

→ s❡♣❛r❛t❡ t②♣❡s ✭➇❝♦♣✐❡s➈ ♦❢ ♥❛t✮

s♦rt✲r❡s♣❡❝t✐♥❣ ♣❡r♠✉t❛t✐♦♥s

→ ❧✐sts ♦❢ ♣❛✐rs ♦❢ ❛t♦♠s ✭❧✐st s✇❛♣♣✐♥❣s✮

❬❪· c = c

(a b)::π · c =      b

✐❢ π·c = a

a

✐❢ π·c = b

π·c

♦t❤❡r✇✐s❡

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹

❆ s♠❛❧❧ ❜❡♥❡✂t✿ ♣❡r♠✉t❛t✐♦♥ ❝♦♠♣♦s✐t✐♦♥ ✐s ❧✐st ❛♣♣❡♥❞ ❛♥❞ ♣❡r♠✉t❛t✐♦♥ ✐♥✈❡rs✐♦♥ ✐s ❧✐st r❡✈❡rs❛❧✳

slide-11
SLIDE 11

Problems

❴ · ❴ ✿✿ α ♣❡r♠ ⇒ β ⇒ β s✉♣♣ ❴ ✿✿ β ⇒ α s❡t ✂♥✐t❡(s✉♣♣ x) α1 s❡t ✳ ✳ ✳ ✂♥✐t❡(s✉♣♣ x) αn s❡t

∀πα1 . . . παn . P

t②♣❡✲❝❧❛ss❡s

❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ t②♣❡ ♣❛r❛♠❡t❡r ❬❪ ✐❢ t❤❡♥ ✐❢ ✱ ❤❛✈❡ ❞✐❢ ❢✳ t②♣❡✱ t❤❡♥

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹

slide-12
SLIDE 12

Problems

❴ · ❴ ✿✿ α ♣❡r♠ ⇒ β ⇒ β s✉♣♣ ❴ ✿✿ β ⇒ α s❡t ✂♥✐t❡(s✉♣♣ x) α1 s❡t ✳ ✳ ✳ ✂♥✐t❡(s✉♣♣ x) αn s❡t

∀πα1 . . . παn . P

t②♣❡✲❝❧❛ss❡s

❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ t②♣❡ ♣❛r❛♠❡t❡r ❬❪· x = x

(π1@π2)· x = π1· (π2· x)

✐❢ π1 ∼ π2 t❤❡♥ π1· x = π2· x ✐❢ π1✱ π2 ❤❛✈❡ ❞✐❢ ❢✳ t②♣❡✱ t❤❡♥ π1·(π2·x) = π2·(π1·x)

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹

slide-13
SLIDE 13

Problems

❴ · ❴ ✿✿ α ♣❡r♠ ⇒ β ⇒ β s✉♣♣ ❴ ✿✿ β ⇒ α s❡t ✂♥✐t❡(s✉♣♣ x) α1 s❡t ✳ ✳ ✳ ✂♥✐t❡(s✉♣♣ x) αn s❡t

∀πα1 . . . παn . P

t②♣❡✲❝❧❛ss❡s

❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ t②♣❡ ♣❛r❛♠❡t❡r ❬❪· x = x

(π1@π2)· x = π1· (π2· x)

✐❢ π1 ∼ π2 t❤❡♥ π1· x = π2· x ✐❢ π1✱ π2 ❤❛✈❡ ❞✐❢ ❢✳ t②♣❡✱ t❤❡♥ π1·(π2·x) = π2·(π1·x)

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹

slide-14
SLIDE 14

Problems

❴ · ❴ ✿✿ α ♣❡r♠ ⇒ β ⇒ β s✉♣♣ ❴ ✿✿ β ⇒ α s❡t ✂♥✐t❡(s✉♣♣ x) α1 s❡t ✳ ✳ ✳ ✂♥✐t❡(s✉♣♣ x) αn s❡t

∀πα1 . . . παn . P

t②♣❡✲❝❧❛ss❡s

❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ t②♣❡ ♣❛r❛♠❡t❡r ❬❪· x = x

(π1@π2)· x = π1· (π2· x)

✐❢ π1 ∼ π2 t❤❡♥ π1· x = π2· x ✐❢ π1✱ π2 ❤❛✈❡ ❞✐❢ ❢✳ t②♣❡✱ t❤❡♥ π1·(π2·x) = π2·(π1·x)

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹

❧♦ts ♦❢ ▼▲✲❝♦❞❡ ♥♦t ♣r❡tt② ♥♦t ❛ ♣r♦♦❢ ♣❡❛r❧ ✿♦✭

slide-15
SLIDE 15

A Better Way

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t ♣❡r♠✉t❛t✐♦♥s ❛r❡ ✭r❡str✐❝t❡❞✮ ❜✐❥❡❝t✐✈❡ ❢✉♥❝t✐♦♥s ❢r♦♠ ❛t♦♠ ❛t♦♠

s♦rt✲r❡s♣❡❝t✐♥❣ ✭ s♦rt s♦rt ✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡ ✮

❲❤❛t ❛❜♦✉t s✇❛♣♣✐♥❣s❄

❞❡❢ ✐❢ s♦rt

s♦rt t❤❡♥ ✐❢ t❤❡♥ ❡❧s❡ ✐❢ t❤❡♥ ❡❧s❡ ❡❧s❡

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹

slide-16
SLIDE 16

A Better Way

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t ♣❡r♠✉t❛t✐♦♥s ❛r❡ ✭r❡str✐❝t❡❞✮ ❜✐❥❡❝t✐✈❡ ❢✉♥❝t✐♦♥s ❢r♦♠ ❛t♦♠ ⇒ ❛t♦♠

s♦rt✲r❡s♣❡❝t✐♥❣ ✭ ∀a. s♦rt(πa) = s♦rt(a)✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡{a. πa = a}✮

❲❤❛t ❛❜♦✉t s✇❛♣♣✐♥❣s❄

❞❡❢ ✐❢ s♦rt

s♦rt t❤❡♥ ✐❢ t❤❡♥ ❡❧s❡ ✐❢ t❤❡♥ ❡❧s❡ ❡❧s❡

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹

❴ · ❴ ✿✿ ♣❡r♠ ⇒ β ⇒ β

slide-17
SLIDE 17

A Better Way

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t ♣❡r♠✉t❛t✐♦♥s ❛r❡ ✭r❡str✐❝t❡❞✮ ❜✐❥❡❝t✐✈❡ ❢✉♥❝t✐♦♥s ❢r♦♠ ❛t♦♠ ⇒ ❛t♦♠

s♦rt✲r❡s♣❡❝t✐♥❣ ✭ ∀a. s♦rt(πa) = s♦rt(a)✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡{a. πa = a}✮

❲❤❛t ❛❜♦✉t s✇❛♣♣✐♥❣s❄

(a b)

❞❡❢

= ✐❢ s♦rt(a) = s♦rt(b)

t❤❡♥ λc.✐❢ a = c t❤❡♥ b ❡❧s❡ ✐❢ b = c t❤❡♥ a ❡❧s❡ c ❡❧s❡?

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹

slide-18
SLIDE 18

A Better Way

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t ♣❡r♠✉t❛t✐♦♥s ❛r❡ ✭r❡str✐❝t❡❞✮ ❜✐❥❡❝t✐✈❡ ❢✉♥❝t✐♦♥s ❢r♦♠ ❛t♦♠ ⇒ ❛t♦♠

s♦rt✲r❡s♣❡❝t✐♥❣ ✭ ∀a. s♦rt(πa) = s♦rt(a)✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡{a. πa = a}✮

❲❤❛t ❛❜♦✉t s✇❛♣♣✐♥❣s❄

(a b)

❞❡❢

= ✐❢ s♦rt(a) = s♦rt(b)

t❤❡♥ λc.✐❢ a = c t❤❡♥ b ❡❧s❡ ✐❢ b = c t❤❡♥ a ❡❧s❡ c ❡❧s❡ ✐❞

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹

slide-19
SLIDE 19

A Smoother Nominal Theory

❋r♦♠ t❤❡r❡ ✐t ✐s ❡ss❡♥t✐❛❧❧② ♣❧❛✐♥ s❛✐❧✐♥❣✿ ♣❡r♠✉t❛t✐♦♥s ❛r❡ ❛♥ ✐♥st❛♥❝❡ ♦❢ ■s❛❜❡❧❧❡✬s ❣r♦✉♣❴❛❞❞ ✭ ✱ ✱ ✮ ❴ ❴ ♣❡r♠ ♦♥❧② ♦♥❡ t②♣❡ ❝❧❛ss ♥❡❡❞❡❞✱ ✂♥✐t❡ s✉♣♣ ✱

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹

slide-20
SLIDE 20

A Smoother Nominal Theory

❋r♦♠ t❤❡r❡ ✐t ✐s ❡ss❡♥t✐❛❧❧② ♣❧❛✐♥ s❛✐❧✐♥❣✿

(a b) = (b a)

♣❡r♠✉t❛t✐♦♥s ❛r❡ ❛♥ ✐♥st❛♥❝❡ ♦❢ ■s❛❜❡❧❧❡✬s ❣r♦✉♣❴❛❞❞ ✭ ✱ ✱ ✮ ❴ ❴ ♣❡r♠ ♦♥❧② ♦♥❡ t②♣❡ ❝❧❛ss ♥❡❡❞❡❞✱ ✂♥✐t❡ s✉♣♣ ✱

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹

slide-21
SLIDE 21

A Smoother Nominal Theory

❋r♦♠ t❤❡r❡ ✐t ✐s ❡ss❡♥t✐❛❧❧② ♣❧❛✐♥ s❛✐❧✐♥❣✿

(a b) = (b a)

♣❡r♠✉t❛t✐♦♥s ❛r❡ ❛♥ ✐♥st❛♥❝❡ ♦❢ ■s❛❜❡❧❧❡✬s ❣r♦✉♣❴❛❞❞ ✭0✱ π1 + π2✱ −π✮ ❴ ❴ ♣❡r♠ ♦♥❧② ♦♥❡ t②♣❡ ❝❧❛ss ♥❡❡❞❡❞✱ ✂♥✐t❡ s✉♣♣ ✱

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹

slide-22
SLIDE 22

A Smoother Nominal Theory

❋r♦♠ t❤❡r❡ ✐t ✐s ❡ss❡♥t✐❛❧❧② ♣❧❛✐♥ s❛✐❧✐♥❣✿

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

♣❡r♠✉t❛t✐♦♥s ❛r❡ ❛♥ ✐♥st❛♥❝❡ ♦❢ ■s❛❜❡❧❧❡✬s ❣r♦✉♣❴❛❞❞ ✭0✱ π1 + π2✱ −π✮ ❴ ❴ ♣❡r♠ ♦♥❧② ♦♥❡ t②♣❡ ❝❧❛ss ♥❡❡❞❡❞✱ ✂♥✐t❡ s✉♣♣ ✱

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹

slide-23
SLIDE 23

A Smoother Nominal Theory

❋r♦♠ t❤❡r❡ ✐t ✐s ❡ss❡♥t✐❛❧❧② ♣❧❛✐♥ s❛✐❧✐♥❣✿

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

♣❡r♠✉t❛t✐♦♥s ❛r❡ ❛♥ ✐♥st❛♥❝❡ ♦❢ ■s❛❜❡❧❧❡✬s ❣r♦✉♣❴❛❞❞ ✭0✱ π1 + π2✱ −π✮ ❴ ❴ ♣❡r♠ ♦♥❧② ♦♥❡ t②♣❡ ❝❧❛ss ♥❡❡❞❡❞✱ ✂♥✐t❡ s✉♣♣ ✱

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹

❚❤✐s ✐s s❧✐❣❤t❧② ♦❞❞✱ s✐♥❝❡ ✐♥ ❣❡♥❡r❛❧✿

π1 + π2 = π2 + π1

slide-24
SLIDE 24

A Smoother Nominal Theory

❋r♦♠ t❤❡r❡ ✐t ✐s ❡ss❡♥t✐❛❧❧② ♣❧❛✐♥ s❛✐❧✐♥❣✿

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

♣❡r♠✉t❛t✐♦♥s ❛r❡ ❛♥ ✐♥st❛♥❝❡ ♦❢ ■s❛❜❡❧❧❡✬s ❣r♦✉♣❴❛❞❞ ✭0✱ π1 + π2✱ −π✮ ❴ · ❴ :: ♣❡r♠ ⇒ α ⇒ α

0 · x = x (π1 + π2) · x = π1 · (π2 · x)

♦♥❧② ♦♥❡ t②♣❡ ❝❧❛ss ♥❡❡❞❡❞✱ ✂♥✐t❡ s✉♣♣ ✱

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹

slide-25
SLIDE 25

A Smoother Nominal Theory

❋r♦♠ t❤❡r❡ ✐t ✐s ❡ss❡♥t✐❛❧❧② ♣❧❛✐♥ s❛✐❧✐♥❣✿

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

♣❡r♠✉t❛t✐♦♥s ❛r❡ ❛♥ ✐♥st❛♥❝❡ ♦❢ ■s❛❜❡❧❧❡✬s ❣r♦✉♣❴❛❞❞ ✭0✱ π1 + π2✱ −π✮ ❴ · ❴ :: ♣❡r♠ ⇒ α ⇒ α

0 · x = x (π1 + π2) · x = π1 · (π2 · x)

→ ♦♥❧② ♦♥❡ t②♣❡ ❝❧❛ss ♥❡❡❞❡❞✱ ✂♥✐t❡(s✉♣♣ x)✱ ∀π.P

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹

slide-26
SLIDE 26

One Snatch

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t ❨♦✉ ❧✐❦❡ t♦ ❣❡t t❤❡ ❛❞✈❛♥t❛❣❡s ♦❢ t❤❡ ♦❧❞ ✇❛② ❜❛❝❦✿ ②♦✉ ❝❛♥♥♦t ♠✐① ❛t♦♠s ♦❢ ❞✐❢ ❢❡r❡♥t s♦rt✿

❡✳❣✳ ▲❋✲♦❜❥❡❝ts✿

M ::= c | x | λx:A.M | M1 M2

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✽✴✶✹

slide-27
SLIDE 27

Our Solution

❝♦♥❝r❡t❡ ❛t♦♠s✿ t②♣❡❞❡❢ ♥❛♠❡ ❂ ✧④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ ❂ ✬✬♥❛♠❡✬✬⑥✧ t②♣❡❞❡❢ ✐❞❡♥t ❂ ✧④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ ❂ ✬✬✐❞❡♥t✬✬⑥✧ t❤❡② ❛r❡ ❛ ➇s✉❜t②♣❡➈ ♦❢ t❤❡ ❣❡♥❡r✐❝ ❛t♦♠ t②♣❡ t❤❡r❡ ✐s ❛♥ ♦✈❡r❧♦❛❞❡❞ ❢✉♥❝t✐♦♥ ❛t♦♠✱ ✇❤✐❝❤ ✐♥❥❡❝ts ❝♦♥❝r❡t❡ ❛t♦♠s ✐♥t♦ ❣❡♥❡r✐❝ ♦♥❡s ❛t♦♠(a) # x

(a ↔ b)

❞❡❢

= (❛t♦♠(a) ❛t♦♠(b))

❖♥❡ ✇♦✉❧❞ ❧✐❦❡ t♦ ❤❛✈❡ ✱ ✱ ✳ ✳ ✳

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✾✴✶✹

slide-28
SLIDE 28

Our Solution

❝♦♥❝r❡t❡ ❛t♦♠s✿ t②♣❡❞❡❢ ♥❛♠❡ ❂ ✧④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ ❂ ✬✬♥❛♠❡✬✬⑥✧ t②♣❡❞❡❢ ✐❞❡♥t ❂ ✧④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ ❂ ✬✬✐❞❡♥t✬✬⑥✧ t❤❡② ❛r❡ ❛ ➇s✉❜t②♣❡➈ ♦❢ t❤❡ ❣❡♥❡r✐❝ ❛t♦♠ t②♣❡ t❤❡r❡ ✐s ❛♥ ♦✈❡r❧♦❛❞❡❞ ❢✉♥❝t✐♦♥ ❛t♦♠✱ ✇❤✐❝❤ ✐♥❥❡❝ts ❝♦♥❝r❡t❡ ❛t♦♠s ✐♥t♦ ❣❡♥❡r✐❝ ♦♥❡s ❛t♦♠(a) # x

(a ↔ b)

❞❡❢

= (❛t♦♠(a) ❛t♦♠(b))

❖♥❡ ✇♦✉❧❞ ❧✐❦❡ t♦ ❤❛✈❡ a # x✱ (a b)✱ ✳ ✳ ✳

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✾✴✶✹

slide-29
SLIDE 29

Sorts Reloaded

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t Pr♦❜❧❡♠✿ ❍❖▲✲❜✐♥❞❡rs ♦r ❈❤✉r❝❤✲st②❧❡ ❧❛♠❜❞❛✲t❡r♠s ❞❛t❛t②♣❡ t② ❂ ❚❱❛r str✐♥❣ t② t② ❞❛t❛t②♣❡ ✈❛r ❂ ❱❛r ♥❛♠❡ t②

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹

slide-30
SLIDE 30

Sorts Reloaded

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t Pr♦❜❧❡♠✿ ❍❖▲✲❜✐♥❞❡rs ♦r ❈❤✉r❝❤✲st②❧❡ ❧❛♠❜❞❛✲t❡r♠s

λxα. xα xβ

❞❛t❛t②♣❡ t② ❂ ❚❱❛r str✐♥❣ t② t② ❞❛t❛t②♣❡ ✈❛r ❂ ❱❛r ♥❛♠❡ t②

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹

slide-31
SLIDE 31

Sorts Reloaded

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t Pr♦❜❧❡♠✿ ❍❖▲✲❜✐♥❞❡rs ♦r ❈❤✉r❝❤✲st②❧❡ ❧❛♠❜❞❛✲t❡r♠s

λxα. xα xβ

❞❛t❛t②♣❡ t② ❂ ❚❱❛r str✐♥❣ | t② → t② ❞❛t❛t②♣❡ ✈❛r ❂ ❱❛r ♥❛♠❡ t②

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹

slide-32
SLIDE 32

Sorts Reloaded

❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t Pr♦❜❧❡♠✿ ❍❖▲✲❜✐♥❞❡rs ♦r ❈❤✉r❝❤✲st②❧❡ ❧❛♠❜❞❛✲t❡r♠s

λxα. xα xβ

❞❛t❛t②♣❡ t② ❂ ❚❱❛r str✐♥❣ | t② → t② ❞❛t❛t②♣❡ ✈❛r ❂ ❱❛r ♥❛♠❡ t②

(x ↔ y)· (xα, xβ) = (yα, yβ)

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹

slide-33
SLIDE 33

Non-Working Solution

■♥st❡❛❞ ♦❢ ❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t ❤❛✈❡ ❞❛t❛t②♣❡ ✬❛ ❛t♦♠ ❂ ❆t♦♠ ✬❛ ♥❛t ❇✉t t❤❡♥ ❴ ❴ ✿✿ ♣❡r♠

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✶✴✶✹

slide-34
SLIDE 34

Non-Working Solution

■♥st❡❛❞ ♦❢ ❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ str✐♥❣ ♥❛t ❤❛✈❡ ❞❛t❛t②♣❡ ✬❛ ❛t♦♠ ❂ ❆t♦♠ ✬❛ ♥❛t ❇✉t t❤❡♥ ❴ · ❴ ✿✿ α ♣❡r♠ ⇒ β ⇒ β

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✶✴✶✹

slide-35
SLIDE 35

A Working Solution

❞❛t❛t②♣❡ s♦rt ❂ ❙♦rt str✐♥❣ ✧s♦rt ❧✐st✧ ❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ s♦rt ♥❛t

s♦rt❴t② ✭❚❱❛r ①✮

❞❡❢

❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭ ✮

❞❡❢

❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② ✱ s♦rt❴t② ❪

t②♣❡❞❡❢ ✈❛r ❂ ④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ r❛♥❣❡ s♦rt❴t②⑥

❱❛r ①

❞❡❢

❆t♦♠ ✭s♦rt❴t② ✮ ① ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ❂ ❱❛r ② ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ✬ ❂ ❱❛r ① ✬

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹

slide-36
SLIDE 36

A Working Solution

❞❛t❛t②♣❡ s♦rt ❂ ❙♦rt str✐♥❣ ✧s♦rt ❧✐st✧ ❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ s♦rt ♥❛t

s♦rt❴t② ✭❚❱❛r ①✮

❞❡❢

=

❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭τ 1 → τ 2✮

❞❡❢

=

❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② τ 1✱ s♦rt❴t② τ 2❪

t②♣❡❞❡❢ ✈❛r ❂ ④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ r❛♥❣❡ s♦rt❴t②⑥

❱❛r ①

❞❡❢

❆t♦♠ ✭s♦rt❴t② ✮ ① ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ❂ ❱❛r ② ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ✬ ❂ ❱❛r ① ✬

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹

slide-37
SLIDE 37

A Working Solution

❞❛t❛t②♣❡ s♦rt ❂ ❙♦rt str✐♥❣ ✧s♦rt ❧✐st✧ ❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ s♦rt ♥❛t

s♦rt❴t② ✭❚❱❛r ①✮

❞❡❢

=

❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭τ 1 → τ 2✮

❞❡❢

=

❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② τ 1✱ s♦rt❴t② τ 2❪

t②♣❡❞❡❢ ✈❛r ❂ ④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ ∈ r❛♥❣❡ s♦rt❴t②⑥

❱❛r ①

❞❡❢

❆t♦♠ ✭s♦rt❴t② ✮ ① ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ❂ ❱❛r ② ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ✬ ❂ ❱❛r ① ✬

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹

slide-38
SLIDE 38

A Working Solution

❞❛t❛t②♣❡ s♦rt ❂ ❙♦rt str✐♥❣ ✧s♦rt ❧✐st✧ ❞❛t❛t②♣❡ ❛t♦♠ ❂ ❆t♦♠ s♦rt ♥❛t

s♦rt❴t② ✭❚❱❛r ①✮

❞❡❢

=

❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭τ 1 → τ 2✮

❞❡❢

=

❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② τ 1✱ s♦rt❴t② τ 2❪

t②♣❡❞❡❢ ✈❛r ❂ ④❛ ✿✿ ❛t♦♠✳ s♦rt ❛ ∈ r❛♥❣❡ s♦rt❴t②⑥

❱❛r ① τ

❞❡❢

= ⌈ ❆t♦♠ ✭s♦rt❴t② τ ✮ ① ⌉

✭❱❛r ① τ ↔ ❱❛r ② τ ✮ · ❱❛r ① τ ❂ ❱❛r ② τ ✭❱❛r ① τ ↔ ❱❛r ② τ ✮ · ❱❛r ① τ ✬ ❂ ❱❛r ① τ ✬

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹

slide-39
SLIDE 39

Conclusion

t❤❡ ❢♦r♠❛❧✐s❡❞ ✈❡rs✐♦♥ ♦❢ t❤❡ ♥♦♠✐♥❛❧ t❤❡♦r② ✐s ♥♦✇ ♠✉❝❤ ♥✐❝❡r t♦ ✇♦r❦ ✇✐t❤ ✭s♦rts ❛r❡ ♦❝❝❛s✐♦♥❛❧❧② ❡①♣❧✐❝✐t✱ ∀π.P ✮ ♣❡r♠✉t❛t✐♦♥s✿ ➇❜❡ ❛s ❛❜str❛❝t ❛s ②♦✉ ❝❛♥➈ ✭❣r♦✉♣❴❛❞❞ ✐s ❛ s❧✐❣❤t ♦❞❞✐t②✮ t❤❡ ❝r✉❝✐❛❧ ✐♥s✐❣❤t✿ ❛❧❧♦✇ s♦rt✲❞✐sr❡s♣❡❝t✐♥❣ s✇❛♣♣✐♥❣s ✳ ✳ ✳ ❥✉st ❞❡✂♥❡ t❤❡♠ ❛s t❤❡ ✐❞❡♥t✐t② ✭❛ r❡❢❡r❡❡ ❝❛❧❧❡❞ t❤✐s ❛ ➇❤❛❝❦➈✮ t❤❡r❡ ✇✐❧❧ ❜❡ ❛ ❤❛♥❞s✲♦♥ t✉t♦r✐❛❧ ❛❜♦✉t ◆♦♠✐♥❛❧ ■s❛❜❡❧❧❡ ❛t P❖P▲✬✶✶ ✐♥ ❆✉st✐♥ ❚❡①❛s

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹

slide-40
SLIDE 40

Conclusion

t❤❡ ❢♦r♠❛❧✐s❡❞ ✈❡rs✐♦♥ ♦❢ t❤❡ ♥♦♠✐♥❛❧ t❤❡♦r② ✐s ♥♦✇ ♠✉❝❤ ♥✐❝❡r t♦ ✇♦r❦ ✇✐t❤ ✭s♦rts ❛r❡ ♦❝❝❛s✐♦♥❛❧❧② ❡①♣❧✐❝✐t✱ ∀π.P ✮ ♣❡r♠✉t❛t✐♦♥s✿ ➇❜❡ ❛s ❛❜str❛❝t ❛s ②♦✉ ❝❛♥➈ ✭❣r♦✉♣❴❛❞❞ ✐s ❛ s❧✐❣❤t ♦❞❞✐t②✮ t❤❡ ❝r✉❝✐❛❧ ✐♥s✐❣❤t✿ ❛❧❧♦✇ s♦rt✲❞✐sr❡s♣❡❝t✐♥❣ s✇❛♣♣✐♥❣s ✳ ✳ ✳ ❥✉st ❞❡✂♥❡ t❤❡♠ ❛s t❤❡ ✐❞❡♥t✐t② ✭❛ r❡❢❡r❡❡ ❝❛❧❧❡❞ t❤✐s ❛ ➇❤❛❝❦➈✮ t❤❡r❡ ✇✐❧❧ ❜❡ ❛ ❤❛♥❞s✲♦♥ t✉t♦r✐❛❧ ❛❜♦✉t ◆♦♠✐♥❛❧ ■s❛❜❡❧❧❡ ❛t P❖P▲✬✶✶ ✐♥ ❆✉st✐♥ ❚❡①❛s

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹

slide-41
SLIDE 41

Conclusion

t❤❡ ❢♦r♠❛❧✐s❡❞ ✈❡rs✐♦♥ ♦❢ t❤❡ ♥♦♠✐♥❛❧ t❤❡♦r② ✐s ♥♦✇ ♠✉❝❤ ♥✐❝❡r t♦ ✇♦r❦ ✇✐t❤ ✭s♦rts ❛r❡ ♦❝❝❛s✐♦♥❛❧❧② ❡①♣❧✐❝✐t✱ ∀π.P ✮ ♣❡r♠✉t❛t✐♦♥s✿ ➇❜❡ ❛s ❛❜str❛❝t ❛s ②♦✉ ❝❛♥➈ ✭❣r♦✉♣❴❛❞❞ ✐s ❛ s❧✐❣❤t ♦❞❞✐t②✮ t❤❡ ❝r✉❝✐❛❧ ✐♥s✐❣❤t✿ ❛❧❧♦✇ s♦rt✲❞✐sr❡s♣❡❝t✐♥❣ s✇❛♣♣✐♥❣s ✳ ✳ ✳ ❥✉st ❞❡✂♥❡ t❤❡♠ ❛s t❤❡ ✐❞❡♥t✐t② ✭❛ r❡❢❡r❡❡ ❝❛❧❧❡❞ t❤✐s ❛ ➇❤❛❝❦➈✮ t❤❡r❡ ✇✐❧❧ ❜❡ ❛ ❤❛♥❞s✲♦♥ t✉t♦r✐❛❧ ❛❜♦✉t ◆♦♠✐♥❛❧ ■s❛❜❡❧❧❡ ❛t P❖P▲✬✶✶ ✐♥ ❆✉st✐♥ ❚❡①❛s

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹

slide-42
SLIDE 42

Conclusion

t❤❡ ❢♦r♠❛❧✐s❡❞ ✈❡rs✐♦♥ ♦❢ t❤❡ ♥♦♠✐♥❛❧ t❤❡♦r② ✐s ♥♦✇ ♠✉❝❤ ♥✐❝❡r t♦ ✇♦r❦ ✇✐t❤ ✭s♦rts ❛r❡ ♦❝❝❛s✐♦♥❛❧❧② ❡①♣❧✐❝✐t✱ ∀π.P ✮ ♣❡r♠✉t❛t✐♦♥s✿ ➇❜❡ ❛s ❛❜str❛❝t ❛s ②♦✉ ❝❛♥➈ ✭❣r♦✉♣❴❛❞❞ ✐s ❛ s❧✐❣❤t ♦❞❞✐t②✮ t❤❡ ❝r✉❝✐❛❧ ✐♥s✐❣❤t✿ ❛❧❧♦✇ s♦rt✲❞✐sr❡s♣❡❝t✐♥❣ s✇❛♣♣✐♥❣s ✳ ✳ ✳ ❥✉st ❞❡✂♥❡ t❤❡♠ ❛s t❤❡ ✐❞❡♥t✐t② ✭❛ r❡❢❡r❡❡ ❝❛❧❧❡❞ t❤✐s ❛ ➇❤❛❝❦➈✮ t❤❡r❡ ✇✐❧❧ ❜❡ ❛ ❤❛♥❞s✲♦♥ t✉t♦r✐❛❧ ❛❜♦✉t ◆♦♠✐♥❛❧ ■s❛❜❡❧❧❡ ❛t P❖P▲✬✶✶ ✐♥ ❆✉st✐♥ ❚❡①❛s

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹

slide-43
SLIDE 43

Thank you very much

Questions?

❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✹✴✶✹