vault backup: 2025-04-14 19:38:20

This commit is contained in:
2025-04-14 19:38:20 +02:00
parent 3c6cafc8ff
commit 6d08e555c2
9 changed files with 120 additions and 57 deletions

View File

@ -0,0 +1,55 @@
---
type: theoretical
ty:
---
## The foundations of computation
Looking for answers for basic questions like:
- Computability?
- Power $\leftrightarrow$ Programming constructs?
Which leads us to fundamental concepts like:
- State
- Transitions
- Non-determinism
- Undecideability
## Models
### Finite memory
Finite automata, regexp
![](Pasted%20image%2020250414190100.png)
### Finite memory with stack
Push down automata
![](Pasted%20image%2020250414190119.png)
### Unrestricted
Turing machines
![](Pasted%20image%2020250414190144.png)
## Grammars
![](Pasted%20image%2020250414190229.png)
On a higher level, it seems like grammars and machines are very different, but parsing a language (a set of strings) is quite similar to computation.
## State-based systems and glossary
An FSM can be a specification for OOP.
- States ($q_0,\ldots, q_n$)
- Transitions ($a,b,c,\ldots,z$)
- We can interpret the transitions as class methods and specify the sequences of allowed invocations - **typestate**
## Notation
- $x \in X, X\subseteq Y$
- $\forall x \in X: P(x), \exists x \in X: P(x)$
- $R \subseteq X \times Y$ is a relation between $X$ and $Y$
- $xRy \equiv (x,y) \in R$
- $G = (V, E)$, where $E \subseteq V\times V$ is a directed graph
Part of [Relations and Digraphs](Relations%20and%20Digraphs.md)

View File

@ -0,0 +1,36 @@
---
type: math
---
## Induction
Similar (if not the same) to:
- [Mathematical Proofs (Induction)](Mathematical%20Proofs%20(Induction).md)
- [Structural Proofs](Proofs.md)
- Base case $0\in \mathbb{N}$
- Inductive step - if $n\in \mathbb{N} \implies n+1\in \mathbb{N}$
- We allow a finite number of steps
I.e.
Given $f (n) = n(n + 1)$ for all $n\in N$, then $f (n)$ is even.
**Base case:** $f(0) = 0\times 1 = 0$, which is even
**I.S.:**
$$
f(n+1) = (n+1)(n+2)= n(n+1)+2(n+1) = f(n) + 2(n+1) \blacksquare
$$
## Strings and Languages
Literally the same as [Mathematical Data Structures](Mathematical%20Data%20Structures.md), but on strings
How to define the reversal of a string, inductively?
Let $w$ be a finite string. We define $w^R$ by induction on $|w|$:
**B.C.:**
$|w| = 0$, then, trivially, $w = \epsilon \therefore w^R = \epsilon$
**I.S.:**
$|w| = n \geq 1$, so $w = u a$ with $|u| = n-1$,

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 KiB