In the field of computation theory, concatenation is one of the regular operations. If `A` and `B` are languages (not necessarily regular languages) then the concatenation of `A` and `B` (usually written `AB`) is defined as follows.

{`xy`
| `x` ∈ `A` and `y` ∈ `B`}

In plain English: `AB` is the set of all strings which can be created by concatenating (read: putting together) a string from `A` with a string from `B`.

For example, if `A` = {yes,no}, and `B` = {maybe,probably}

`AB` = {yesmaybe,yesprobably,nomaybe,noprobably}

Some interesting things to note about the concatenation operation:

- Concatenation of strings and concatenation of languages are very different. Many fallacious proofs are based on this fact.
- Unlike the union operation, concatenation is not commutative. Unless
`A` and `B` are equivalent, `AB` and `BA` are different languages.
- Regular languages are closed under the concatenation operation. This means that if
`A` and `B` are regular languages, then so is `AB`.