An Object-Oriented Dynamic Logic with Updates
André Platzer University of Karlsruhe
André Platzer. ODL Updates – p.1/29
An Object-Oriented Dynamic Logic with Updates Andr Platzer - - PowerPoint PPT Presentation
An Object-Oriented Dynamic Logic with Updates Andr Platzer University of Karlsruhe Andr Platzer. ODL Updates p.1/29 Motivation J AVA C ARD DL Andr Platzer. ODL Updates p.2/29 Motivation J AVA C ARD
André Platzer. ODL Updates – p.1/29
✬ ✫ ✩ ✪
André Platzer. ODL Updates – p.2/29
✬ ✫ ✩ ✪
✬ ✫ ✩ ✪
André Platzer. ODL Updates – p.2/29
✬ ✫ ✩ ✪
✬ ✫ ✩ ✪
✬ ✫ ✩ ✪
André Platzer. ODL Updates – p.2/29
André Platzer. ODL Updates – p.3/29
André Platzer. ODL Updates – p.4/29
André Platzer. ODL Updates – p.5/29
André Platzer. ODL Updates – p.6/29
André Platzer. ODL Updates – p.7/29
André Platzer. ODL Updates – p.7/29
André Platzer. ODL Updates – p.7/29
André Platzer. ODL Updates – p.8/29
André Platzer. ODL Updates – p.9/29
x: =new C()
=objC (nextC), nextC: =nextC+1
André Platzer. ODL Updates – p.9/29
André Platzer. ODL Updates – p.10/29
André Platzer. ODL Updates – p.10/29
André Platzer. ODL Updates – p.11/29
1=2
André Platzer. ODL Updates – p.11/29
André Platzer. ODL Updates – p.12/29
André Platzer. ODL Updates – p.13/29
=tu then t else f
André Platzer. ODL Updates – p.15/29
André Platzer. ODL Updates – p.16/29
André Platzer. ODL Updates – p.16/29
André Platzer. ODL Updates – p.17/29
André Platzer. ODL Updates – p.18/29
André Platzer. ODL Updates – p.19/29
André Platzer. ODL Updates – p.20/29
André Platzer. ODL Updates – p.21/29
André Platzer. ODL Updates – p.22/29
=t then t else f(f(s):
=tr then t else f(f(s):
f(s): =sg(f(f(r)))
=sf(f(r))
= f(s):
=sf(r) then s else f
=sf(r)
=
= f(s): =sr then s else f(f(s): =sr) fi
s else f
= f(s): =sr then s else f(f(s): =sr) fi
=
= r then s else f(r) fi
s else f
= r then s else f(r) fi
= r → g
= s then s else f(s) fi
= f(r) then s else f(f(r)) fi
= r → g(s)
= f(r) then s else f(f(r)) fi
f(s): =sg(f(f(s)))
=sf(f(s))
= f(s):
=sf(s) then s else f
=sf(s)
= (if s .
= f(s): =ss then s else f(f(s): =ss) fi
s else f
= f(s):
=ss then s else f(f(s):
=ss) fi
g
= (if s .
= f(s): =ss then s else f(f(s): =ss) fi
s else f
= f(s):
=ss then s else f(f(s):
=ss) fi
= s then s else f
g(s)
André Platzer. ODL Updates – p.25/29
=tu then t else f
André Platzer. ODL Updates – p.26/29
André Platzer. ODL Updates – p.27/29
André Platzer. ODL Updates – p.28/29
assuming oracle for first-order arithmetic.
André Platzer. ODL Updates – p.29/29