Urban Engberg
August 1996
Reasoning about algorithms stands out as an essential challenge
of computer science. Much work has been put into the development of formal
methods, within recent years focusing especially on concurrent algorithms.
The Temporal Logic of Actions (TLA) is one of the formal frameworks that has
been the result of such research. In TLA a system and its properties may be
specified as logical formulas, allowing the application of reasoning without
any intermediate translation. Being a linear-time temporal logic, it easily
expresses liveness as well as safety properties.
TLP, the TLA Prover, is a
system developed by the author for doing mechanical reasoning in TLA. TLP is
a complex system that combines different reasoning techniques to be able to
handle verification of real systems. It uses the Larch Prover as its main
verification back-end, but as well makes it possible to utilize results
provided by other back-ends, such as an automatic linear-time temporal logic
checker for finite-state systems. Specifications to be verified within the
TLP system are written in a dedicated language, an extension of pure TLA. The
language as well contains syntactical constructs for representing natural
deduction proofs, and a separate language for defining methods to be applied
during verification. With the TLP translators and interactive front-end, it
is possible to write specifications and incrementally develop mechanically
verifiable proofs in a fashion that has not been seen before.
Available as PostScript,PDF.