Daniel Matichuk
76d817c5f8
corres_method: edge case with corres_search
...
Handle case where corres_search requires no searching at all.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
249c8b10ea
apply_debug: fix example in tutorial
2017-02-15 15:00:23 +11:00
Daniel Matichuk
59c2af424b
corres_method: use apply_debug by default
2017-02-15 15:00:23 +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
edcd32ba3a
apply_debug: update test/tutorial
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
74d2f78679
corres_method: add traces for corres method tests
2017-02-15 15:00:23 +11:00
Daniel Matichuk
7c1869b383
corres_method: avoid unnecessary goal restriction
...
This makes traces a bit more readable
2017-02-15 15:00:23 +11:00
Daniel Matichuk
1c0d72f3ce
apply_trace: avoid common name "foo" in test locale
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
96630f98a5
corres_method: add breakpoints
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
eb350158b4
apply_trace: general interface for printing
2017-02-15 15:00:23 +11:00
Daniel Matichuk
ab9f9154d3
apply_trace: attempt to give local facts
...
Do some name-mangling to try to find the most local variant of a fact
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
e240f0b067
apply_debug: support context modifications in wp
...
Rebuild the ruleset if the context changes during execution.
This allows breakpoints to modify the wp set (during a given execution),
although this does not survive outside of the method.
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
Daniel Matichuk
f8c58793e5
fixed algorithm for corres_search
...
added Corres_Test theory file with example proofs from VSpace_R
2017-02-15 15:00:23 +11:00
Daniel Matichuk
315acdc6f4
initial commit for corres method (experimental)
2017-02-15 15:00:22 +11:00
Gerwin Klein
0b9f61c2ea
bring CONTRIBUTORS up to date
...
(including new Data61 affiliations)
2017-02-12 13:13:02 +11:00
Gerwin Klein
520921351a
provide TCB argument for sanitiseRegister
...
Other platforms such as arm-hyp will need to look into additional TCB state
such as VCPU in sanitiseRegister. This commit provides the scaffolding for
that.
2017-02-12 12:54:42 +11:00
Gerwin Klein
3607dfabbf
haskell/design: remove unused functions
2017-02-12 12:33:05 +11:00
Gerwin Klein
82ab5500a1
abstract: remove two obsolete functions
2017-02-10 22:29:07 +11:00
Rafal Kolanski
a40d6986fd
lib: word and misc lemmas from SELFOUR-242 proofs
...
These precipitated out during cleanup.
2017-02-09 15:05:52 +11:00
Matthew Brecknell
1d43c99acc
Isabelle2016-1: fix Word_Miscellaneous import path
...
This was previously missed, because Isabelle ignores the import path
when the file is already part of a loaded image.
Reported-by: Daniel Matichuk <Daniel.Matichuk@data61.csiro.au>
2017-02-08 16:53:14 +11:00
Matthew Brecknell
d08ee04e2f
haskell: update documentation for building the Haskell kernel
2017-02-03 16:23:56 +11:00
Matthew Brecknell
aee13996a6
haskell: use stack to obtain suitable GHC and cabal
2017-02-01 17:31:21 +11:00
Matthew Brecknell
7a8f2b8980
trivial: use absolute paths in haskell .gitignore
2017-02-01 17:13:04 +11:00
Rafal Kolanski
ed2870bf37
trivial: fix missing dependency in WPTutorial
...
Missed this when moving refine.
2017-01-31 08:42:08 +11:00
Rafal Kolanski
7657681fca
move refine/* to refine/ARM/*, parametrise over $L4V_ARCH
2017-01-30 12:22:22 +11:00
Rafal Kolanski
6594aa2f9a
crefine: ARM support hypervisor-enhanced sanitiseRegister
...
On ARM with hypervisor extensions (arm-hyp), sanitiseRegister needs vcpu
data from the arch TCB component, thus adding an extra parameter.
This is a quick fix based around normal ARM not using that parameter,
and hence does not provide enough to get the proofs through on arm-hyp.
To do it properly requires additional work around the sanitiseRegister
call-site, which needs unwrapping it from asUser and zipWithM.
2017-01-30 11:37:23 +11:00