--- created: 2026-04-08 10:55 course: "[[29593850 - Automationtheory]]" topic: languages related: "[[29593940 - Formal Languages#Finite representation of languages]]" type: lecture status: 🔴 tags: - university --- ## 📌 Summary > [!abstract] > --- ## 📝 Content A _regular expression_ $r$ over an alphabet $Sigma$ is defined recursively: - $emptyset, epsilon$ and each $a in Sigma$ are regular expression, which represent the Languages $L(emptyset) = emptyset, L(epsilon) = {epsilon}$ and $L(a) = {a}$ - If $r$ and $s$ are regular expressions then these are also regular expressions: - $(r + s)$ with $L(r + s) = L(r) union L(s)$ - $(r s)$ with $L(r s) = L(r)L(s)$ - $r^*$ with $L(r^*) = L(r)^*$ > [!EXAMPLE] > The language $L$ over $Sigma = {a, b}$ containing the substring $a b$ is regular, since it can be expressed using the regular expression > $r = (a +b)^* a b (a + b)^*$ ## Equivalence of regular expressions Two regular expressions $r$ and $s$ are _equivalent_ ($r eq.triple s$ or $r hat(eq) s$) if they generate the same language ($L(r) eq L(s)$).