# 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).