summaryrefslogtreecommitdiffstats
path: root/content/zettel/4e2b.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/4e2b.md')
-rw-r--r--content/zettel/4e2b.md47
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