The Day after Jud gment
Jasmin C. Blanchette TU München
Sled gehammer Hell The Day after Jud gment Jasmin C. Blanchette TU - - PowerPoint PPT Presentation
Sled gehammer Hell The Day after Jud gment Jasmin C. Blanchette TU Mnchen Larry Paulson Jia Meng Kong Susanto Claire Quigley Markus Wenzel Fabian Immler Philipp Meyer Sascha Bhme Sledgehammer Sledgehammer Relevance filter Sledgehammer
Jasmin C. Blanchette TU München
Larry Paulson Jia Meng Kong Susanto Claire Quigley Markus Wenzel Fabian Immler Philipp Meyer Sascha Böhme
Sledgehammer
Relevance filter Sledgehammer
Relevance filter ATP translation Sledgehammer
Relevance filter ATP translation E
Metis proof
SPASS
Metis proof Metis proof
Vampire SInE
Metis proof
Sledgehammer
Relevance filter ATP translation E
Metis proof
SPASS
Metis proof Metis proof
Vampire SInE
Metis proof
Z3 CVC3 Yices SMT tr. SMT translation
Metis
proof Metis
proof Metis
proof
Sledgehammer
Relevance filter ATP translation E
Metis proof
SPASS
Metis proof Metis proof
Vampire SInE
Metis proof
Z3 CVC3 Yices SMT tr. SMT translation
Metis
proof Metis
proof Metis
proof
Relevance filter Sledgehammer Sledgehammer
by (metis Cons_eq_appendI eq_Nil_appendI rev.simps(2) rev_singleton_conv)
2010
54%
3 ATPs x 30s
2010
54%
3 ATPs x 30s
66% 34%
3 ATPs x 30 s nontrivial goals
2010
54%
3 ATPs x 30s
66% 34%
3 ATPs x 30 s nontrivial goals
2010
39%
(4 ATPs + 3 SMTs) x 30s
54% 46%
(4 ATPs + 3 SMTs) x 30s nontrivial goals
2011
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
100 200 300 400 500 600 700 800 900 1000
Success Rate
E SPASS Vampire Z3
E SPASS Vampire Z3
0-9 100-109 200-209 300-309 400-409 490-499
Uses
Z3 Weights
Z3 Weights ……..……… +0.4 pp
Z3 Weights Z3 Triggers ……..……… +0.4 pp
Z3 Weights Z3 Triggers ……..……… +0.4 pp ……..……… +0.1 pp
Z3 Weights Z3 Triggers Z3 “Slicing” ……..……… +0.4 pp ……..……… +0.1 pp
Z3 Weights Z3 Triggers Z3 “Slicing” ……..……… +0.4 pp ……..……… +0.1 pp ........….…… +2.1 pp
Z3 Weights E Weights Z3 Triggers Z3 “Slicing” ……..……… +0.4 pp ……..……… +0.1 pp ........….…… +2.1 pp
Z3 Weights E Weights Z3 Triggers Z3 “Slicing” ……..……… +0.4 pp ……..……… +0.1 pp ........….…… +2.1 pp ..……………. +1.4 pp
Application Operatorxxxxx suc(N) app(suc, N)
Type Information suc(N) ti(suc(ti(N, nat)), nat) Application Operatorxxxxx suc(N) app(suc, N)
Type Information suc(N) ti(suc(ti(N, nat)), nat) Application Operatorxxxxx suc(N) app(suc, N) ti(app(ti(suc, fun(nat, nat)), ti(N, nat)), nat)
No App. App. No Types... 32K 41K Types... 60K 107K
Problem Size
No App. App. No Types... 32K 41K Types... 60K 107K
Problem Size
No App. App. No Types... 1 s 15 s Types... 172 s ???? s
Solving Time (E 1.2)
E SPASS Vampire Z3
0% 10% 20% 30% 40% 50% 60% 70%
Arrow FFT FTA Hoare Jinja NS QE S2S SN All
E SPASS Vampire Z3
0% 10% 20% 30% 40% 50% 60% 70%
Arrow FFT FTA Hoare Jinja NS QE S2S SN All
E SPASS Vampire Z3
x (Types)
0% 10% 20% 30% 40% 50% 60% 70%
Arrow Jinja NS SN
E SPASS Vampire Z3
x (Types)
1 + … + 1 = (n::nat) rev [x1, …, xn] = [xn, …, x1] map f [x1, …, xn] = [f x1, …, f xn]
1 + … + 1 = (n::nat)
0 s 0,2 s 0,4 s 0,6 s 0,8 s 1 2 3 4 5 6 7 8 9 10
E SPASS Vampire Z3
rev [x1, …, xn] = [xn, …, x1] map f [x1, …, xn] = [f x1, …, f xn]
1 + … + 1 = (n::nat)
0 s 0,2 s 0,4 s 0,6 s 0,8 s 1 2 3 4 5 6 7 8 9 10
E SPASS Vampire Z3
rev [x1, …, xn] = [xn, …, x1]
0 s 7,5 s 15,0 s 22,5 s 30,0 s 1 2 3 4 5 6 7 8 9 10
Vampire Z3 E SPASS
map f [x1, …, xn] = [f x1, …, f xn]
1 + … + 1 = (n::nat)
0 s 0,2 s 0,4 s 0,6 s 0,8 s 1 2 3 4 5 6 7 8 9 10
E SPASS Vampire Z3
rev [x1, …, xn] = [xn, …, x1]
0 s 7,5 s 15,0 s 22,5 s 30,0 s 1 2 3 4 5 6 7 8 9 10
Vampire Z3 E SPASS
map f [x1, …, xn] = [f x1, …, f xn]
Vampire E Z3
0 s 2,5 s 5,0 s 7,5 s 10,0 s 1 2 3 4 5 6 7 8 9 10
SPASS
1 + … + 1 = (n::nat)
0 s 0,2 s 0,4 s 0,6 s 0,8 s 1 2 3 4 5 6 7 8 9 10
E SPASS Vampire Z3
rev [x1, …, xn] = [xn, …, x1]
0 s 7,5 s 15,0 s 22,5 s 30,0 s 1 2 3 4 5 6 7 8 9 10
Vampire Z3 E SPASS
map f [x1, …, xn] = [f x1, …, f xn]
Vampire E Z3
0 s 2,5 s 5,0 s 7,5 s 10,0 s 1 2 3 4 5 6 7 8 9 10
SPASS
Improvexx Relevance Filterxx Lightenxx Translationxx Providexx Extralogical Info.xx
Improvexx Relevance Filterxx Lightenxx Translationxx Providexx Extralogical Info.xx Handle Large Axiom Bases Support Types Exploit Extralogical Info.
Jasmin C. Blanchette
blanchette@in.tum.de