summaryrefslogtreecommitdiffstats
path: root/content/zettel/3c3g6.md
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2023-05-11 19:38:03 +0100
committerYann Herklotz <git@yannherklotz.com>2023-05-11 19:38:03 +0100
commit47c1289ff658a5aec71635d79ffe30bb29a07876 (patch)
tree56cf6b959e37fed88c492d34defd3d7ec40e7148 /content/zettel/3c3g6.md
parentfbe0fc62120348f582dc4db2b614078943d0764b (diff)
downloadzk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.tar.gz
zk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.zip
Add content
Diffstat (limited to 'content/zettel/3c3g6.md')
-rw-r--r--content/zettel/3c3g6.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/content/zettel/3c3g6.md b/content/zettel/3c3g6.md
new file mode 100644
index 0000000..cbdf84f
--- /dev/null
+++ b/content/zettel/3c3g6.md
@@ -0,0 +1,26 @@
++++
+title = "The need for abstract predicates"
+date = "2022-07-19"
+author = "Yann Herklotz"
+tags = []
+categories = []
+backlinks = ["3c3g5"]
+forwardlinks = ["3c3g7", "3c3g6a"]
+zettelid = "3c3g6"
++++
+
+In the previous version of the abstract language with predicated
+expressions, the predicates were concrete, which is wrong because they
+will then always be executed with respect to the original context. The
+way this can be fixed is by also keeping track of abstract predicates,
+however, then one ends up with predicates that might themselves be
+predicated. Currently, the idea is to recombine these into a predicate
+whenever this is needed, by anding all the elements in the list
+together. This generates massive predicates because at each exit and
+each predicate assignment, the predicates are multiplied together. Most
+of the time, these predicates are very easy to solve, however, after
+using the tseytin transformation, many additional variables are added
+which makes it much harder to solve.
+
+In general though, it seems like this analysis is at least correct,
+meaning it can find bugs hopefully.