1. Steven! Ragnarök
  2. course-sjsu-cs154


course-sjsu-cs154 / 02-01-2012.md

Notes February 1, 2012

Doing Chapter 3.1 after 2.1, then 2.2, 2.3, 2.4, 3.2..

"Mapping between 1 and λ the cause of some amusement down the road"

Theorem 5: x^m x^n = x^(m+n)

Proof by induction on n

Basis: If n = 0 then x^n is λ so that x^mx^n = x^m. But also that x^m+n x^m.

Induction step: If n > 0 then x^n = x^n = x^(n-1)x so

    x^mx^n = x^m(x^(n-1)x)
    = x^mx^(n-1)x [by the previous theorem]
    = (x^(m+n-1))x [by induction]
    = x^(m+n)

Corollary x^m = xx^(m-1)

Theorem 6: (L*)* = L*

L* = U^(∞)_(k=0) L^k

Proof to show two containments. One direction is easy, L* = (L*)^1 is a subset of (L*)*j. To show that (L*)* is a subset of L*, we need to show that (L*)^n is a subset of L* for every n. This can be done by induction on n.

Bases: if n=0, then (L*)^0 = {λ}, which is clearly a subset of L*.

Inductive step: If n > 0, then (L*)^n = (L*)^(n-1)L*.

So for any x in L*)^n, x = yz where y is in L*^(n-1) and z is in L*.

By induction y is in L*. So y is in L^k for some k., But now x is in L^k+1, so x is in L*.

String Reversal

What does it mean to reverse the string w?

  • w = λ if w = λ
  • az^R if w = za

So for example:

    (abc)^R = c(ab)R
    = c(b(a^R)
    = cba

Uses of DFAs

Given an input string, as whether it's a legal identifier in some language.

Recognizing legal identifiers and literals.

  • strings beginning with a letter followed by some digits
  • strings consisting only of letters
  • strings that contain at most one digit

A DFA is an abstraction of a machine that is tailored to a particular question.

Represents an {algorithm,program,type of algorithm} rather than computers.

An abstract machine for a simple siwtch.

An abstraction of a lightswitch has two states, on and off. Transitions are possible between states. It would need to be clear which was the initial state. This information can be summarized in a diagram:

-> (on)<--> ((off))

this machine is not yet a DFA since it has nothing to do with languages.

By labelling transitions with symbols from the alphabet, we'd get a DFA.

If we label both transitions with a -, the resulting DFA would correspond to the set of strings of odd length over alphabet {0}.

A deterministic finite acceptor (automaton) consists of:

  • A finite input alphabet Σ
  • A finite set Q of states
  • An initial or start state q0
  • A set F of final states (A subset of Q)
  • A transition function δ:QxΣ -> Q

Note that both the alphabet and set of states are finite, a DFA has a finite description.

  • delta may be extended to handle strings.
  • this gives a function delta: Q x E -> Q deltastar is defined for a ll states q, strings w and symbols a by