In mathematics and computer science, the right quotient (or simply quotient) of a language
with respect to language
is the language consisting of strings
such that
is in
for some string
in
, where
and
are defined on the same alphabet
. Formally:[1][2]
where
is the Kleene star on
,
is the language formed by concatenating
with each element of
, and
is the empty set.
In other words, for all strings in
that have a suffix in
, the suffix (right part of the string) is removed.
Similarly, the left quotient of
with respect to
is the language consisting of strings
such that
is in
for some string
in
. Formally:
In other words, for all strings in
that have a prefix in
, the prefix (left part of the string) is removed.
Note that the operands of
are in reverse order, so that
preceeds
.
The right and left quotients of
with respect to
may also be written as
and
respectively.[1][3]
Consider
and
If an element of is split into two parts, then the right part will be in if and only if the split occurs somewhere after the final . Assuming this is the case, if the split occurs before the first then and , otherwise and . For instance:
where is the empty string.
Thus, the left part will be either or ), and can be written as:
If are languages over the same alphabet then:[3]
As an example, the third property is proved as follows:
If , there exists such that . Since then and , it must be that . Conversely, let and , then there exists such that and (given , if then may differ). Now and only if , hence .
For instance, let .
Then , hence .
Also and , hence .
Relationship between right and left quotients
edit
The right and left quotients of languages and are related through the language reversals and by the equalities:[3]
To prove the first equality, let . Then there exists such that . Therefore, there must exist such that , hence by definition . It follows that , and so .
The second equality is proved in a similar manner.
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.