You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The resulting pointer should point to a CDD node which is equivalent to true (In other wordsisEquiv should return true).
The resulting pointer should preferably point to the terminal true node after reduction (In other words after calling reduce the CDD should have isTrue return True).
The resulting pointer should if isTrue returns True be a terminal node (In other words after reducing and isTrue returns true then isTerminal should return true).
Actual
isEquiv to true returns false.
isTrue returns false.
isTerminal returns false.
Interpretation of the CDD dot image below: Looks correct as the diagonal constraint on the global clock allows all valuations of x (x1 on the image) to be true.
The dot output before and after reduction is the same (preview):
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 wordsisEquiv should return false).
The resulting pointer should preferably point to the terminal false node after reduction (In other words after calling reduce the CDD should have isFalse return True).
The resulting pointer should if isFalse returns True be a terminal node (In other words after reducing and isFalse returns true then isTerminal should return true).
Actual
isEquiv to false returns false.
isFalse returns false.
isTerminal returns false.
The dot output before and after reduction is the same (preview):
Clock guard
x >= 0
Expected
true
(In other wordsisEquiv
should returntrue
).true
node after reduction (In other words after callingreduce
the CDD should haveisTrue
returnTrue
).isTrue
returnsTrue
be a terminal node (In other words after reducing andisTrue
returnstrue
thenisTerminal
should returntrue
).Actual
isEquiv
totrue
returnsfalse
.isTrue
returnsfalse
.isTerminal
returnsfalse
.x
(x1
on the image) to betrue
.The dot output before and after reduction is the same (preview):
Experimentation
True
gives the same result (Here thex
is added to the cdd. Without the clock we just get the terminaltrue
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
false
(In other wordsisEquiv
should returnfalse
).false
node after reduction (In other words after callingreduce
the CDD should haveisFalse
returnTrue
).isFalse
returnsTrue
be a terminal node (In other words after reducing andisFalse
returnstrue
thenisTerminal
should returntrue
).Actual
isEquiv
tofalse
returnsfalse
.isFalse
returnsfalse
.isTerminal
returnsfalse
.The dot output before and after reduction is the same (preview):
Experimentation
WIP
The text was updated successfully, but these errors were encountered: