Transaction Logic provides logical foundations
for state changes and side
effects in a logic programming language. A significant portion of this
theory is implemented in Flora-2.
Applications of Transaction Logic include modeling and reasoning about
workflows, planning, robotics, view maintenance in databases, and
more. Some works describing these applications can be found here.
Logic. This is the most comprehensive report that describes this logic.
Programming for Database Transactions
in Logics for Databases and Information Systems, J. Chomicki and G. Saake
(eds.), Kluwer Academic Publ., 1998.
This is an introduction to Transaction Logic, much shorter than the above
report with a focus on database applications.
on Reasoning about Updates in Transaction Logic
in Transactions and Change in
Logic Databases, Lecture Notes in Computer Science, vol. 1472,
Springer Verlag, 1998.
Transaction Logic with Partially Defined Actions.
Journal on Data Semantics, August 2012, vol. 1, no. 2, Springer.
Tabling for Transaction Logic
Proceedings of the 12th international ACM SIGPLAN symposium on Principles
and practice of declarative programming
Logic with Defaults and Argumentation Theories.
27th International Conference on Logic Programming (ICLP'11), July 2011.
Concurrent Transaction Logic
. Joint Intl. Conference and Symposium on
Logic Programming, Bonn, Germany, September 1996.
This is an extension of Transaction Logic, which allows parallelism in the
execution of complex actions. This extension is not implemented in
Flora-2, but an independent implementation can be found
One important use of Concurrent Transaction Logic is in
modeling and verification of workflows (Intl. ACM Conference on
Principles of Database Systems, 1998).
CTR-S: A Logic for Specifying Contracts in Semantic Web Services
Proceedings of the 13-th World Wide Web Conference (WWW2004), May 2004.
An optimized interpreter for Transaction Logic along with a performance
evaluation suite can be