Proof Pearl: A New Foundation for Nominal Isabelle
❇r✐❛♥ ❍✉❢ ❢♠❛♥ ❛♥❞ ❈❤r✐st✐❛♥ ❯r❜❛♥
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✴✶✹
Proof Pearl: A New Foundation for Nominal Isabelle r - - PowerPoint PPT Presentation
Proof Pearl: A New Foundation for Nominal Isabelle r rst r r
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✷✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✷✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✸✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✸✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✸✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✹✴✶✹
❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ t②♣❡ ♣❛r❛♠❡t❡r ❬❪ ✐❢ t❤❡♥ ✐❢ ✱ ❤❛✈❡ ❞✐❢ ❢✳ t②♣❡✱ t❤❡♥
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹
❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ 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❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹
❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ 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❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹
❝❛♥ ♦♥❧② ❤❛✈❡ ♦♥❡ 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❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✺✴✶✹
s♦rt✲r❡s♣❡❝t✐♥❣ ✭ s♦rt s♦rt ✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡ ✮
❞❡❢ ✐❢ s♦rt
s♦rt t❤❡♥ ✐❢ t❤❡♥ ❡❧s❡ ✐❢ t❤❡♥ ❡❧s❡ ❡❧s❡
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹
s♦rt✲r❡s♣❡❝t✐♥❣ ✭ ∀a. s♦rt(πa) = s♦rt(a)✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡{a. πa = a}✮
❞❡❢ ✐❢ s♦rt
s♦rt t❤❡♥ ✐❢ t❤❡♥ ❡❧s❡ ✐❢ t❤❡♥ ❡❧s❡ ❡❧s❡
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹
s♦rt✲r❡s♣❡❝t✐♥❣ ✭ ∀a. s♦rt(πa) = s♦rt(a)✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡{a. πa = a}✮
(a b)
❞❡❢
= ✐❢ s♦rt(a) = s♦rt(b)
t❤❡♥ λc.✐❢ a = c t❤❡♥ b ❡❧s❡ ✐❢ b = c t❤❡♥ a ❡❧s❡ c ❡❧s❡?
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹
s♦rt✲r❡s♣❡❝t✐♥❣ ✭ ∀a. s♦rt(πa) = s♦rt(a)✮ ✂♥✐t❡ ❞♦♠❛✐♥ ✭✂♥✐t❡{a. πa = a}✮
(a b)
❞❡❢
= ✐❢ s♦rt(a) = s♦rt(b)
t❤❡♥ λc.✐❢ a = c t❤❡♥ b ❡❧s❡ ✐❢ b = c t❤❡♥ a ❡❧s❡ c ❡❧s❡ ✐❞
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✻✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹
0 · x = x (π1 + π2) · x = π1 · (π2 · x)
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹
0 · x = x (π1 + π2) · x = π1 · (π2 · x)
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✼✴✶✹
❡✳❣✳ ▲❋✲♦❜❥❡❝ts✿
M ::= c | x | λx:A.M | M1 M2
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✽✴✶✹
❞❡❢
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✾✴✶✹
❞❡❢
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✾✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✵✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✶✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✶✴✶✹
s♦rt❴t② ✭❚❱❛r ①✮
❞❡❢
❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭ ✮
❞❡❢
❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② ✱ s♦rt❴t② ❪
❱❛r ①
❞❡❢
❆t♦♠ ✭s♦rt❴t② ✮ ① ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ❂ ❱❛r ② ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ✬ ❂ ❱❛r ① ✬
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹
s♦rt❴t② ✭❚❱❛r ①✮
❞❡❢
=
❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭τ 1 → τ 2✮
❞❡❢
=
❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② τ 1✱ s♦rt❴t② τ 2❪
❱❛r ①
❞❡❢
❆t♦♠ ✭s♦rt❴t② ✮ ① ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ❂ ❱❛r ② ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ✬ ❂ ❱❛r ① ✬
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹
s♦rt❴t② ✭❚❱❛r ①✮
❞❡❢
=
❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭τ 1 → τ 2✮
❞❡❢
=
❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② τ 1✱ s♦rt❴t② τ 2❪
❱❛r ①
❞❡❢
❆t♦♠ ✭s♦rt❴t② ✮ ① ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ❂ ❱❛r ② ✭❱❛r ① ❱❛r ② ✮ ❱❛r ① ✬ ❂ ❱❛r ① ✬
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹
s♦rt❴t② ✭❚❱❛r ①✮
❞❡❢
=
❙♦rt ✬✬❚❱❛r✬✬ ❬❙♦rt ① ❬❪❪ s♦rt❴t② ✭τ 1 → τ 2✮
❞❡❢
=
❙♦rt ✬✬❋✉♥✬✬ ❬s♦rt❴t② τ 1✱ s♦rt❴t② τ 2❪
❱❛r ① τ
❞❡❢
= ⌈ ❆t♦♠ ✭s♦rt❴t② τ ✮ ① ⌉
✭❱❛r ① τ ↔ ❱❛r ② τ ✮ · ❱❛r ① τ ❂ ❱❛r ② τ ✭❱❛r ① τ ↔ ❱❛r ② τ ✮ · ❱❛r ① τ ✬ ❂ ❱❛r ① τ ✬
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✷✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✸✴✶✹
❊❞✐♥❜✉r❣❤✱ ✶✶✳ ❏✉❧② ✷✵✶✵ ➊ ♣✳ ✶✹✴✶✹