-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
show term ID is now responsive in explain path #28
Conversation
@@ -507,10 +507,6 @@ private void pathExplanationButton_Click(object sender, EventArgs e) | |||
highlightPath(cyclePath); | |||
_z3AxiomProfiler.UpdateSync(cyclePath); | |||
toRemove = cyclePath.GetInstnationsUnusedInGeneralization(); | |||
if (cyclePath.NeedsIds()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Out of interest, when does this function return true?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NeedsIds() is true when CycleDetection.NeedsIds is true, explained in the other conversation
@@ -561,10 +561,6 @@ private void printCycleInfo(InfoPanelContent content, PrettyPrintFormat format) | |||
if (!hasCycle()) return; | |||
var cycle = cycleDetector.getCycleQuantifiers(); | |||
var generalizationState = cycleDetector.getGeneralization(); | |||
if (generalizationState.NeedsIds) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When is this field set to true in the current code? Is it used for anything else?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This field is not used anywhere else.
CycleDetection.NeedsIds is true when:
- no generalization has been found for the first term nor the last term of the generalized loop
- the first term and the last term of the generalized loop has no dependent term
- the loop contains more than one term
This can be found in CycleDetection.MarkGeneralizations
(the conditions above are only what I interpreted from the code, it is unclear to me what is the higher-level semantics of NeedsIds)
resolves issue #17
@alexanderjsummers
'show term id' now is responsive during explain path, and is by default off