Compare commits

..

18 Commits

Author SHA1 Message Date
Jan Meyer
daf634e355 vault backup: 2026-04-09 08:48:07 2026-04-09 08:48:07 +02:00
Jan Meyer
4d0ce09154 vault backup: 2026-04-09 08:42:37 2026-04-09 08:42:37 +02:00
Jan Meyer
61d2c1c370 vault backup: 2026-04-09 08:37:56 2026-04-09 08:37:56 +02:00
Jan Meyer
94aa5c9951 vault backup: 2026-04-08 17:42:58 2026-04-08 17:42:58 +02:00
Jan Meyer
518f51dd42 vault backup: 2026-04-08 15:13:13 2026-04-08 15:13:13 +02:00
Jan Meyer
33843cd0e6 vault backup: 2026-04-08 15:10:32 2026-04-08 15:10:32 +02:00
Jan Meyer
8bcf049ced vault backup: 2026-04-08 13:00:12 2026-04-08 13:00:12 +02:00
Jan Meyer
d21c72e4e7 vault backup: 2026-04-08 10:52:50 2026-04-08 10:52:50 +02:00
Jan Meyer
46bb25c44a vault backup: 2026-04-08 10:46:13 2026-04-08 10:46:13 +02:00
Jan Meyer
7accc9cceb vault backup: 2026-04-08 10:35:59 2026-04-08 10:35:59 +02:00
Jan Meyer
f0b890ef4d chore: remove .thrash folder 2026-04-08 10:12:56 +02:00
Jan Meyer
42df183c58 vault backup: 2026-04-08 10:11:50 2026-04-08 10:11:50 +02:00
Jan Meyer
cc9610dde0 vault backup: 2026-04-08 09:35:01 2026-04-08 09:35:01 +02:00
Jan Meyer
a5a4c94e2b vault backup: 2026-04-08 09:07:20 2026-04-08 09:07:20 +02:00
Jan Meyer
29a9b38340 vault backup: 2026-04-08 08:47:52 2026-04-08 08:47:52 +02:00
Jan Meyer
e28d2cb8ed vault backup: 2026-04-08 08:37:01 2026-04-08 08:37:01 +02:00
Jan Meyer
7f35286f20 vault backup: 2026-04-08 08:32:15 2026-04-08 08:32:15 +02:00
Jan Meyer
3897babce3 vault backup: 2026-04-08 08:25:49 2026-04-08 08:25:49 +02:00
44 changed files with 3890 additions and 879 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.trash/

View File

@@ -8,5 +8,7 @@
"highlightr-plugin", "highlightr-plugin",
"obsidian-file-color", "obsidian-file-color",
"darlal-switcher-plus", "darlal-switcher-plus",
"dataview" "dataview",
"obsidian-vimrc-support",
"emoji-shortcodes"
] ]

View File

@@ -0,0 +1,9 @@
{
"immediateReplace": true,
"suggester": true,
"historyPriority": true,
"historyLimit": 100,
"history": [
":gear:"
]
}

2071
.obsidian/plugins/emoji-shortcodes/main.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
{
"id": "emoji-shortcodes",
"name": "Emoji Shortcodes",
"version": "2.2.0",
"minAppVersion": "1.0.0",
"description": "This Plugin enables the use of Markdown Emoji Shortcodes :smile:",
"author": "phibr0",
"authorUrl": "https://github.com/phibr0",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/phibr0"
}

View File

@@ -0,0 +1,31 @@
a[href="https://ko-fi.com/phibr0"] > img
{
height: 3em;
}
a[href="https://ko-fi.com/phibr0"]
{
transform: translate(0, 5%);
}
.ES-suggester-container {
display: flex;
place-content: space-between;
}
.ES-shortcode {
margin-right: 8px;
}
.ES-suggestion-item {
border-top: solid var(--background-secondary) 1px;
padding-left: 10px;
}
.ES-sub-setting {
padding-left: 2em;
}
.ES-sub-setting + .ES-sub-setting {
padding-left: 0;
margin-left: 2em;
}

View File

@@ -0,0 +1,14 @@
{
"vimrcFileName": ".obsidian.vimrc",
"displayChord": true,
"displayVimMode": true,
"fixedNormalModeLayout": false,
"capturedKeyboardMap": {},
"supportJsCommands": false,
"vimStatusPromptMap": {
"normal": "🟢",
"insert": "🟠",
"visual": "🟡",
"replace": "🔴"
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
{
"id": "obsidian-vimrc-support",
"name": "Vimrc Support",
"version": "0.10.2",
"description": "Auto-load a startup file with Obsidian Vim commands.",
"minAppVersion": "0.15.3",
"author": "esm",
"authorUrl": "",
"isDesktopOnly": false
}

View File

@@ -6,113 +6,113 @@
.theme-dark, .theme-light { .theme-dark, .theme-light {
/* ── Material You RGB helpers ──────────────────────────── */ /* ── Material You RGB helpers ──────────────────────────── */
--mat-bg-rgb: 14, 21, 13; --mat-bg-rgb: 19, 18, 29;
--mat-surface-rgb: 14, 21, 13; --mat-surface-rgb: 19, 18, 29;
--mat-on-surface-rgb: 221, 229, 215; --mat-on-surface-rgb: 228, 224, 240;
--mat-primary-rgb: 88, 225, 104; --mat-primary-rgb: 195, 192, 255;
--mat-on-primary-rgb: 0, 57, 13; --mat-on-primary-rgb: 29, 0, 165;
/* ── Core Backgrounds ──────────────────────────────────── */ /* ── Core Backgrounds ──────────────────────────────────── */
--background-primary: #0e150d; --background-primary: #13121d;
--background-primary-alt: #0e150d; --background-primary-alt: #13121d;
--background-secondary: #161d15; --background-secondary: #1b1a25;
--background-secondary-alt: #1a2219; --background-secondary-alt: #1f1e29;
/* ── Titlebar ──────────────────────────────────────────── */ /* ── Titlebar ──────────────────────────────────────────── */
--titlebar-background: #0e150d; --titlebar-background: #13121d;
--titlebar-background-focused: #161d15; --titlebar-background-focused: #1b1a25;
--titlebar-text-color: #dde5d7; --titlebar-text-color: #e4e0f0;
/* ── Borders & Dividers ────────────────────────────────── */ /* ── Borders & Dividers ────────────────────────────────── */
--background-modifier-border: #3d4a3b; --background-modifier-border: #464557;
--background-modifier-border-focus: #879583; --background-modifier-border-focus: #918fa3;
--background-modifier-border-hover: #879583; --background-modifier-border-hover: #918fa3;
/* ── Text Colors ───────────────────────────────────────── */ /* ── Text Colors ───────────────────────────────────────── */
--text-normal: #dde5d7; --text-normal: #e4e0f0;
--text-muted: #bccbb7; --text-muted: #c7c4da;
--text-faint: #879583; --text-faint: #918fa3;
--text-on-accent: #00390d; --text-on-accent: #1d00a5;
--text-selection: rgba(88, 225, 104, 0.25); --text-selection: rgba(195, 192, 255, 0.25);
/* ── Accent & Interactive ──────────────────────────────── */ /* ── Accent & Interactive ──────────────────────────────── */
--interactive-accent: #58e168; --interactive-accent: #c3c0ff;
--interactive-accent-hover: #16af3e; --interactive-accent-hover: #3c24f6;
--interactive-accent-rgb: 88, 225, 104; --interactive-accent-rgb: 195, 192, 255;
--text-accent: #58e168; --text-accent: #c3c0ff;
--text-accent-hover: #16af3e; --text-accent-hover: #3c24f6;
/* ── Hover & Active Modifiers ──────────────────────────── */ /* ── Hover & Active Modifiers ──────────────────────────── */
--background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06); --background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06);
--background-modifier-active-hover: rgba(var(--mat-primary-rgb), 0.15); --background-modifier-active-hover: rgba(var(--mat-primary-rgb), 0.15);
--background-modifier-success: #fe5f8c; --background-modifier-success: #a32200;
--background-modifier-error: #93000a; --background-modifier-error: #93000a;
--background-modifier-error-hover: #ffb4ab; --background-modifier-error-hover: #ffb4ab;
/* ── Obsidian Color Scale (--color-base-XX) ────────────── */ /* ── Obsidian Color Scale (--color-base-XX) ────────────── */
--color-base-00: #0e150d; --color-base-00: #13121d;
--color-base-05: #0e150d; --color-base-05: #13121d;
--color-base-10: #091008; --color-base-10: #0d0d17;
--color-base-20: #161d15; --color-base-20: #1b1a25;
--color-base-25: #1a2219; --color-base-25: #1f1e29;
--color-base-30: #242c23; --color-base-30: #292934;
--color-base-35: #2f372d; --color-base-35: #34343f;
--color-base-40: #3d4a3b; --color-base-40: #464557;
--color-base-50: #879583; --color-base-50: #918fa3;
--color-base-60: #bccbb7; --color-base-60: #c7c4da;
--color-base-70: #dde5d7; --color-base-70: #e4e0f0;
--color-base-100: #dde5d7; --color-base-100: #e4e0f0;
/* ── Semantic Colors ───────────────────────────────────── */ /* ── Semantic Colors ───────────────────────────────────── */
--color-red: #ffb4ab; --color-red: #ffb4ab;
--color-orange: #ffb1c1; --color-orange: #ffb4a3;
--color-yellow: #98d695; --color-yellow: #c3c0ff;
--color-green: #fe5f8c; --color-green: #a32200;
--color-cyan: #1a5422; --color-cyan: #3e3a96;
--color-blue: #58e168; --color-blue: #c3c0ff;
--color-purple: #98d695; --color-purple: #c3c0ff;
--color-pink: #ffb1c1; --color-pink: #ffb4a3;
/* ── Headings ──────────────────────────────────────────── */ /* ── Headings ──────────────────────────────────────────── */
--h1-color: #58e168; --h1-color: #c3c0ff;
--h2-color: #58e168; --h2-color: #c3c0ff;
--h3-color: #98d695; --h3-color: #c3c0ff;
--h4-color: #ffb1c1; --h4-color: #ffb4a3;
--h5-color: #bccbb7; --h5-color: #c7c4da;
--h6-color: #879583; --h6-color: #918fa3;
/* ── Links ─────────────────────────────────────────────── */ /* ── Links ─────────────────────────────────────────────── */
--link-color: #58e168; --link-color: #c3c0ff;
--link-color-hover: #000601; --link-color-hover: #faf6ff;
--link-external-color: #ffb1c1; --link-external-color: #ffb4a3;
--link-unresolved-color: #879583; --link-unresolved-color: #918fa3;
/* ── Tags ──────────────────────────────────────────────── */ /* ── Tags ──────────────────────────────────────────────── */
--tag-color: #000601; --tag-color: #faf6ff;
--tag-background: #16af3e; --tag-background: #3c24f6;
--tag-border-color: #58e168; --tag-border-color: #c3c0ff;
--tag-color-hover: #00390d; --tag-color-hover: #1d00a5;
--tag-background-hover: #58e168; --tag-background-hover: #c3c0ff;
/* ── Checkboxes ────────────────────────────────────────── */ /* ── Checkboxes ────────────────────────────────────────── */
--checkbox-color: #58e168; --checkbox-color: #c3c0ff;
--checkbox-color-hover: #16af3e; --checkbox-color-hover: #3c24f6;
--checkbox-border-color: #879583; --checkbox-border-color: #918fa3;
--checkbox-marker-color: #00390d; --checkbox-marker-color: #1d00a5;
/* ── Code Blocks ───────────────────────────────────────── */ /* ── Code Blocks ───────────────────────────────────────── */
--code-background: #161d15; --code-background: #1b1a25;
--code-normal: #dde5d7; --code-normal: #e4e0f0;
--code-comment: #879583; --code-comment: #918fa3;
--code-function: #58e168; --code-function: #c3c0ff;
--code-important: #ffb4ab; --code-important: #ffb4ab;
--code-keyword: #98d695; --code-keyword: #c3c0ff;
--code-operator: #ffb1c1; --code-operator: #ffb4a3;
--code-property: #bccbb7; --code-property: #c7c4da;
--code-punctuation: #3d4a3b; --code-punctuation: #464557;
--code-string: #ffb1c1; --code-string: #ffb4a3;
--code-tag: #ffb4ab; --code-tag: #ffb4ab;
--code-value: #98d695; --code-value: #c3c0ff;
/* ── Scrollbar ─────────────────────────────────────────── */ /* ── Scrollbar ─────────────────────────────────────────── */
--scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12); --scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12);
@@ -121,16 +121,16 @@
/* ── Inputs ────────────────────────────────────────────── */ /* ── Inputs ────────────────────────────────────────────── */
--input-shadow: none; --input-shadow: none;
--input-shadow-hover: 0 0 0 2px #879583; --input-shadow-hover: 0 0 0 2px #918fa3;
/* ── Graph View ────────────────────────────────────────── */ /* ── Graph View ────────────────────────────────────────── */
--graph-node: #58e168; --graph-node: #c3c0ff;
--graph-node-unresolved: #879583; --graph-node-unresolved: #918fa3;
--graph-node-focused: #000601; --graph-node-focused: #faf6ff;
--graph-node-tag: #98d695; --graph-node-tag: #c3c0ff;
--graph-node-attachment: #ffb1c1; --graph-node-attachment: #ffb4a3;
--graph-line: #3d4a3b; --graph-line: #464557;
--graph-background: #0e150d; --graph-background: #13121d;
} }

View File

@@ -4,35 +4,49 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "af3dc6a9ef643c24", "id": "81f0ebb32620dead",
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "0e89c1d1d5ec049c", "id": "140d404d9b2faf63",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "99 Templates/New File Template.md", "file": "10 Courses/02 - SoSe 2026/AT/29593852 - Strings.md",
"mode": "source", "mode": "source",
"source": false "source": false
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "New File Template" "title": "29593852 - Strings"
} }
}, },
{ {
"id": "4a709921b51fcf11", "id": "e179fd2c20f4067e",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "10 Courses/02 - SoSe 2026/ET II/29592733 - Zählpfeilsysteme.md", "file": "20 Atlas/AT - Map of Content.md",
"mode": "source", "mode": "source",
"source": false "source": false
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "29592733 - Zählpfeilsysteme" "title": "AT - Map of Content"
}
},
{
"id": "1e58a188bb5d367b",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "10 Courses/02 - SoSe 2026/AT/29593952 - Regular Languages.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "29593952 - Regular Languages"
} }
} }
], ],
@@ -93,7 +107,7 @@
} }
], ],
"direction": "horizontal", "direction": "horizontal",
"width": 320.50418853759766 "width": 411.50418853759766
}, },
"right": { "right": {
"id": "8a65bc0c1d4d98f2", "id": "8a65bc0c1d4d98f2",
@@ -197,44 +211,53 @@
"darlal-switcher-plus:Open Symbols for the active editor": false "darlal-switcher-plus:Open Symbols for the active editor": false
} }
}, },
"active": "4a709921b51fcf11", "active": "e179fd2c20f4067e",
"lastOpenFiles": [ "lastOpenFiles": [
"10 Courses/02 - SoSe 2026/ET II/29592751 - Übungsaufgabe 1.md", "10 Courses/02 - SoSe 2026/AT/29593975 - Regular Expressions.md",
"10 Courses/02 - SoSe 2026/ET II/29592755 - Übungsaufgabe 2.md", "10 Courses/02 - SoSe 2026/AT/29593958 - Kleene star of languages.md",
"20 Atlas/ET II - Map of Content.md", "10 Courses/02 - SoSe 2026/AT/29593952 - Regular Languages.md",
"10 Courses/02 - SoSe 2026/ET II/29592733 - Zählpfeilsysteme.md", "10 Courses/02 - SoSe 2026/AT/29593940 - Formal Languages.md",
"00 Inbox/29593226 - ET_II_Folien_gesamt_020426.pdf.md", "10 Courses/02 - SoSe 2026/AT/29593935 - Kleene Star & Kleene Plus.md",
"10 Courses/02 - SoSe 2026/ET II/29592722 - Zeitabhängige Größen.md", "10 Courses/02 - SoSe 2026/AT/29593852 - Strings.md",
"10 Courses/02 - SoSe 2026/ET II/29592709 - Klausur.md", "20 Atlas/AT - Map of Content.md",
"10 Courses/02 - SoSe 2026/ET II/29592673 - Elektrotechnik II.md", "40 Extras/OOP_Lecture/3_exercises/sose26/0_teams/G01.md",
"10 Courses/02 - SoSe 2026/ET II/29592729 - Kirchhoffsche Gesetze.md", "30 Library/29595284 - v01.pdf",
"00 Inbox/29593224 - 29593223 - 29593223 - Elektrotechnik II.md", "30 Library/29595284 - v00.pdf",
"00 Inbox/29593223 - 29593223 - Elektrotechnik II.md", "30 Library/v01.pdf",
"00 Inbox/29593223 - Elektrotechnik II.md", "30 Library/v00.pdf",
"10 Courses/02 - SoSe 2026/Mathe II/29592601 - Integration.md", "10 Courses/02 - SoSe 2026/AT/29593850 - Automationtheory.md",
"99 Templates/New File Template.md", "40 Extras/OOP_Lecture/news.md",
"20 Atlas", "40 Extras/OOP_Lecture/README.md",
"30 Library/29592593 - ET_II_Folien_gesamt_020426.pdf", "40 Extras/OOP_Lecture/6_exams/sose25/img/q7.svg",
"10 Courses/02 - SoSe 2026/ET II/Zählpfeilsysteme.md", "40 Extras/OOP_Lecture/6_exams/sose25/img/q6.svg",
"10 Courses/02 - SoSe 2026/ET II/Elektrotechnik II.md", "40 Extras/OOP_Lecture/6_exams/sose25/img/q5.svg",
"00 Inbox/29592877 - review.md", "40 Extras/OOP_Lecture/6_exams/sose25/img/q4.svg",
"00 Inbox/29592872.615316667 - Lecture 1 Recp.md", "40 Extras/OOP_Lecture/6_exams/sose25/img/q3.svg",
"00 Inbox/1775572307685 - Lecture 1 Summary.md", "40 Extras/OOP_Lecture/6_exams/sose25/img/q2.svg",
"10 Courses/02 - SoSe 2026/ET II/Übungsaufgabe 1.md", "40 Extras/OOP_Lecture/6_exams/sose25/img/q1.svg",
"10 Courses/02 - SoSe 2026/ET II/Kirchhoffsche Gesetze.md", "40 Extras/OOP_Lecture/6_exams/sose25/img/q0.svg",
"10 Courses/02 - SoSe 2026/ET II/Zeitabhängige Größen.md", "40 Extras/OOP_Lecture/6_exams/sose23/img/uml1.pdf",
"10 Courses/02 - SoSe 2026/ET II/Übungsaufgabe 2.md", "40 Extras/OOP_Lecture/6_exams/sose23/img/q7.svg",
"30 Library/ET_II_Folien_gesamt_020426.pdf", "40 Extras/OOP_Lecture/6_exams/sose23/img/q6.svg",
"30 Library/d6d88eed747e389e597d2a19bb868ee6?cid=4b45b3a6f32c35a6d9ca5b1b07b760de", "40 Extras/OOP_Lecture/6_exams/wise24/exam_solution.pdf",
"30 Library/wget-log", "40 Extras/OOP_Lecture/6_exams/wise24/exam.pdf",
"10 Courses/01 - WiSe 2025_26/DAS/Formulas.md", "40 Extras/OOP_Lecture/6_exams/wise23/exam_solution.pdf",
"10 Courses/02 - SoSe 2026/Mathe II/Integration.md", "40 Extras/OOP_Lecture/6_exams/wise23/exam.pdf",
"Test File.md", "40 Extras/OOP_Lecture/6_exams/wise22/exam_solution.pdf",
"99 Templates/New File Template", "40 Extras/OOP_Lecture/6_exams/sose25/feedbacks.md",
"99 Templates", "40 Extras/OOP_Lecture/6_exams/sose25/evaluation.md",
"00 Inbox", "40 Extras/OOP_Lecture/6_exams/sose24/feedbacks.md",
"90 Archive", "40 Extras/OOP_Lecture/6_exams/sose24/evaluation.md",
"30 Library", "40 Extras/OOP_Lecture/6_exams/sose23/pitfalls.md",
"10 Courses/01 - WiSe 2025_26/ET/images/beispiel_knotenregel.png" "40 Extras/OOP_Lecture/6_exams/sose23/feedbacks.md",
"40 Extras/OOP_Lecture/6_exams/sose23/evaluation.md",
"40 Extras/OOP_Lecture/6_exams/sose22/feedbacks.md",
"40 Extras/OOP_Lecture/6_exams/sose22/evaluation.md",
"40 Extras/OOP_Lecture/6_exams/sose22/README.md",
"40 Extras/OOP_Lecture/6_exams/stories.md",
"40 Extras/OOP_Lecture/6_exams/statistics.md",
"40 Extras/OOP_Lecture/6_exams/instructions.md",
"40 Extras/OOP_Lecture/6_exams/grading.md",
"40 Extras/OOP_Lecture/6_exams/advices.md"
] ]
} }

View File

@@ -1,18 +0,0 @@
---
created: 2026-04-07 16:31
course:
topic:
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content

View File

@@ -1,18 +0,0 @@
---
created: 2026-04-07 16:32
course:
topic:
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content

View File

@@ -1,18 +0,0 @@
---
created: 2026-04-07 16:37
course:
topic:
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content

View File

@@ -1,19 +0,0 @@
---
created: 2026-04-07 22:23
course:
topic:
related:
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content

View File

@@ -1,19 +0,0 @@
---
created: 2026-04-07 22:23
course:
topic:
related:
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content

View File

@@ -1,19 +0,0 @@
---
created: 2026-04-07 22:24
course:
topic:
related:
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content

View File

@@ -1,19 +0,0 @@
---
created: 2026-04-07 22:26
course:
topic:
related:
type: lecture
status: 🔴
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content

View File

View File

View File

@@ -1,320 +0,0 @@
# Arithmetic
## Asymptotic Equivalence Classes (Big-O)
The equivalence relation definition given in the task is asking you to find functions that grow at the exact same rate (also known as Big-Theta $\Theta$):
$f asymp g <==> f in O(g) and g in O(f)$
Notation of $f in O(g)$ means "function $f$ doesn't grow faster than $g$"
### The "Dominant Term" Rule
To find which class a function belongs to, simplify it to its core growth rate:
1. **Drop all lower-order terms:** In $n^3 + n^2$, drop the $n^2$.
2. **Drop all constant multipliers:** $5n^2$ and $1000n^2$ both become just $n^2$.
3. **Identify the highest rank:** Factorials ($n!$) > Exponentials ($2^n$, $e^n$) > Polynomials ($n^3$, $n^2$) > Linear ($n$) > Logarithmic ($log n$) > Constant ($1$).
## Euclidian Algorithm
Purpose is to find the **GCD** (Greatest Common Divisor).
### Core Rule
Fill out this formula:
$$"Dividend" = ("Quotient" * "Divisor") + "Remainder"$$
1. **Divide** the bigger number by the smaller one
2. **How many times** does it fit -> $"Quotient"$
3. Find out **whats leftover** -> $"Remainder"$
4. **Shift to left** and repeat ($"Old Divisor" -> "Dividend"$, $"Remainder" -> "Divisor"$)
Result is the last $"Remainder"$ that is not $0$.
### Bezout Coefficients
**Goal:** find a $x$ and $y$ so that $"Divident" * x + "Divisor" * y = gcd("Dividend", "Divisor")$
1. **Rewrite Euclid (above) equations** to solve for remainder ($"Remainder" = "Old Remainder" - "Dividend" * "Divisor"$)
2. **Substitute remainders** -> $$
---
# Counting
## Inclusion-Exclusion Principle
Principle that dictates that when combining / overlapping sets, you have to make sure to not include elements that occur in multiple sets multiple times.
### Example:
How many integers between $1$ and $10^6$ are of the form $x^2$ or $x^5$ for some $x in NN$?
#### How many $x^2$?
$sqrt(10^6) = 10^3 = 1.000$
#### How many $x^5$?
By estimation:
$$
&15^5 = 759,375 && "--- in the range / below" 10^6 \
&16^5 = 1,048,576 && "--- outside the range / above" 10^6 \
&=> 15 "numbers in the form "x^5"exist" &&
$$
> [!warning]
> Now, we can't add $1,000$ and $15$, since there are numbers that match both, so we need to subtract these duplicates.
#### How many $x^2$ and $x^5$ / $x^10$?
$$
& 3^10 = 59,049 \
& 4^10 = 1,048,576 \
& => 3 "numbers that are both" x^2 "and" x^5 "exist"
$$
#### Final calculation:
Formula: $"Elements that are" x^2 + "Elements that are" x^5 - "Elements that are both"$
$==> 1,000 + 15 - 3 = 1,012$
### For two sets
$|"Total possibilities"| - |"Avoid 1"| - |"Avoid 2"| + |"Avoid Both"|$
Where
- $"Avoid 1"$ are all elements *not matching* condition 1
- $"Avoid 2"$ are all elements *not matching* condition 2
- $"Avoid Both"$ are all elements *not matching* condition 1 **and** 2
## Type of Task: Boolean Lattice
Find the amount of upper bounds in ${0, 1}^5$ for the set of vectors $S = {x, y, z}$
$$
& x = (0, 1, 0, 0, 0) \
& y = (0, 0, 1, 0, 1) \
& z = (0, 1, 1, 0, 0) \
$$
> [!INFO]
> Method used is called **All-Zero Column Method**
We look for columns that have $0$'s in all three vectors: Column $1$ and $4$, that's $2$ columns, so we define $k = 2$.
To get our result we calculate $2^k$ since there are only two possible states for each value $(0, 1)$:
$2^2 = 4$.
So we have **4** upper bounds in total.
> [!INFO]
> For the amount of lower bounds we'd check for all-ones columns
---
# Functions
A function takes in an element from its **domain**, transforms it in someway and outputs that transformed element, which is part of the **co-domain**.
Every element of the **domain** must map to a value in the **co-domain**, all values of the **co-domain** that are mapped to form the functions **image**.
A function must be **deterministic** - one input can only map to a single output.
## Notation
General function notation: $f: X -> Y$
> [!INFO]
> $f$: name of the function
> $X$: Domain
> $Y$: Co-domain
> $f(x)$: Image of $f$
> $X$, $f(x)$ and $Y$ are [[Set Theory | Set]]
For any $x in X$ the output $f(x)$ is an element of $Y$.
## Mapping Properties
### Injectivity
A function is _injective_ if every element in $y in f(x)$ has _at most_ one matching $x in X$.
- $forall y in Y,exists excl x in X : f(x) = y$
### Surjectivity
A function is _surjective_ if every element $y in Y$ has _at minimum_ one matching $x in X$
- $forall y in Y, exists x in X : f(x) = y$
### Bijectivity
A function is _bijective_ if every element $y in Y$ has _exactly_ one matching $x in X$ (it is _injective_ and _surjective_)
- $forall y in Y, exists excl x in X : f(x) = y$
---
# Logic
## Operators
| Operation | Explanation | Notation |
| ----------------- | ------------------------------------ | --------- |
| **and**<br> | Both $p$ and $q$ must be true | $p and q$ |
| **or** | Either $p$ or $q$ (or both) are true | $p or q$ |
| **not** | Negates the statement | $not p$ |
| **Implication** | If $p$ then $q$ | $=>$ |
| **Biconditional** | $p$ if and _only_ if $q$ | $<=>$ |
| **xor** | Either $p$ or $q$ but not both | $xor$ |
### Implied Operators
| Operation | Explanion | Notation |
| --------- | --------------------------------------- | -------------- |
| **nand** | $p$ and $q$ are not both true | $not(p and q)$ |
| **nor** | neither of $p$ and $q$ are true | $not(p or q)$ |
| **xnor** | $p$ and $q$ are both false or both true | $not xor$ |
---
# Relations
## Types of Relations
| Relation | Explanation | Example |
| ---------------- | :-------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| *transitive*<br> | "chain reaction", a information about $a$ in relation to $c$ can be inferred from the relations $a -> b$ and $b -> c$ | $a < b, b < c => a < c$ |
| *reflexive* | every element is related to itself with the given relation | $a <= a, 5 = 5$ |
| *anti-reflexive* | every element is *NOT* related to itself in the given relation | $a < a$ |
| *symmetric* | the given relation work both ways | $a = b => b = a$ |
| *antisymmetric* | the given relation only works both ways if $a$ and $b$ are the same | $a <= b, b <= a => a = b$ |
## Equivalence Relations
A relation $R$ is called _equivalence relation_ when it is _transitive, reflexive and symmetric_.
### Example:
**Question:** How many equivalence classes are there for the given equivalence relation?
$$
& ~ "on" {0, 1, 2, 3}^(2) \
& "defined by" (x_1, y_1) ~ (x_2, y_2) <==> x_1 + y_1 = x_2 + y_2
$$
> [!INFO]
> Meaning:
> The pairs $(x_1, y_1)$ and $(x_2, y_2)$ are equivalent to each other when the components of the pair added up have the same result.
Solving:
- Smallest possible sum: $(0 + 0) = 0$
- Biggest possible sum: $(3 + 3) = 6$
- All possible sums: $0, 1, 2, 3, 4, 5, 6$
Each possible sum creates it's own equivalence class. So there are $7$ equivalence classes.
> [!NOTE]
> All equivalence classes:
> $[0]_(~) = {(0, 0)}$
> $[1]_(~) = {(0, 1), (1, 0)}$
> $[2]_(~) = {(0, 2), (1, 1), (2, 0)}$
> $[3]_(~) = {(0, 3), (1, 2), (2, 1), (3, 0)}$
> $[4]_(~) = {(1, 3), (2, 2), (3, 1)}$
> $[5]_(~) = {(2, 3), (3, 2)}$
> $[6]_(~) = {(3, 3)}$
## Binary Relation
A binary relation is a relation $R$ between _exactly two_ elements $a in R$ and $b in R$. An example for a binary relation is $a <= b$
## Converse Relation
$C^top$ or $C^(-1)$ is the relation that occurs if the elements of a _binary relation_ are switched.
## Composition of Relations - Example
$$
"Compute" Q^top compose R "with:"\
Q = {(2, 2), (3, 3), (2, 1)} \
R = {(1, 2), (3, 3), (3, 1)} \
$$
### 1. Apply converse to $Q$:
$$
Q^top = {(2, 2), (3, 3), (1, 2)}
$$
### 2. Perform Composition:
Look at each pair in $R$, check if $Q^top$ has a pair starting with se second element in that pair:
$$
(1, 2) -> (2, 2) => (1, 2) \
(3, 3) -> (3, 3) => (3, 3) \
(3, 1) -> (1, 2) => (3, 2)
$$
### 3. Result:
$$Q^top compose R = {(1, 2), (3, 2), (3, 3)}$$
## Orders
An **Order** is a mathematical way to sort, rank or compare elements within a set, where some elements come "before" and "after" others.
A _binary relation_ is called an order if it is...
- [?] a *reflexive relation*
- [?] a *antisymmetric relation*
- [?] a *transitive relation*
---
# Set Theory
A set is a collection of _unordered_ elements.
A set cannot contain duplicates.
## Notation
### Set Notation
Declaration of a set $A$ with elements $a$, $b$, $c$:
$$A := {a, b, c}$$
### Cardinality
Amount of Elements in a set $A$
Notation: $|A|$
$$
A := {1, 2, 3, 4} \
|A| = 4
$$
### Well-Known Sets
- Empty Set: $emptyset = {}$
- Natural Numbers: $N = {1, 2, 3, ...}$
- Integers: $ZZ = {-2, -1, 0, 1, 2}$
- Rational Numbers: $QQ = {1/2, 22/7 }$
- Real Numbers: $RR = {1, pi, sqrt(2)}$
- Complex Numbers: $CC = {i, pi, 1, sqrt(-1)}$
### Set-Builder Notation
Common form of notation to create sets without explicitly specifying elements.
$$
A := {x in N | 0 <= x <= 5} \
A = {1, 2, 3, 4, 5}
$$
### Member of
Denote whether $x$ is an element of the set $A$
Notation: $x in A$
Negation: $x in.not A$
### Subsets
| Type | Explanation | Notation |
| ------------------------ | ---------------------------------------------------------------------- | ------------------- |
| **Subset** | Every element of $A$ is in $B$ | $A subset B$ |
| **Subset or equal to** | Every element of $A$ is in $B$, or they are the exactly same set | $A subset.eq B$ |
| **Proper subset** | Every element of $A$ is in $B$, but $A$ is definitely smaller than $B$ | $A subset.sq B$<br> |
| **Superset**<br> | $A$ contains everything that is in $B$ | $A supset B$ |
| **Superset or equal to** | $A$ contains everything that is in $B$, or they are identical | $A supset.eq B$ |
## Operations
### Union
Notation: $A union B$
Definition: all elements from both sets _without adding duplicates_
$$A := {1, 2, 3}\ B := {3, 4, 5}\ A union B = {1, 2, 3, 4, 5}$$
### Intersection
Notation:$A inter B$
Definition: all elements _contained in both sets_
$$
A := {1, 2, 3} \
B := {2, 3, 4} \
A inter B = {2, 3}
$$
### Difference
Notation: $A backslash B$
Definition: all elements _in $A$ that are not in $B$_
$$
A := {1, 2, 3} \
B := {3, 4, 5} \
A backslash B = {1, 2}
$$
### Symmetric Difference
Notation: $A Delta B$
Definition: all elements _only in $A$ or only in $B$_
$$
A := {1, 2, 3} \
B := {2, 3, 4} \
A Delta B = {1, 4}
$$
### Cartesian Product
Notation: $A times B$
Definition: all pairs of all elements in $A$ and $B$
$$
A := {1, 2} \
B := {3, 4, 5} \
A times B = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
$$
### Powerset
Notation: $cal(P)(A)$
Definition: all possible _Subsets of A_
$$
A := {1, 2, 3} \
cal(P)(A) = {emptyset, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
$$

View File

View File

View File

View File

View File

View File

@@ -1,5 +0,0 @@
# Notation
## 1. Sets and Logic
$|A|$: The *cardinality* (size) of finite set $A$.
$script(p)$

View File

@@ -1,284 +0,0 @@
## Asymptotic Equivalence Classes (Big-O)
The equivalence relation definition given in the task is asking you to find functions that grow at the exact same rate (also known as Big-Theta $\Theta$):
$f asymp g <==> f in O(g) and g in O(f)$
Notation of $f in O(g)$ means "function $f$ doesn't grow faster than $g$"
### The "Dominant Term" Rule
To find which class a function belongs to, simplify it to its core growth rate:
1. **Drop all lower-order terms:** In $n^3 + n^2$, drop the $n^2$.
2. **Drop all constant multipliers:** $5n^2$ and $1000n^2$ both become just $n^2$.
3. **Identify the highest rank:** Factorials ($n!$) > Exponentials ($2^n$, $e^n$) > Polynomials ($n^3$, $n^2$) > Linear ($n$) > Logarithmic ($log n$) > Constant ($1$).
## Euclidian Algorithm
Purpose is to find the **GCD** (Greatest Common Divisor).
### Core Rule
Fill out this formula:
$$"Dividend" = ("Quotient" * "Divisor") + "Remainder"$$
1. **Divide** the bigger number by the smaller one
2. **How many times** does it fit -> $"Quotient"$
3. Find out **whats leftover** -> $"Remainder"$
4. **Shift to left** and repeat ($"Old Divisor" -> "Dividend"$, $"Remainder" -> "Divisor"$)
Result is the last $"Remainder"$ that is not $0$.
### Bezout Coefficients
**Goal:** find a $x$ and $y$ so that $"Divident" * x + "Divisor" * y = gcd("Dividend", "Divisor")$
1. **Rewrite Euclid (above) equations** to solve for remainder ($"Remainder" = "Old Remainder" - "Dividend" * "Divisor"$)
2. **Substitute remainders** -> ## Inclusion-Exclusion Principle
Principle that dictates that when combining / overlapping sets, you have to make sure to not include elements that occur in multiple sets multiple times.
### Example:
How many integers between $1$ and $10^6$ are of the form $x^2$ or $x^5$ for some $x in NN$?
#### How many $x^2$?
$sqrt(10^6) = 10^3 = 1.000$
#### How many $x^5$?
By estimation:
$$
&15^5 = 759,375 && "--- in the range / below" 10^6 \
&16^5 = 1,048,576 && "--- outside the range / above" 10^6 \
&=> 15 "numbers in the form "x^5"exist" &&
$$
> [!warning]
> Now, we can't add $1,000$ and $15$, since there are numbers that match both, so we need to subtract these duplicates.
#### How many $x^2$ and $x^5$ / $x^10$?
$$
& 3^10 = 59,049 \
& 4^10 = 1,048,576 \
& => 3 "numbers that are both" x^2 "and" x^5 "exist"
$$
#### Final calculation:
Formula: $"Elements that are" x^2 + "Elements that are" x^5 - "Elements that are both"$
$==> 1,000 + 15 - 3 = 1,012$
### For two sets
$|"Total possibilities"| - |"Avoid 1"| - |"Avoid 2"| + |"Avoid Both"|$
Where
- $"Avoid 1"$ are all elements *not matching* condition 1
- $"Avoid 2"$ are all elements *not matching* condition 2
- $"Avoid Both"$ are all elements *not matching* condition 1 **and** 2
## Type of Task: Boolean Lattice
Find the amount of upper bounds in ${0, 1}^5$ for the set of vectors $S = {x, y, z}$
$$
& x = (0, 1, 0, 0, 0) \
& y = (0, 0, 1, 0, 1) \
& z = (0, 1, 1, 0, 0) \
$$
> [!INFO]
> Method used is called **All-Zero Column Method**
We look for columns that have $0$'s in all three vectors: Column $1$ and $4$, that's $2$ columns, so we define $k = 2$.
To get our result we calculate $2^k$ since there are only two possible states for each value $(0, 1)$:
$2^2 = 4$.
So we have **4** upper bounds in total.
> [!INFO]
> For the amount of lower bounds we'd check for all-ones columns
A function takes in an element from its **domain**, transforms it in someway and outputs that transformed element, which is part of the **co-domain**.
Every element of the **domain** must map to a value in the **co-domain**, all values of the **co-domain** that are mapped to form the functions **image**.
A function must be **deterministic** - one input can only map to a single output.
## Notation
General function notation: $f: X -> Y$
> [!INFO]
> $f$: name of the function
> $X$: Domain
> $Y$: Co-domain
> $f(x)$: Image of $f$
> $X$, $f(x)$ and $Y$ are [[Set Theory | Set]]
For any $x in X$ the output $f(x)$ is an element of $Y$.
## Mapping Properties
### Injectivity
A function is _injective_ if every element in $y in f(x)$ has _at most_ one matching $x in X$.
- $forall y in Y,exists excl x in X : f(x) = y$
### Surjectivity
A function is _surjective_ if every element $y in Y$ has _at minimum_ one matching $x in X$
- $forall y in Y, exists x in X : f(x) = y$
### Bijectivity
A function is _bijective_ if every element $y in Y$ has _exactly_ one matching $x in X$ (it is _injective_ and _surjective_)
- $forall y in Y, exists excl x in X : f(x) = y$## Operators
| Operation | Explanation | Notation |
| ----------------- | ------------------------------------ | --------- |
| **and**<br> | Both $p$ and $q$ must be true | $p and q$ |
| **or** | Either $p$ or $q$ (or both) are true | $p or q$ |
| **not** | Negates the statement | $not p$ |
| **Implication** | If $p$ then $q$ | $=>$ |
| **Biconditional** | $p$ if and _only_ if $q$ | $<=>$ |
| **xor** | Either $p$ or $q$ but not both | $xor$ |
### Implied Operators
| Operation | Explanion | Notation |
| --------- | --------------------------------------- | -------------- |
| **nand** | $p$ and $q$ are not both true | $not(p and q)$ |
| **nor** | neither of $p$ and $q$ are true | $not(p or q)$ |
| **xnor** | $p$ and $q$ are both false or both true | $not xor$ |
## Types of Relations
| Relation | Explanation | Example |
| ---------------- | :-------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| *transitive*<br> | "chain reaction", a information about $a$ in relation to $c$ can be inferred from the relations $a -> b$ and $b -> c$ | $a < b, b < c => a < c$ |
| *reflexive* | every element is related to itself with the given relation | $a <= a, 5 = 5$ |
| *anti-reflexive* | every element is *NOT* related to itself in the given relation | $a < a$ |
| *symmetric* | the given relation work both ways | $a = b => b = a$ |
| *antisymmetric* | the given relation only works both ways if $a$ and $b$ are the same | $a <= b, b <= a => a = b$ |
## Equivalence Relations
A relation $R$ is called _equivalence relation_ when it is _transitive, reflexive and symmetric_.
### Example:
**Question:** How many equivalence classes are there for the given equivalence relation?
$$
& ~ "on" {0, 1, 2, 3}^(2) \
& "defined by" (x_1, y_1) ~ (x_2, y_2) <==> x_1 + y_1 = x_2 + y_2
$$
> [!INFO]
> Meaning:
> The pairs $(x_1, y_1)$ and $(x_2, y_2)$ are equivalent to each other when the components of the pair added up have the same result.
Solving:
- Smallest possible sum: $(0 + 0) = 0$
- Biggest possible sum: $(3 + 3) = 6$
- All possible sums: $0, 1, 2, 3, 4, 5, 6$
Each possible sum creates it's own equivalence class. So there are $7$ equivalence classes.
> [!NOTE]
> All equivalence classes:
> $[0]_(~) = {(0, 0)}$
> $[1]_(~) = {(0, 1), (1, 0)}$
> $[2]_(~) = {(0, 2), (1, 1), (2, 0)}$
>$[3]_(~) = {(0, 3), (1, 2), (2, 1), (3, 0)}$
>$[4]_(~) = {(1, 3), (2, 2), (3, 1)}$
> $[5]_(~) = {(2, 3), (3, 2)}$
> $[6]_(~) = {(3, 3)}$
## Binary Relation
A binary relation is a relation $R$ between _exactly two_ elements $a in R$ and $b in R$. An example for a binary relation is $a <= b$
## Converse Relation
$C^top$ or $C^(-1)$ is the relation that occurs if the elements of a _binary relation_ are switched.
## Composition of Relations - Example
$$
"Compute" Q^top compose R "with:"\
Q = {(2, 2), (3, 3), (2, 1)} \
R = {(1, 2), (3, 3), (3, 1)} \
$$
### 1. Apply converse to $Q$:
$$
Q^top = {(2, 2), (3, 3), (1, 2)}
$$
### 2. Perform Composition:
Look at each pair in $R$, check if $Q^top$ has a pair starting with se second element in that pair:
$$
(1, 2) -> (2, 2) => (1, 2) \
(3, 3) -> (3, 3) => (3, 3) \
(3, 1) -> (1, 2) => (3, 2)
$$
### 3. Result:
$$ Q^top compose R = {(1, 2), (3, 2), (3, 3)} $$
## Orders
An **Order** is a mathematical way to sort, rank or compare elements within a set, where some elements come "before" and "after" others.
A _binary relation_ is called an order if it is...
- [?] a *reflexive relation*
- [?] a *antisymmetric relation*
- [?] a *transitive relation*
A set is a collection of _unordered_ elements.
A set cannot contain duplicates.
## Notation
### Set Notation
Declaration of a set $A$ with elements $a$, $b$, $c$:
$$ A := {a, b, c} $$
### Cardinality
Amount of Elements in a set $A$
Notation: $|A|$
$$
A := {1, 2, 3, 4} \
|A| = 4
$$
### Well-Known Sets
- Empty Set: $emptyset = {}$
- Natural Numbers: $N = {1, 2, 3, ...}$
- Integers: $ZZ = {-2, -1, 0, 1, 2}$
- Rational Numbers: $QQ = {1/2, 22/7 }$
- Real Numbers: $RR = {1, pi, sqrt(2)}$
- Complex Numbers: $CC = {i, pi, 1, sqrt(-1)}$
### Set-Builder Notation
Common form of notation to create sets without explicitly specifying elements.
$$
A := {x in N | 0 <= x <= 5} \
A = {1, 2, 3, 4, 5}
$$
### Member of
Denote whether $x$ is an element of the set $A$
Notation: $x in A$
Negation: $x in.not A$
### Subsets
| Type | Explanation | Notation |
| ------------------------ | ---------------------------------------------------------------------- | ------------------- |
| **Subset** | Every element of $A$ is in $B$ | $A subset B$ |
| **Subset or equal to** | Every element of $A$ is in $B$, or they are the exactly same set | $A subset.eq B$ |
| **Proper subset** | Every element of $A$ is in $B$, but $A$ is definitely smaller than $B$ | $A subset.sq B$<br> |
| **Superset**<br> | $A$ contains everything that is in $B$ | $A supset B$ |
| **Superset or equal to** | $A$ contains everything that is in $B$, or they are identical | $A supset.eq B$ |
## Operations
### Union
Notation: $A union B$
Definition: all elements from both sets _without adding duplicates_
$$ A := {1, 2, 3}\ B := {3, 4, 5}\ A union B = {1, 2, 3, 4, 5} $$
### Intersection
Notation:$A inter B$
Definition: all elements _contained in both sets_
$$
A := {1, 2, 3} \
B := {2, 3, 4} \
A inter B = {2, 3}
$$
### Difference
Notation: $A backslash B$
Definition: all elements _in $A$ that are not in $B$_
$$
A := {1, 2, 3} \
B := {3, 4, 5} \
A backslash B = {1, 2}
$$
### Symmetric Difference
Notation: $A Delta B$
Definition: all elements _only in $A$ or only in $B$_
$$
A := {1, 2, 3} \
B := {2, 3, 4} \
A Delta B = {1, 4}
$$
### Cartesian Product
Notation: $A times B$
Definition: all pairs of all elements in $A$ and $B$
$$
A := {1, 2} \
B := {3, 4, 5} \
A times B = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
$$
### Powerset
Notation: $cal(P)(A)$
Definition: all possible _Subsets of A_
$$
A := {1, 2, 3} \
cal(P)(A) = {emptyset, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
$$

View File

@@ -0,0 +1,7 @@
---
created: 2026-04-08 08:50
course: "[[29593850 - Automationtheory]]"
type: overview
tags:
- university
---

View File

@@ -0,0 +1,71 @@
---
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$.

View File

@@ -0,0 +1,26 @@
---
created: 2026-04-08 10:09
course: "[[29593850 - Automationtheory]]"
topic: alphabets, characters
related:
type: lecture
status: 🟢
tags:
- university
---
## 📌 Summary
> [!abstract]
> Definition and examples of alphabets.
---
## 📝 Content
Alphabets are formal, non-empty, finite, sets of characters (or _letters_ or _symbols_). They are denoted by $Sigma$.
$Sigma = {a, b}$
> Alphabet $Sigma$ contains the characters $a$ and $b$.
$Sigma = {a, ..., z, A, ..., Z, 0, ..., 9}$
> usual alphabet for writing text

View File

@@ -0,0 +1,47 @@
---
created: 2026-04-08 10:15
course: "[[29593850 - Automationtheory]]"
topic: kleen
related: "[[29593929 - Alphabets]]"
type: lecture
status: 🟢
tags:
- university
---
## 📌 Summary
> [!abstract]
> Definition and Examples of the Kleene Star, the Kleene Plus and the Lemma Group Structure
---
## 📝 Content
### Kleene Star
Denoted by $Sigma^*$. The Kleene Star (or _Kleene operator_ or _Kleene Closure_) gives an infinite amount of [[29593852 - Strings|strings]] made up of the characters of the [[29593929 - Alphabets|alphabets]] $Sigma ^ *$.
$Sigma^*$ is the set of all string that can be generated by arbitrary concatenation of its characters.
> $Sigma^* := union.big_(n>=0) A_n$
> where $A_n$ is the set of all string combinations of length $n$
#### Remarks
- The same character can be used multiple times.
- The empty string $epsilon$ is also part f $Sigma^*$.
> [!Example]
> $Sigma^* {a, b} = {epsilon, a, b, "aa", "ab", "ba", "bb", "aaa", "aab", ...}$
> [!FACT]
> - The set $Sigma^*$ is infinite, since we defined $Sigma$ to be non-empty.
> - It is _countable_ and has the same cardinality as the set $NN$ of natural numbers
### Kleene Plus
The _Kleene Plus_ of an alphabet $Sigma$ is given by $Sigma^+ = Sigma^* backslash {epsilon}$
### Lemma group structure
The _Lemma group structure_ is induced by the [[29593935 - Kleene Star & Kleene Plus#Kleene Star|Kleene Star]] - it is a monoid, that is a semigroup with a neutral element.
> [!PROOF]
> - Associativity has been shown
> - Existence of a neutral element has been shown.
> - Closure under $circle.small$: Let $x in Sigma^*$ and $y in Sigma^*$ be two string over the alphabet $Sigma$. Then $x circle.small y = x y in Sigma^*$

View File

@@ -0,0 +1,54 @@
---
created: 2026-04-08 10:20
course: "[[29593850 - Automationtheory]]"
topic: languages
related:
type: lecture
status: 🟢
tags:
- university
---
## 📌 Summary
> [!abstract]
> Definition and example for formal languages
---
## 📝 Content
A formal _language_ of the alphabet $Sigma$ is a subset $L$ of $Sigma^*$.
> [!EXAMPLE]
> For alphabet $Sigma = {a, b}$, let $L_1$ be the set of all string starting with $b$, followed by an arbitrary number of $a$'s, and ending with $b$:
> $L_1 = {b a^n b | n in NN_0}$
> Then $b b in L_1, b a b in L_1$, etc.
>
>More in [[29593895 - atfl-st2026-l01-formal-languages-full.pdf#page=54]]
## Language Operations
### Concatenation of languages
For languages $X subset Sigma^*_X$ over alphabet $Sigma_X$ and $Y subset Sigma^*_Y$ over alphabet $Sigma_Y$, their _concatenation_ is
> $X circle.small Y = X Y = {x y bar x in X and y in Y}$
The concatenation of $X$ and $Y$ thus contains all string combinations where the prefix is a string from $X$ and the suffix is a string from $Y$.
> [!CONVENTION]
> Concatenation has a higher precedence than set operations ($union, inter$).
### Exponentiation of languages
The $n^"th"$ power of the language $L subset.eq Sigma^*$ over alphabet $Sigma$ is
- $L^0 := { epsilon }$
- $L^n := L^(n-1) L$ if $n > 0$
## Finite representation of languages
**Goal:** Represent a language using _finite_ information
### Using set notation
$S = {a^n b^m bar n, m >= 0} = {epsilon, a, b, "aa", "ab", ...}$
> This is limited in practice.
### Using regular expressions

View File

@@ -0,0 +1,24 @@
---
created: 2026-04-08 10:32
course: "[[29593850 - Automationtheory]]"
topic: languages
related: "[[29593940 - Formal Languages]]"
type: lecture
status: 🟢
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content
A language $L$ that can be described by a [[29593975 - Regular Expressions|Regular Expression]] $r$ (i. e. $L(r) = L$) is called _regular_.
> [!WARNING]
> There a several important languages that **cannot** be described by a regular expression.
> <mark style="background: #CACFD9A6;">(proof later)</mark>

View File

@@ -0,0 +1,25 @@
---
created: 2026-04-08 10:38
course: "[[29593850 - Automationtheory]]"
topic: kleene
related: "[[29593940 - Formal Languages]]"
type: lecture
status: 🟢
tags:
- university
---
## 📌 Summary
> [!abstract]
>
---
## 📝 Content
The _Kleene star_ $L^*$ of a language $L subset Sigma^*$ is the set of all strings (including the empty string $epsilon$) that can be generated by arbitrary concatenation of strings in the language, that is
> $L^* := union.big_(n >= 0) L^n$
> [!EXAMPLE]
> For $L = {01}$ one has $L^* = {epsilon, 01, 0101, 010101, ...}$
> $= {(01)^n bar n >= 0}$

View File

@@ -0,0 +1,34 @@
---
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)$).

View File

@@ -0,0 +1,7 @@
```dataview
TABLE topic AS "Concept", status AS "Review Status"
FROM "10 Courses/02 - SoSe 2026/AT"
WHERE type = "lecture" OR type = "concept"
SORT created ASC
```

Binary file not shown.

Binary file not shown.

36
30 Library/normalize_name.sh Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Check if a filename was provided
if [ -z "$1" ]; then
echo "Usage: $0 <filename>"
exit 1
fi
TARGET="$1"
# Check if the file actually exists
if [ ! -f "$TARGET" ]; then
echo "Error: File '$TARGET' not found."
exit 1
fi
# Get creation time (%W).
# Note: Returns 0 or '-' if the filesystem doesn't support birth time.
BTIME=$(stat -c %W "$TARGET")
# Fallback to last modification time (%Y) if birth time is unavailable
if [ "$BTIME" -eq 0 ] || [ "$BTIME" == "-" ]; then
BTIME=$(stat -c %Y "$TARGET")
fi
# Calculate the minute-based timestamp (equivalent to Math.floor(ms / 60000))
# Since stat returns seconds, we divide by 60.
FORMATTED_DATE=$(( BTIME / 60 ))
# Define the new name
NEW_NAME="${FORMATTED_DATE} - ${TARGET}"
# Perform the rename
mv "$TARGET" "$NEW_NAME"
echo "Renamed: '$TARGET' -> '$NEW_NAME'"

1
40 Extras/OOP_Lecture Submodule

Submodule 40 Extras/OOP_Lecture added at 55aef6d92e

View File

@@ -1,9 +1,3 @@
<%*
// Move the file to the Inbox immediately upon creation
let date = Math.floor(Date.now() / 60000)
let newName = `${date} - ${tp.file.title}`
await tp.file.move("/00 Inbox/" + newName)
-%>
--- ---
created: <% tp.date.now("YYYY-MM-DD HH:mm") %> created: <% tp.date.now("YYYY-MM-DD HH:mm") %>
course: course:
@@ -14,6 +8,12 @@ status: 🔴
tags: tags:
- university - university
--- ---
<%*
// Move the file to the Inbox immediately upon creation
let date = Math.floor(Date.now() / 60000);
let newName = `${date} - ${tp.file.title}`;
await tp.file.move("/00 Inbox/" + newName);
-%>
## 📌 Summary ## 📌 Summary
> [!abstract] > [!abstract]
@@ -22,4 +22,3 @@ tags:
--- ---
## 📝 Content ## 📝 Content