a.b ->
NFA(a) -E-> NFA(b)
a+b ->
/->NFA(a)-\
E E
/ v
-E->o o-E->
\ ^
E E
\->NFA(b)-/
a* ->
____________
v \
-E->o-E->DFA(a)-E/
\
E
\->o
What are the productions of the Kleene algebra?
associativity of +
commutativity of +
idempotence of +
identity for +
associativity of .
identity for .
annihilator for .
distributivity of . and +
distributivity of . and +
definition of astarate?
inductive rule?
inductive rule?
A homomorphism is a function h : E* -> F*, for some alphabet E onto some alphabet F, such that for all x,y in E*:
The image of a language, A, which is a subset of E*, is defined as:
Where the preimage of a language B, a subset of F*, is defined as:
This is useful in some cases because of theorem 10.1 (p.62) and 10.2 (p.63):
Let R, a subset of E, be a regular set. The Myhill-Nerode relation for that set, =R, is an equivalence relation on E*, such that:
These identities follow because of an earlier definition of =R, where M ( =(Q, E, d, s, F)) is a machine that recognizes R, and =R was defined to mean:
Things such as finite index fall out from there being one state in the automaton for each equivalence class.
This is an algebraic formalism, useful in computing for finding the minimal DFA that is isomorphic to an arbitrary DFA.
It starts with defining an equivalence relation for states in Q, such that
This operator has the following properties:
The ~ operator defines an equivalence class for a state p in Q, [p], such that [p] = { q | q ~ p }.
This relationship lets us build the quotient automaton, M/~, = ( Q', E, d', s', F' ), where:
Given two DFA's:
These DFA's are said to be isomorphic if there exists a one-to-one and onto mapping, f : QM -> QN, such that
See actual midterm - full points (used layouts above.)
See actual midterm - full points. Note that I used the product construction, but there was an easier DFA where you count (#a(x) - #b(x) ) mod 3 and accept on 0.
The demon beat me - see following section on pumping lemma for regular languages.
Not done. Problem is a miscellaneous problem in the Kozen text.
See actual midterm - full points. See also state minimization summary below.
Use your example to inspire an additional hypothesis that would guarantee that if M0 is minimal, then M1 is also minimal.
An example of this is having a portion of the automata not be reachable from another part of the automaton (such as accepting a prefix.) M0 would start in the prefix recognition states, while M1 would not, and therefore have unreachable states, hence not minimal.
As for the hypothesis, perhaps something like the following might be acceptable: if M0 and M1 differ only in their start state, and M0 is minimal, then M1 is minimal only if the set of states reachable from s1 is the same as s0.