Skip to content
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

Closed
wants to merge 3 commits into from

Conversation

TigerThePro
Copy link
Contributor

resolves issue #17
@alexanderjsummers
'show term id' now is responsive during explain path, and is by default off

@@ -507,10 +507,6 @@ private void pathExplanationButton_Click(object sender, EventArgs e)
highlightPath(cyclePath);
_z3AxiomProfiler.UpdateSync(cyclePath);
toRemove = cyclePath.GetInstnationsUnusedInGeneralization();
if (cyclePath.NeedsIds())
Copy link
Contributor

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?

Copy link
Contributor Author

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)
Copy link
Contributor

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?

Copy link
Contributor Author

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants