---
created: 2026-04-08 08:52
course: "[[29593850 - Automationtheory]]"
topic: strings
related: "[[29593929 - Alphabets]]"
type: lecture
status: 🔴
tags:
  - university
---
## 📌 Summary

> [!abstract]
> Overview of lecture 1 on `Wednesday, 2026/Apr/08`

---

## 📝 Content

A word (or _string_) is a finite sequence $w = a_1 a_2 ... a_n$ if characters from $Sigma$.

> [!CONVENTION]
> We will use small letters to describe strings that are part of a language.

> [!EXAMPLE]
> $"aa", "ab", "bba"$ and $"baab"$ are strings over $Sigma = {a, b}.

#### Length of a string
The _length_ $abs(x)$ of a string $x = a_1 ... a_n$ is its number $abs(x) = n$ of characters.
#### Empty String
The empty string is denoted by $epsilon$, this is the neutral element.
-> $abs(epsilon) = 0$

## String Operations
### Concatenation
String can be concatenated, where one string is appended to another. 
For strings $x = a_1 ... a_n$ and $y  = b_1 ... b_m$ over alphabets $Sigma_x$ and $Sigma_y$, their _concatenation_ over the alphabet $Sigma = Sigma_x union Sigma_y$ is the string
$$x circle.small y = x y = a_1 a_2 ... a_n b_1 b_2 ... b_m$$
> This string is of the length $abs(x y) = n + m$

> [!EXAMPLE]
> $x = "apple"$
> $y = "pie"$ 
> $x circle.small y = "applepie"$

Order of operations / Brackets do _not matter_. (Concatenation is associative but **not** commutative $x y eq.not y x$)
> $(x circle.small y) circle.small z = x circle.small (y circle.small z)$

Any string concatenated with the empty string $epsilon$ will result in itself.
> $x circle.small epsilon = x = epsilon circle.small x$ 

### Exponentiation

The $n^"th"$ power $x^n$ of a string $x$ is the $(n-1)$-fold concatenation of $x$ with itself.
> $x^0 := epsilon$
> $x^n := x^(n-1) circle.small x$ for $n in NN$

> [!Example]
> $x^4 = x x x x$
> $(a b)^3 = a b a b a b$

### Reversing / Mirroring
For a string $x = a_1 a_2 ... a_(n-1) a_n$ of length $n$, it's _mirrored string_ is given by 
$$ x^("Rev") = a_n a_(n-1)...a_2 a_1$$
## Substrings
A string $x$ is a _substring_ of a string $y$ if $y = u x v$, where $u$ and $v$ can be arbitrary strings.
- If $u = epsilon$ then $x$ is a _prefix_ of $y$.
- If $v = epsilon$ then $x$ is a suffix of $y$.

For strings $x$ and $y$ the quantity $abs(y)_x$ is the number of times that $x$ is a substring of $y$.

