Testing a new idea to solve the P = NP problem with mathematical induction
Background. P and NP are two classes (sets) of languages in Computer Science. An open problem is whether P = NP. This paper tests a new idea to compare the two language sets and attempts to prove that these two language sets consist of same languages by elementary mathematical methods and basic knowledge of Turing machine. Methods. By introducing a filter function C(M,w) that is the number of configurations which have more than one children (nondeterministic moves) in the shortest accept computation path of a nondeterministic Turing machine M for input w, for any language L(M) ∈ NP, we can define a series of its subsets, Li(M) = {w | w ∈ L(M) ∧ C(M,w) ≤ i}, and a series of the subsets of NP as Li = {Li(M) | ∀M ∙ L(M) ∈ NP}. The nondeterministic multi-tape Turing machine is used to bridge two language sets Li and Li+1, by simulating the (i+1)-th nondeterministic move deterministically in multiple work tapes, to reduce one (the last) nondeterministic move. Results. The main result is that, with the above methods, the language set Li+1, which seems more powerful, can be proved to be a subset of Li. This result collapses Li ⊆ P for all i ∈ N. With NP = ⋃i∈NLi, it is clear that NP ⊆ P. Because by definition P ⊆ NP, we have P = NP. Discussion. There can be other ways to define the subsets Li and prove the same result. The result can be extended to cover any sets of time functions C, if ∀f ∙ f ∈ C ⇒ f2 ∈ C, then DTIME(C) = NTIME(C). This paper does not show any ways to find a solution in P for the problem known in NP.