Transaction Logic

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.

An optimized interpreter for Transaction Logic along with a performance evaluation suite can be downloaded here.