# TLA+ in TiDB

## About TLA+

TLA+ is a formal specification and verification language to help engineers design, specify, reason about, and verify complex software and hardware systems. It is widely used to verify the algorithms in distributed systems.

## Using TLA+ in TiDB

In [TiDB](https://github.com/pingcap/tidb), we use TLA+ for the following purposes:

- To verify the distributed consensus algorithm - [Raft](https://github.com/pingcap/raft-rs). 
- To verify the implementation of distributed transaction.

For further information about TLA+, see [tla-plus-resources](https://github.com/cmschmtt/tla-plus-resources).