diff options
Diffstat (limited to 'content/zettel/4e2b.md')
-rw-r--r-- | content/zettel/4e2b.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/content/zettel/4e2b.md b/content/zettel/4e2b.md new file mode 100644 index 0000000..54b731a --- /dev/null +++ b/content/zettel/4e2b.md @@ -0,0 +1,47 @@ ++++ +title = "Łukasiewicz logic" +author = "Yann Herklotz" +tags = [] +categories = [] +backlinks = ["4e2a"] +forwardlinks = ["4e2a"] +zettelid = "4e2b" ++++ + +This logic has a different definition of implication. This has many +benefits, especially when one wants to differentiate between undefined +values and truth/false values. The main benefit is that one can actually +have tautologies in this logic, even with undefined values, whereas in +the Kleene logic ([\#4e2a]) there can be no tautologies, because +assigning all variable to `U` will end up with `U` every time. + +| A-\>B | F | U | T | +|-------|-----|-----|-----| +| F | T | T | T | +| U | U | T | T | +| T | F | U | T | + +This logic has the same exact definition of AND and OR than Kleene logic +([\#4e2a]), and these connectives can be expressed in terms of Ł3 +implication. + +```{=latex} +\begin{align} + A \lor B &= (A \rightarrow B) \rightarrow B \\ + A \land B &= \neg (\neg A \lor \neg B) \\ + A \Leftrightarrow B &= (A \rightarrow B) \land (B \rightarrow A) +\end{align} +``` +We can then define additional unary operators using the following: + +```{=latex} +\begin{align} + \mathcal{M} A &= \neg A \rightarrow A \\ + \mathcal{L} A &= \neg \mathcal{M} \neg A \\ + \mathcal{I} A &= \mathcal{M} A \land \neg \mathcal{L} A +\end{align} +``` +Especially the last, $\mathcal{I} A$, has interesting properties, +because it will be 1 iff A is 0, and will be -1 otherwise. + + [\#4e2a]: /zettel/4e2a |