Regular Languages
Deterministic Finite Automata (DFAs) and Transition Diagrams
Nondeterministic Finite Automata and the Subset Construction
ε-Transitions
Regular Expressions and Equivalence to DFAs
The Pumping Lemma for regular languages
Regular Language Closure Properties
Finding a Minimum DFA
Context-Free Languages (CFLs)
Context-Free Grammars (CFGs)
Derivations and Sentential Forms
Parse Trees & Parsing
Ambiguity
Pushdown Automata & Equivalence to CFGs
Deterministic Pushdown Automata
Eliminating Useless Symbols; Eliminating ε-Productions; Eliminating Unit-Productions
Chomsky Normal Form
The Pumping Lemma for CFLs
Closure Properties for CFLs
Turing Machines (TMs)
Finite Control & Infinite Tape
Instantaneous Descriptions (IDs)
Multi-Tape TMs & Nondeterministic TMs
Two-Stack Machines & Counter Machines
Recursive & Recursively Enumerable (RE) Languages
Decidable vs. Undecidable
The Language Ld & the Language Lu
Rice's Theorem
Post's Correspondence Problem
P vs. NP
Definitions
Polynomial-Time Reduction
NP-Completeness