-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Clock guard x >= 0
Expected
- The resulting pointer should point to a CDD node which is equivalent to
true(In other wordsisEquivshould returntrue). - The resulting pointer should preferably point to the terminal
truenode after reduction (In other words after callingreducethe CDD should haveisTruereturnTrue). - The resulting pointer should if
isTruereturnsTruebe a terminal node (In other words after reducing andisTruereturnstruethenisTerminalshould returntrue).
Actual
isEquivtotruereturnsfalse.isTruereturnsfalse.isTerminalreturnsfalse.- Interpretation of the CDD dot image below: Looks correct as the diagonal constraint on the global clock allows all valuations of
x(x1on the image) to betrue.
The dot output before and after reduction is the same (preview):
digraph G {
"0x7ff83c9826d1" [shape=box, label="1", style=filled, height=0.3, width=0.3];
"0x7ff83c9826d0" [shape=box, label="0", style=filled, height=0.3, width=0.3];
"0x7ff80c1b00400" [shape=octagon, color = black, label="x1-x0"];
"0x7ff80c1b00400" -> "0x7ff83c9826d1" [style=dashed, label="[0;INF["];
}
Experimentation
True gives the same result (Here the x is added to the cdd. Without the clock we just get the terminal true node which is correct).
x >= n gives the same result for a negative n value.
x >= n || True gives the same result where n is 0 or negative.
x < n || x >= n gives the same result even if n is negative.
Clock guard x < 0
Expected
- The resulting pointer should point to a CDD node which is equivalent to
false(In other wordsisEquivshould returnfalse). - The resulting pointer should preferably point to the terminal
falsenode after reduction (In other words after callingreducethe CDD should haveisFalsereturnTrue). - The resulting pointer should if
isFalsereturnsTruebe a terminal node (In other words after reducing andisFalsereturnstruethenisTerminalshould returntrue).
Actual
isEquivtofalsereturnsfalse.isFalsereturnsfalse.isTerminalreturnsfalse.
The dot output before and after reduction is the same (preview):
digraph G {
"0x7ff09e67f6d1" [shape=box, label="1", style=filled, height=0.3, width=0.3];
"0x7ff09e67f6d0" [shape=box, label="0", style=filled, height=0.3, width=0.3];
"0x7ff0701400500" [shape=octagon, color = black, label="x1-x0"];
"0x7ff0701400500" -> "0x7ff09e67f6d1" [style=dashed, label="[0;0["];
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working

