diff options
Diffstat (limited to 'content/zettel/3a8g4a.md')
-rw-r--r-- | content/zettel/3a8g4a.md | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/content/zettel/3a8g4a.md b/content/zettel/3a8g4a.md new file mode 100644 index 0000000..6c3973f --- /dev/null +++ b/content/zettel/3a8g4a.md @@ -0,0 +1,35 @@ ++++ +title = "Rebuilding the correct order of arguments" +author = "Yann Herklotz" +tags = [] +categories = [] +backlinks = ["3a8g4"] +forwardlinks = ["3a8g4b"] +zettelid = "3a8g4a" ++++ + +This has been corrected in another note ([\#3a8g4b]). + +We therefore have to recreate the correct order of the arguments based +on the predecessors. The correctness of this might be quite hard to +show, however, the idea of the algorithm is the following: + +1. Find all the points of definition of the variables inside the φ + function, and get all the predecessors. The main idea is that the + definition points of the variables must necessarily dominate the + predecessor that should be used to select that variable. However, + the difficulty is that it might not uniquely dominate the + predecessor of the variable. +2. Find all the points of definition that dominate the minimum number + of predecessors. If there are more than one, this means that there + must be duplicate versions of the variable inside the φ function. +3. Take all the points where the number of predecessors that are + dominated by the point of definition also coincides with the number + of uses of that variable inside of the φ function. +4. Take the list of predecessors and map through it, always looking up + the variables that were assigned to that predecessor in the previous + step, and replace the predecessor in the list. +5. The result should be a correctly ordered list for the phi function, + which will work with an arbitrary order in the GSA input. + + [\#3a8g4b]: /zettel/3a8g4b |