Aiming Low is Harder
Induction for Lower Bounds in Probabilistic Program Verification Marcel Hark Benjamin Kaminski Jürgen Giesl Joost-Pieter Katoen
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 1
Aiming Low is Harder Induction for Lower Bounds in Probabilistic - - PowerPoint PPT Presentation
Aiming Low is Harder Induction for Lower Bounds in Probabilistic Program Verification Marcel Hark Benjamin Kaminski Jrgen Giesl Joost-Pieter Katoen POPL 2020 Aiming Low is Harder Hark , Kaminski, Giesl, Katoen 1/25/20 1
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 1
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
≥0.
≥0 (total correctness).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 2
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
2
2 · (E[a/0] + E[x/x + 1])
2 · (E[a/0] + E[x/x + 1])
x(0) (incomputable).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 3
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 4
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 5
2
2 · (E [a/0] + E [x/x + 1])
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 6
2
2 · (E [a/0] + E [x/x + 1])
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 6
2
2 · (E [a/0] + E [x/x + 1])
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 6
2
2 · (E [a/0] + E [x/x + 1])
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 6
2
2 · (E [a/0] + E [x/x + 1])
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 6
2
2 · (E [a/0] + E [x/x + 1])
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 6
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
x(E)
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
x (E)
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
x (E)
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
x (E)
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 7
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 8
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 8
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 8
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 9
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 10
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 10
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 10
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 10
2
2 · (E [a/0] + E [x/x + 1]).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 11
2
2 · (E [a/0] + E [x/x + 1]).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 11
2
2 · (E [a/0] + E [x/x + 1]).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 11
2
2 · (E [a/0] + E [x/x + 1]).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 11
2
2 · (E [a/0] + E [x/x + 1]).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 11
2
2 · (E [a/0] + E [x/x + 1]).
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 11
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 12
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 12
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 12
x (E)
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 12
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 13
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
2
2
1 2 · |x + [0 = 1] − (x + [a = 1])| + 1 2 · |x + 1 + [a = 1] − (x + [a = 1])|
1 2 · |− [a = 1]| + 1 2 · |1|
2
2
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 14
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 15
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 15
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 15
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
2 + · · · + 1 N) is lower bound.
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 16
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 17
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18
POPL 2020– Aiming Low is Harder – Hark, Kaminski, Giesl, Katoen – 1/25/20 – 18