Complexitylib guide

2.7. The Catalogue🔗

Every other NP-completeness proof in the library starts from Cook–Levin and follows reductions. Here is the tree, with the reduction for each edge and the completeness theorem for each problem:

Chaining reductions with NPHard.trans gives the hardness of any problem in the tree directly from Cook–Levin:

example : NPHard (encPair encGraph encNat) Clique := (CookLevin.SAT_npHard.trans polyTimeReducible_SAT_IndependentSet).trans polyTimeReducible_IndependentSet_Clique

The module documentation of Complexity.Computability.Complexity.Reduction indexes the same results by problem, with the module to import for each.