Skip to content

Enable parallel TryCloseMacro; fix progress bar for macros#3939

Open
unp1 wants to merge 2 commits into
mainfrom
bubel/fixMTGUIRegression
Open

Enable parallel TryCloseMacro; fix progress bar for macros#3939
unp1 wants to merge 2 commits into
mainfrom
bubel/fixMTGUIRegression

Conversation

@unp1

@unp1 unp1 commented Jul 23, 2026

Copy link
Copy Markdown
Member

Intended Change

  1. Up to now the macro TryClose was restricted to use single core (SC) only. This restriction was based on
    experiences while multi-threading (MT) was non-deterministic and is no longer valid.

Note: FullAutoPilot dispatches the prover still sequentially one goal after each other, but for each such run multi-threading is now used. Dispatching all goals in parallel is not yet supported by the framework and would need some additional work and design decisions.

Up for discussion: should we increase the step budget for TryClose (we have now improved SC speed and MT so we could increase in general or just when MT is active).

  1. Fixes also the progress bar for SC which was broken by the MT PR
  2. Incorporates a GUI related performance fix from the Stipula case study concerning the GoalList: rendering of the goal list caused a waiting gap between when the prover finished and the GUI responds again on proof with many Goals >> 50 and long sequents.

Type of pull request

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • There are changes to the (Java) code

Ensuring quality

  • I have tested the feature as follows: manual tests
  • I have checked that runtime performance has not deteriorated: Improves GUI performance for large proofs with many goals and long sequents

Additional information and contact(s)

The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.

@unp1
unp1 force-pushed the bubel/fixMTGUIRegression branch 2 times, most recently from e8c7f41 to 56041d4 Compare July 23, 2026 16:13
- Stop pretty printing early when max length is reached.
- Until know GoalList printed the whole sequent and afterwards shortened,
  this becomes a bottleneck for proofs with many goals and long sequents

In StiupuLa that amounted to 7s to 10s freezing of the GUI after the prover finished
@unp1
unp1 force-pushed the bubel/fixMTGUIRegression branch from 56041d4 to b9543d7 Compare July 23, 2026 16:43
@wadoon
wadoon self-requested a review July 24, 2026 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant