Proof by exhaustion, also known as proof by cases, perfect induction, or the brute force method, is a method of mathematical proof in which the statement to be proved is split into a finite number of cases or sets of equivalent cases and each type of case is checked to see if the proposition in question holds. This is a method of direct proof. A proof by exhaustion contains two stages: A proof that the cases are exhaustive; i.e., that each instance of the statement to be proved matches the conditions of (at least) one of the cases. A proof of each of the cases. In the Curry–Howard isomorphism, proof by exhaustion and case analysis are related to ML-style pattern matching.