Theorem provers use automated reasoning techniques to determine proofs of mathematical theorems. A two-prover one-round game has two players (also known as provers) and a referee. Because Presburger arithmetic is decidable, automatic theorem provers for Presburger arithmetic exist. The earliest versions of classifiers were logic theorem provers. Examples of automated reasoning engines include inference engines, theorem provers, and classifiers. Automated reasoning has been most commonly used to build automated theorem provers. Automated theorem provers are also used to implement formal verification in computer science. Those used for more general logical inferencing are typically called theorem provers. Theorem provers may be used to undertake fully formal machine-checked proofs. Many operations in automatic theorem provers require search in huge collections of terms and clauses. Many core operations in theorem provers exhibit the following pattern. In contrast to many other theorem provers is fully automated (non-interactive). Lean has a number of features that differentiate it from other interactive theorem provers. In some cases such provers have come up with new approaches to proving a theorem. However, in practice, such an abstract construction cannot be handled efficiently by theorem provers.