Thm 1.A. The class of regular languages is closed under union.

Thm 1.B. The class of regular languages is closed under concatenation.

Thm 1.C. Every NFA has an equivalent DFA.

Thm 1.D. The class of regular languages is closed under Kleene-star.

Thm 1.E. (Kleene’s Theorem) Language A is regular iff A has a regular expression.

Thm 1.F. If A is finite language, then A is regular.

Thm 1.G. The class of regular languages is closed under intersection.

Thm 1.H. The class of regular languages is closed under complementation.

Thm 1.I. (Pumping lemma for regular languages) If A is regular language, then ∃ number p where, if

s ∈ A with |s| ≥ p, then ∃ strings x, y, z such that s = xyz and (1) xyiz ∈ A for each i ≥ 0, (2)

|y| > 0, and (3) |xy| ≤ p.

Thm 2.A. Every CFL can be described by a CFG G = (V, ,R, S) in Chomsky normal form, i.e., each

rule in G has one of two forms: A → BC or A → x, where A ∈ V , B,C ∈ V − {S}, x ∈ , and we

also allow the rule S → ".

Thm 2.B. If A is a regular language, then A is also a CFL.

Thm 2.C. A language is context free iff some PDA recognizes it.

Thm 2.D. (Pumping lemma for CFLs) For every CFL L, ∃ pumping length p such that ∀ strings s ∈ L

with |s| ≥ p, we can write s = uvxyz with (1) uvixyiz ∈ L ∀ i ≥ 0, (2) |vy| ≥ 1, (3) |vxy| ≤ p.

Thm 2.E. The class of CFLs is closed under union.

Thm 2.F. The class of CFLs is closed under concatenation.

Thm 2.G. The class of CFLs is closed under Kleene-star.

Thm 3.A. For every multi-tape TM M, there is a single-tape TM M′ such that L(M) = L(M′).

Thm 3.B. Every NTM has an equivalent deterministic TM.

Cor 3.C. Language L is Turing-recognizable iff an NTM recognizes it.

Thm 3.D. A language is enumerable iff some enumerator enumerates it.

Church-Turing Thesis. The informal notion of algorithm is the same as Turing machine algorithm.

Thm 4.A. ADFA = { hB,wi | B is a DFA that accepts string w } is Turing-decidable.

Thm 4.B. ANFA = { hB,wi | B is an NFA that accepts string w } is Turing-decidable.

Thm 4.C. AREX = { hR,wi | R is a regular expression that generates string w } is Turing-decidable.

Thm 4.D. EDFA = { hBi | B is a DFA with L(B) = ∅ } is Turing-decidable.

Thm 4.E. EQDFA = { hA,Bi | A and B are DFAs with L(A) = L(B) } is Turing-decidable.

Thm 4.F. ACFG = { hG,wi | G is a CFG that generates string w } is Turing-decidable.

Thm 4.G. ECFG = { hGi | G is a CFG with L(G) = ∅ } is Turing-decidable.

Thm 4.H. Every CFL is Turing-decidable.

Thm 4.I. ATM = { hM,wi | M is a TM that accepts string w } is undecidable.

Thm 4.J. The set R of all real numbers is uncountable.

Cor 4.K. Some languages are not Turing-recognizable.

Thm 4.L. A language is decidable iff it is both Turing-recognizable and co-Turing-recognizable.

Cor 4.M. ATM is not Turing-recognizable.

Thm 5.A. HALTTM = { hM,wi | M is a TM that halts on w } is undecidable.

Thm 5.B. ETM = { hMi | M is a TM with L(M) = ∅ } is undecidable.

Thm 5.C. REGTM = { hMi | M is a TM and L(M) is regular } is undecidable.

Thm 5.D. EQTM = { hM1,M2i | M1, M2 are TMs with L(M1) = L(M2) } is undecidable.

Thm 5.E. (Rice’s Thm.) Let P be any subset of the class of Turing-recognizable languages such that

P 6= ∅ and P 6= ∅. Then LP = { hMi | L(M) ∈ P } is undecidable.

Thm 5.F. If A ≤m B and B is Turing-decidable, then A is Turing-decidable.

Cor 5.G. If A ≤m B and A is undecidable, then B is undecidable.

Thm 5.H. If A ≤m B and B is Turing-recognizable, then A is Turing-recognizable.

Cor 5.I. If A ≤m B and A is not Turing-recognizable, then B is not Turing-recognizable.

Thm 5.J. ETM = { hMi | M is a TM with L(M) = ∅ } is not Turing-recognizable.

Thm 5.K. EQTM = { hM1,M2i | M1,M2 are TMs with L(M1) = L(M2) } is neither Turing-recognizable

nor co-Turing-recognizable.

Thm 7.A. Let t(n) be a function with t(n) ≥ n. Then any t(n)-time multi-tape TM has an equivalent

O(t2(n))-time single-tape TM.

Thm 7.B. Let t(n) be a function with t(n) ≥ n. Then any t(n)-time NTM has an equivalent 2O(t(n))-time

deterministic 1-tape TM.

Thm 7.C. PATH ∈ P.

Thm 7.D. RELPRIME ∈ P.

Thm 7.E. Every CFL is in P.

Thm 7.F. A language is in NP iff it is decided by some nondeterministic polynomial-time TM.

Cor 7.G. NP = Sk≥0 NTIME(nk)

Thm 7.H. CLIQUE ∈ NP.

Thm 7.I. SUBSET-SUM ∈ NP.

Thm 7.J. If A ≤P B and B ∈ P, then A ∈ P.

Thm 7.K. 3SAT is polynomial-time reducible to CLIQUE.

Thm 7.L. If there is an NP-Complete problem B and B ∈ P, then P = NP.

Thm 7.M. If B is NP-Complete and B ≤P C for C ∈ NP, then C is NP-Complete.

Thm 7.N. (Cook-Levin Thm.) SAT is NP-Complete.

Cor 7.O. 3SAT is NP-Complete.

Cor 7.P. CLIQUE is NP-Complete.

Thm 7.Q. ILP is NP-Complete.

Thm 1.B. The class of regular languages is closed under concatenation.

Thm 1.C. Every NFA has an equivalent DFA.

Thm 1.D. The class of regular languages is closed under Kleene-star.

Thm 1.E. (Kleene’s Theorem) Language A is regular iff A has a regular expression.

Thm 1.F. If A is finite language, then A is regular.

Thm 1.G. The class of regular languages is closed under intersection.

Thm 1.H. The class of regular languages is closed under complementation.

Thm 1.I. (Pumping lemma for regular languages) If A is regular language, then ∃ number p where, if

s ∈ A with |s| ≥ p, then ∃ strings x, y, z such that s = xyz and (1) xyiz ∈ A for each i ≥ 0, (2)

|y| > 0, and (3) |xy| ≤ p.

Thm 2.A. Every CFL can be described by a CFG G = (V, ,R, S) in Chomsky normal form, i.e., each

rule in G has one of two forms: A → BC or A → x, where A ∈ V , B,C ∈ V − {S}, x ∈ , and we

also allow the rule S → ".

Thm 2.B. If A is a regular language, then A is also a CFL.

Thm 2.C. A language is context free iff some PDA recognizes it.

Thm 2.D. (Pumping lemma for CFLs) For every CFL L, ∃ pumping length p such that ∀ strings s ∈ L

with |s| ≥ p, we can write s = uvxyz with (1) uvixyiz ∈ L ∀ i ≥ 0, (2) |vy| ≥ 1, (3) |vxy| ≤ p.

Thm 2.E. The class of CFLs is closed under union.

Thm 2.F. The class of CFLs is closed under concatenation.

Thm 2.G. The class of CFLs is closed under Kleene-star.

Thm 3.A. For every multi-tape TM M, there is a single-tape TM M′ such that L(M) = L(M′).

Thm 3.B. Every NTM has an equivalent deterministic TM.

Cor 3.C. Language L is Turing-recognizable iff an NTM recognizes it.

Thm 3.D. A language is enumerable iff some enumerator enumerates it.

Church-Turing Thesis. The informal notion of algorithm is the same as Turing machine algorithm.

Thm 4.A. ADFA = { hB,wi | B is a DFA that accepts string w } is Turing-decidable.

Thm 4.B. ANFA = { hB,wi | B is an NFA that accepts string w } is Turing-decidable.

Thm 4.C. AREX = { hR,wi | R is a regular expression that generates string w } is Turing-decidable.

Thm 4.D. EDFA = { hBi | B is a DFA with L(B) = ∅ } is Turing-decidable.

Thm 4.E. EQDFA = { hA,Bi | A and B are DFAs with L(A) = L(B) } is Turing-decidable.

Thm 4.F. ACFG = { hG,wi | G is a CFG that generates string w } is Turing-decidable.

Thm 4.G. ECFG = { hGi | G is a CFG with L(G) = ∅ } is Turing-decidable.

Thm 4.H. Every CFL is Turing-decidable.

Thm 4.I. ATM = { hM,wi | M is a TM that accepts string w } is undecidable.

Thm 4.J. The set R of all real numbers is uncountable.

Cor 4.K. Some languages are not Turing-recognizable.

Thm 4.L. A language is decidable iff it is both Turing-recognizable and co-Turing-recognizable.

Cor 4.M. ATM is not Turing-recognizable.

Thm 5.A. HALTTM = { hM,wi | M is a TM that halts on w } is undecidable.

Thm 5.B. ETM = { hMi | M is a TM with L(M) = ∅ } is undecidable.

Thm 5.C. REGTM = { hMi | M is a TM and L(M) is regular } is undecidable.

Thm 5.D. EQTM = { hM1,M2i | M1, M2 are TMs with L(M1) = L(M2) } is undecidable.

Thm 5.E. (Rice’s Thm.) Let P be any subset of the class of Turing-recognizable languages such that

P 6= ∅ and P 6= ∅. Then LP = { hMi | L(M) ∈ P } is undecidable.

Thm 5.F. If A ≤m B and B is Turing-decidable, then A is Turing-decidable.

Cor 5.G. If A ≤m B and A is undecidable, then B is undecidable.

Thm 5.H. If A ≤m B and B is Turing-recognizable, then A is Turing-recognizable.

Cor 5.I. If A ≤m B and A is not Turing-recognizable, then B is not Turing-recognizable.

Thm 5.J. ETM = { hMi | M is a TM with L(M) = ∅ } is not Turing-recognizable.

Thm 5.K. EQTM = { hM1,M2i | M1,M2 are TMs with L(M1) = L(M2) } is neither Turing-recognizable

nor co-Turing-recognizable.

Thm 7.A. Let t(n) be a function with t(n) ≥ n. Then any t(n)-time multi-tape TM has an equivalent

O(t2(n))-time single-tape TM.

Thm 7.B. Let t(n) be a function with t(n) ≥ n. Then any t(n)-time NTM has an equivalent 2O(t(n))-time

deterministic 1-tape TM.

Thm 7.C. PATH ∈ P.

Thm 7.D. RELPRIME ∈ P.

Thm 7.E. Every CFL is in P.

Thm 7.F. A language is in NP iff it is decided by some nondeterministic polynomial-time TM.

Cor 7.G. NP = Sk≥0 NTIME(nk)

Thm 7.H. CLIQUE ∈ NP.

Thm 7.I. SUBSET-SUM ∈ NP.

Thm 7.J. If A ≤P B and B ∈ P, then A ∈ P.

Thm 7.K. 3SAT is polynomial-time reducible to CLIQUE.

Thm 7.L. If there is an NP-Complete problem B and B ∈ P, then P = NP.

Thm 7.M. If B is NP-Complete and B ≤P C for C ∈ NP, then C is NP-Complete.

Thm 7.N. (Cook-Levin Thm.) SAT is NP-Complete.

Cor 7.O. 3SAT is NP-Complete.

Cor 7.P. CLIQUE is NP-Complete.

Thm 7.Q. ILP is NP-Complete.