Automatic Verification of TLA
+ proof obligations
with SMT solvers
Stephan Merz and Hern´ an Vanzetto LPAR-18, M´ erida, Venezuela March 12th, 2012
1
+ proof obligations Automatic Verification of TLA with SMT solvers - - PowerPoint PPT Presentation
+ proof obligations Automatic Verification of TLA with SMT solvers Stephan Merz and Hern an Vanzetto LPAR-18, M erida, Venezuela March 12th, 2012 1 + language The TLA Specification and verification language for (concurrent and
1
◮ ZF set theory ◮ Temporal Logic of Actions (TLA)
◮ hierarchical proof structure (tree) ◮ top-down development: refine assertions until they are
◮ leaf: invoke proof method, citing necessary assumptions and
2
3
3
3
Isabelle/ TLA+ Zenon SMT solvers
TLA+ specification and proofs
interpret module, expand definitions certify proof (when possible)
results, error messages
translate & verify proof obligations generate proof obligations type inference
+ = faithful encoding of TLA + over Isabelle/Pure.
4
5
+ PO
+)
5
+ is an untyped language1.
+ symbols’ types?
1 the SMT input languages are sorted 2 the translation of some operators depends on the type of their
1Should your specification language be typed? (L. Lamport & L. Paulson, 1999)
6
+ is an untyped language1.
+ symbols’ types?
1 the SMT input languages are sorted 2 the translation of some operators depends on the type of their
1Should your specification language be typed? (L. Lamport & L. Paulson, 1999)
6
7
1
2
8
+ semantics for operators
9
10
◮ x ≈ exp ◮ ∀y ∈ S : x(y) ≈ exp
10
◮ x ≈ exp ◮ ∀y ∈ S : x(y) ≈ exp
10
◮ quantified formulas over the theory of linear integer and real
11
12
12
13
14
14
14
15
15
◮ 105 (nested) quantifiers ◮ from 320 to 1 line of proof ◮ Yices: split by cases
◮ only type invariant and main part of safety invariant ◮ manual Skolemization in 3 out of 11 subcases
16
+.
+:
◮ FOL, elementary sets, functions, arithmetic, records, tuples
+.
17