pigeon-hole principle
divide-and-conquer technique
recursion
iteration
is always regular
is always context free
both (a) and (b)
need not be regular
(a + b ) * ab
ab (a + b ) *
a ( a + b ) * b
b (a + b ) * a
product
union
complementation
kleen star
regular language
context-free language
context-sensitive language
recursive enumeration language