Quotient of a formal language explained
with respect to language
is the language consisting of
strings w such that
wx is in
for some string
x in
[1] Formally:
In other words, for all the strings in
that have a suffix in
, the suffix is removed.
Similarly, the left quotient of
with respect to
is the language consisting of strings
w such that
xw is in
for some string
x in
. Formally:
In other words, we take all the strings in
that have a prefix in
, and remove this prefix.
Note that the operands of
are in reverse order: the first operand is
and
is second.
Example
Considerand
Now, if we insert a divider into an element of
, the part on the right is in
only if the divider is placed adjacent to a
b (in which case
i ≤
n and
j =
n) or adjacent to a
c (in which case
i = 0 and
j ≤
n). The part on the left, therefore, will be either
or
; and
can be written as
Properties
Some common closure properties of the quotient operation include:
- The quotient of a regular language with any other language is regular.
- The quotient of a context free language with a regular language is context free.
- The quotient of two context free languages can be any recursively enumerable language.
- The quotient of two recursively enumerable languages is recursively enumerable.
These closure properties hold for both left and right quotients.
See also
Notes and References
- Book: Linz. Peter. An Introduction to Formal Languages and Automata. 2011. Jones & Bartlett Publishers. 9781449615529. 104–108. 7 July 2014.