Commit Graph

33 Commits

Author SHA1 Message Date
Gerwin Klein 3196054268 isabelle2021-1: remove extend from TheoryData
No longer required in Isabelle2021-1 for TheoryData and GenericData

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-03-29 08:38:25 +11:00
Gerwin Klein 0f633ce387 isabelle2021-1 lib: update Lib session, retire wpx
The benefit of the wpx method is not worth the maintenance effort.
There are still a few instances of wpx left in AInvs, which will have
to be fixed later.

We are keeping the wps method from the same file (WPEx.thy), because
that is used more widely and does not break with Isabelle2021-1

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2022-03-29 08:38:25 +11:00
Gerwin Klein 4bf1635b2f cleanup: reduce warnings
This mostly refactors ML code to avoid non-exhaustive matches, restore
the (op infix) syntax that got lost in a previous Isabelle update, and
removes some unused functions/parameters.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>
2021-09-30 16:53:17 +10:00
Gerwin Klein a424d55e3e licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Gerwin Klein 6b9d9d24dd Isabelle2018: new "op x" syntax; now is "(x)"
(result of "isabelle update_op -m <dir>")
2018-08-20 09:06:35 +10:00
Gerwin Klein b5cdf4703f globally use session-qualified imports; add Lib session
Session-qualified imports will be required for Isabelle2018 and help clarify
the structure of sessions in the build tree.

This commit mainly adds a new set of sessions for lib/, including a Lib
session that includes most theories in lib/ and a few separate sessions for
parts that have dependencies beyond CParser or are separate AFP sessions.
The group "lib" collects all lib/ sessions.

As a consequence, other theories should use lib/ theories by session name,
not by path, which in turns means spec and proof sessions should also refer
to each other by session name, not path, to avoid duplicate theory errors in
theory merges later.
2018-08-20 09:06:34 +10:00
Daniel Matichuk cccb7033b8 lib/apply_debug: show protected subgoals
This overrides the default proof state printing function to also
show any subgoals which have been hidden (protected).

This makes proof states shown during apply_debug more
comprehensible.
2017-04-06 12:11:54 +10:00
Daniel Matichuk cbff0aa5ec apply_debug: avoid hanging in batch mode 2017-02-24 13:32:59 +11:00
Daniel Matichuk 08a2bbf1e1 apply_debug: added "show_running" flag
Default behaviour now doesn't mark up the currently
running method - this seemed too confusing.
2017-02-15 15:00:23 +11:00
Daniel Matichuk be014b29bb apply_debug: hilight calling method
Both the breakpoint and "calling" method from
the original expression are highlighted as the breakpoint.

Note jEdit doesn't seem to highlight across theories (buffers?)
2017-02-15 15:00:23 +11:00
Daniel Matichuk ced7e45ad4 apply_debug: use entity markup from Isabelle2016-1
This makes use of modern dynamic markup so that
clicking on a "continue" can show us the current
breakpoint without needed strange proof state print
hacks.
2017-02-15 15:00:23 +11:00
Daniel Matichuk 82d2d945af apply_debug: remove per-continue flags
The implementation here was too messy for such an
esoteric feature.
2017-02-15 15:00:23 +11:00
Daniel Matichuk 8ec025de01 apply_debug: hack max_threads to avoid scheduling issues
I can't figure out how to keep the cleanup phase of the
Executions module while circumventing the scheduling limitation
imposed by max_threads.

This workaround just keeps max_threads high enough to schedule the threads needed
by all active apply_debug sessions.
2017-02-15 15:00:23 +11:00
Daniel Matichuk 8fdd5d3ac8 apply_debug: more robust fact binding for break method 2017-02-15 15:00:23 +11:00
Daniel Matichuk ebc81dd770 apply_debug: fix match issue
add testing file
2017-02-15 15:00:23 +11:00
Daniel Matichuk b8858709f5 apply_debug: make "break" syntax to capture tokens
This avoids mandatory "bounds" and lets break highlighting occur
inside of matches/eisbach methods
2017-02-15 15:00:23 +11:00
Daniel Matichuk 2d04efbb38 apply_debug: bind Eisbach context during break
This requires a few tricks, since this isn't readily available.
2017-02-15 15:00:23 +11:00
Daniel Matichuk 905f8e6f49 apply_debug: discard context modifications
Demotes "break" to a regular tactic, simplifying its integration with other tools
2017-02-15 15:00:23 +11:00
Daniel Matichuk c786015801 apply_debug: avoid hacks in evaluation markup
Fixed issue where match was executed in closure state
2017-02-15 15:00:23 +11:00
Daniel Matichuk 2b94552d28 apply_debug: clear initial dependencies for trace 2017-02-15 15:00:23 +11:00
Daniel Matichuk 49d3f643c4 apply_debug: allow tags/trace in either order 2017-02-15 15:00:23 +11:00
Daniel Matichuk 1c7f5cfeca apply_debug: integrate apply_trace
New "trace" modifier lets you trace between continues
2017-02-15 15:00:23 +11:00
Daniel Matichuk 3fdbc1fb23 apply_debug: use one less thread
Naive use of futures/forking causes apply_debug to block if
not enough threads are available.
2017-02-15 15:00:23 +11:00
Daniel Matichuk 7250bd1a54 apply_debug: add "wp" breakpoint
Lift low-level wp tactic into context_tactic to support
breakpoints modifying context (i.e. wp set)
2017-02-15 15:00:23 +11:00
Daniel Matichuk f3d3162fb0 apply_debug: cleanup test code 2017-02-15 15:00:23 +11:00
Daniel Matichuk 3d81f2ad97 apply_debug: allow per-continue tags 2017-02-15 15:00:23 +11:00
Daniel Matichuk 541f289916 apply_debug: add method-based breakpoint filtering
Also fix breakpoint hilights to work when no subgoals are present
2017-02-15 15:00:23 +11:00
Daniel Matichuk e5c74668de apply_debug: support break tags
Only trigger breakpoints based on active tags
2017-02-15 15:00:23 +11:00
Daniel Matichuk 3bc3581f51 apply_debug: hilight active breakpoint, cleanup
Inject a dummy print translation to guess which breakpoint is being looked at.
2017-02-15 15:00:23 +11:00
Daniel Matichuk 97c8619424 apply_debug: capture execution errors
- Avoid throwing exceptions on the proof thread, instead defer it to the final slot

- Manage current-method markup with extra thread, this properly clears on proof thread restarts
2017-02-15 15:00:23 +11:00
Daniel Matichuk 95742d0581 apply_debug: more synchronization issues
- Avoid starting the restart-managing thread until we have the first result.
- Fix accidental immediate restart.
- Better generational tracking to avoid stale threads manipulating the current
proof thread.
2017-02-15 15:00:23 +11:00
Daniel Matichuk 8a6350fa3f apply_debug: fix some synchronization issues
Generational tracking of tactic excursions and restarts
should block until previous results have been processed
2017-02-15 15:00:23 +11:00
Daniel Matichuk 21bd775bc0 apply_debug: add support for method re-play
This allows for execution to restart and re-play up
to the current "continue", regardless of whether or not
the overall execution has moved past it.
2017-02-15 15:00:23 +11:00