summaryrefslogtreecommitdiffstats
path: root/content/zettel/3a8g5c2.md
blob: d9bed78619873646111193df6ce5d71379da7bfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
+++
title = "Linking the invariance of conditions to predicates"
author = "Yann Herklotz"
tags = []
categories = []
backlinks = ["3a8g5c1"]
forwardlinks = []
zettelid = "3a8g5c2"
+++

However, linking the invariance of conditions to the predicates is more
difficult than it originally seems, mainly because of disjunctions and
because the form of the predicates is well defined. The only structural
property one has of those predicates is the dynamic evaluation
equivalence of that predicate to the disjunction of the previous
predicates together with their path condition.

The random disjunctions in the predicate severely complicate the
argument of why a predicate will evaluate to false, because it is not
local anymore. As soon as one encounters a disjunction, one has to look
at the predecessors and one must find a condition which separates each
path from at least one other path from all the other predicates.

Otherwise, it would have been enough to say that if the condition who's
branch dominates the current point evaluates to false, that it implies
that the whole predicate evaluates to false. That is not the case though
with disjunctions, and a more complicated algorithm would be needed.