summaryrefslogtreecommitdiffstats
path: root/content/zettel/3c3g5.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/3c3g5.md')
-rw-r--r--content/zettel/3c3g5.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/content/zettel/3c3g5.md b/content/zettel/3c3g5.md
new file mode 100644
index 0000000..33f3523
--- /dev/null
+++ b/content/zettel/3c3g5.md
@@ -0,0 +1,21 @@
++++
+title = "Update function for operators"
+author = "Yann Herklotz"
+tags = []
+categories = []
+backlinks = ["3c3g4"]
+forwardlinks = ["3c3g6"]
+zettelid = "3c3g5"
++++
+
+Updating an existing abstract tree with an operation, which has the
+following syntax $i =$ `Iop` $p$ $\mathit{op}$ $\vec{r}$ $d$, can then
+be implemented as follows, where `Eop` $\mathit{op}$ $\vec{r}$ is the
+equivalent abstract expression used in the abstract language. This is
+done by using the following update function.
+
+$$ \upsilon (f, i) \equiv f \# d \leftarrow (f \# d) \oplus_{p} ((\top,\texttt{Eop } \mathit{op}) \otimes_f (\texttt{fold} \otimes_l (f\ \#\#\\vec{r})\ (\top, []))) $$
+
+This update function $\upsilon$ will update the correct node in the
+abstract evaluation tree with the correct symbolic value, which is a
+combination of the original symbolic value and the next.