CIS 570: Introduction to Formal Language Theory


Prerequisite Topics

  • Trees, algorithms and recursion
  • Functional programming
  • Basic concepts of set theory
  • Reading and writing formal mathematical proofs (of the sort
    studied in a course on formal logic)

  • Reading and writing informal mathematical proofs (as found in
    typical mathematics books)

  • Mathematical induction

High-level Goals

  • To teach students the basic concepts and techniques of formal
    language theory

  • To further develop students' competence at reading and writing
    mathematical proofs

Knowledge and Skills Acquired: Mastery

  • Basic set theory
  • Induction principles for the natural numbers
  • Trees and inductive definitions
  • Symbols, strings, alphabets and (formal) languages
  • String induction principles
  • Regular expressions and languages
  • Simplification of regular expressions
  • Finite automata and labeled paths
  • Isomorphism of finite automata
  • Algorithms for checking acceptance of strings by finite automata,
    and for finding accepting paths for strings in finite automata

  • Simplification of finite automata
  • Proving the correctness of finite automata
  • Empty-string, nondeterministic and deterministic finite automata
  • Closure properties of regular languages
  • Equivalence-testing and minimization of deterministic finite
    automata

  • The pumping lemma for regular languages
  • (Context-free) Grammars, parse trees and context-free languages
  • Proving the correctness of grammars
  • Simplification of grammars
  • Experimenting with regular expressions, finite automata and
    grammars using the Forlan toolset

Knowledge and Skills Acquired: Familiarity

  • Applications of finite automata and regular expressions
  • Isomorphism of grammars
  • A parsing algorithm
  • Ambiguity of grammars
  • Closure properties of context-free languages
  • Converting regular expressions and finite automata to grammars
  • Chomsky Normal Form of grammars
  • The pumping lemma for context-free languages
  • Basic results on recursive and recursively enumerable languages
    and the undecidability of the halting problem

Department of Computing and Information Sciences - Kansas State University
Address: 234 Nichols Hall, Manhattan, KS 66506
Phone: (785)532-6350; Fax: (785)532-7353; Mailto: webmaster@cis.ksu.edu