Daniel Matichuk
7dc01b557a
make fold_subgoals not prefix by default
...
fix case where flex-flex pairs would prevent subgoal folding
2016-01-20 14:41:41 +11:00
Daniel Matichuk
45291a6219
Isabelle2016: fix SimpStrategy for changes in simproc setup
2016-01-18 16:44:42 +11:00
Daniel Matichuk
b214ac035f
resurrected "defs" command for Isabelle2016-RC1
2016-01-18 15:10:47 +11:00
Daniel Matichuk
ca808130e6
repair ARM proofs up to Refine after factoring out architecture
2016-01-13 12:02:12 +11:00
Daniel Matichuk
8981f9d5aa
removed deleted theories from imports
2016-01-12 18:10:16 +11:00
Daniel Matichuk
d37a344783
cleanup for prod and when keyword
2016-01-12 16:07:28 +11:00
Daniel Matichuk
b7563eb788
fix lib for isabelle 2016
2016-01-12 14:58:16 +11:00
Gerwin Klein
a0131b5f3d
WP
2016-01-10 17:59:09 +11:00
Gerwin Klein
8079c795da
partial progres in Rule_By_Method
2016-01-10 17:49:15 +11:00
Gerwin Klein
5ba3c5e6e4
solves_tac
2016-01-10 17:49:01 +11:00
Gerwin Klein
b5a4c185d5
NonDetMonad
2016-01-09 18:57:59 +11:00
Gerwin Klein
d17345a801
Isabelle2016-RC0 up to WordLemmaBucket modulo Eisbach
2016-01-09 18:52:07 +11:00
Japheth Lim
a918b41163
Merge pull request #1 in SEL4/l4v from ~JALIM/l4v:etanercept-reloaded to master
...
* commit '28e6511148e7daeec3803465ca50294e2840ed4d':
etanercept: remove user config for CFLAGS; it could inject shell commands. Added -fwrapv to default CFLAGS.
etanercept: tweak header documentation.
etanercept: revert accidental change to int and nat translation.
etanercept: use term_pat antiquote, just for fun.
etanercept: search for C compiler at run time, not at init time.
etanercept: use HOLogic.
etanercept: improve exception throwing and messages.
etanercept: refactor variable handling. Uses Termtab for simplicity.
etanercept: add a couple more examples.
etanercept: refactor type lookup code.
etanercept: avoid unnecessary floating point code.
etanercept: add options: debug, timeout, and CFLAGS.
etanercept: rename user command to "word_refute".
2015-12-08 05:47:40 +00:00
Japheth Lim
28e6511148
etanercept: remove user config for CFLAGS; it could inject shell commands.
...
Added -fwrapv to default CFLAGS.
2015-12-04 16:37:25 +11:00
Japheth Lim
4c982bd80b
etanercept: tweak header documentation.
2015-12-04 16:18:56 +11:00
Thomas Sewell
7ac0157bba
Oops.
2015-12-04 14:24:20 +11:00
Thomas Sewell
f54964a05d
More fixes, hopefully closer.
2015-12-04 14:01:38 +11:00
Japheth Lim
c5496f869e
etanercept: revert accidental change to int and nat translation.
2015-12-02 16:14:59 +11:00
Japheth Lim
36cc252bd4
etanercept: use term_pat antiquote, just for fun.
2015-12-02 16:14:59 +11:00
Japheth Lim
508e6b1968
etanercept: search for C compiler at run time, not at init time.
2015-12-02 16:14:59 +11:00
Japheth Lim
f59bc9e826
etanercept: use HOLogic.
2015-12-02 16:14:59 +11:00
Japheth Lim
58e5303315
etanercept: improve exception throwing and messages.
2015-12-02 16:14:59 +11:00
Japheth Lim
8d35708666
etanercept: refactor variable handling. Uses Termtab for simplicity.
...
Also remove translation for Var. Vars in a proof state are interpreted
as existentially- rather than forall-quantified.
2015-12-02 16:14:59 +11:00
Japheth Lim
2c299c07fa
etanercept: add a couple more examples.
2015-12-02 16:14:58 +11:00
Japheth Lim
310d5fdc84
etanercept: refactor type lookup code.
2015-12-02 16:14:58 +11:00
Japheth Lim
a03c0fa046
etanercept: avoid unnecessary floating point code.
2015-12-02 16:14:58 +11:00
Japheth Lim
169f66bd1e
etanercept: add options: debug, timeout, and CFLAGS.
2015-12-02 16:14:58 +11:00
Japheth Lim
e4826d0616
etanercept: rename user command to "word_refute".
2015-12-02 16:14:58 +11:00
Japheth Lim
2bb62173e5
Merge pull request #15 from mfernandez/bdb0dc61-c039-4651-89b1-3d72a8b07fd3
...
lib: Add a new nitpick-style command for refuting word problems.
2015-12-02 16:10:02 +11:00
Thomas Sewell
043a69c81b
Fix Orphanage from array changes, refactor.
...
Some generalisation is done in finaliseSlot_invs'' to avoid
duplicating it in Orphanage and PageTableDuplicates.
Finally cleanup in haskell translation.
2015-12-02 09:15:32 +11:00
Thomas Sewell
375b526b0c
Finally done with array assertions.
2015-12-02 09:08:27 +11:00
Thomas Sewell
22f5f2f005
Further work on array assertions.
2015-12-02 09:07:15 +11:00
Thomas Sewell
4fd43512bb
WIP on handling array assertions. Up to Retype_C.
...
This is quite a lot of work in the end. I've had to gut most of
Retype_C along the way. Nearly done there.
2015-12-02 09:06:06 +11:00
Thomas Sewell
6fa0909124
Partial progress on using array assertions.
2015-12-02 09:05:04 +11:00
Thomas Sewell
91ff60c978
Adjust Strengthen, split out ProvePart.
2015-11-30 10:58:11 +11:00
Matthew Fernandez
53376140e0
lib: Add a new nitpick-style command for refuting word problems.
2015-11-27 14:25:29 +11:00
Corey Lewis
f0ce95aa11
Fix wp_del for crunch.
2015-11-23 17:46:50 +11:00
Daniel Matichuk
3af6a6b0da
added timing methods
2015-11-20 16:02:13 +11:00
Corey Lewis
a2cc6ab301
Added wp_del and simp_del arguments to crunch.
2015-11-12 12:23:04 +11:00
Japheth Lim
55c6cca7fb
lib: add term_pat: ML antiquotation for pattern matching on terms.
2015-11-11 18:57:46 +11:00
Thomas Sewell
cb6234a718
Move strengthen rules to Strengthen; adjust WPBang.
2015-10-29 11:27:54 +11:00
Thomas Sewell
aab5d41436
Facelift Strengthen; introduce WPBang.
...
Give Strengthen its own theory and a much more robust and general
implementation. However take away its ability to do elimination, maybe
to be restored.
Introduce a new theory, WPBang, for applying wp safe rules, with possible
attribute wp! (attribute yet to be implemented).
Still testing out both adjustments.
2015-10-29 11:27:54 +11:00
Daniel Matichuk
b1cd097849
Eisbach_WP: Added wp_drop_imp and wp_strong_drop_imp
2015-10-26 15:39:15 +11:00
Daniel Matichuk
040c6be903
Eisbach_WP: extra "end"
2015-10-26 15:39:15 +11:00
Daniel Matichuk
6ba1095d66
Eisbach_WP: Renamed WPU to WPI and changed the default behaviour to be safe (not ever dropping antecedents)
2015-10-26 15:39:15 +11:00
Matthew Fernandez
e9257ae5b0
lib: Many helpers about `fold op ++`.
2015-10-23 11:54:04 +11:00
Matthew Fernandez
36c5cb6860
lib: Another CAmkES helper lemma.
2015-10-23 11:36:39 +11:00
Rafal Kolanski
c1eb235105
Merge 'verification/master' into priority-bitmap
...
Green build except for:
CParserTest (WTF Duplicate fact declaration "dc_20081211.dc_20081211.test_modifies")
AutoCorresSEL4 (waiting on result)
There is still a carefully managed sorry in Schedule_R, waiting on the C
parser FNSPEC+DONT_TRANSLATE fix.
2015-10-21 06:19:20 +11:00
Rafal Kolanski
930a2ff179
priority-bitmap: Update Haskell->C refinement
...
(modulo clz_spec locale problem)
2015-10-20 23:52:07 +11:00
Rafal Kolanski
950705bf42
priority-bitmap: let lib/CTranslation see word_clz
...
Move word_clz and word_log definitions into WordLib;
have CTranslationNICTA import WordLib.
2015-10-20 23:51:42 +11:00
Rafal Kolanski
7860bd4351
priority-bitmap: move word_log2/clz to WordLemmaBucket
...
Resolves some FIXMEs in Schedule_R.
2015-10-20 23:50:37 +11:00
Rafal Kolanski
2a9d3022f2
priority-bitmap: Update abstract->Haskell refinement
...
Added word_log2 and word_clz (inline for now, will migrate them out to
lib later).
Proved most important properties of word_log2 and some basic
count leading zeros properties (word_clz). The former were painful.
Thanks to Thomas, we have a nice tactic for dealing with complicated
obj_at' predicates in conclusion: normalise_obj_at'
2015-10-20 23:40:44 +11:00
Matthew Fernandez
ad1718d040
lib: More random helpers brought to you by CAmkES.
2015-10-20 17:15:29 +11:00
Daniel Matichuk
a9549337cd
Eisbach_WP: Added "wpu" as the next iteration of "wpstr". Re-written from the ground up for some performance
...
gains and in order to deal with quantifiers in the postcondition.
2015-10-15 20:02:47 +11:00
Daniel Matichuk
a5ad151a63
Eisbach_WP: Made wpstr_unsafe to ignore safety heuristics. Some cleanup.
2015-10-13 14:55:13 +11:00
Daniel Matichuk
bdb810c9be
Eisbach_WP: Avoid introducing inconsistent preconditions while strengthening.
...
By extension this also avoids some unsafe rules in the wp set and trying to lift "False" out of the postcondition.
2015-10-13 12:00:08 +11:00
Daniel Matichuk
e44027536d
Eisbach_WP: Cleaned up with a few comments. Added another safety condition for lifting in wpstr, as well
...
as an override for forcing postconditions through despite being apparently unsafe.
2015-10-12 20:11:24 +11:00
Daniel Matichuk
d7f8306a62
Eisbach_WP: Avoid extra backtracking by only "try"ing on search leaves.
2015-10-12 20:11:24 +11:00
Daniel Matichuk
2a36f6d038
Eisbach_WP: Made more self_contained wpstr. Sped things up by explicitly decomposing the goal.
2015-10-12 20:11:24 +11:00
Daniel Matichuk
60ae9fe9af
Added post_strengthen for strengthening post conditions using wp (by guessing strengthening
...
candidates with subterm selection from the post condition).
2015-10-12 20:11:24 +11:00
Daniel Matichuk
15bbed6958
Changed safe folding to use custom meta-conjunction to avoid negative
...
interactions with standard tools.
2015-10-12 20:11:24 +11:00
Daniel Matichuk
a8ee4ae508
Merge remote-tracking branch 'verification/master' into aep-merge
...
Conflicts:
lib/Eisbach_Methods.thy
lib/wp/Eisbach_WP.thy
2015-09-30 13:56:30 +10:00
Daniel Matichuk
59e61472cf
Added hoare_decompose method for transforming hoare triples with conjunctions in the post condition.
...
Generalized "post" method into "post_strong" which attempts to simplify postconditions
by assuming the others.
2015-09-30 13:34:16 +10:00
Daniel Matichuk
7fccb56197
cleanup of Eisbach_Methods. Adding some documentation and some more methods
2015-09-30 13:34:16 +10:00
Daniel Matichuk
1fe15853eb
added conjuncts attribute/dynamic theorem for decomposing meta-conjunctions into proper facts
2015-09-30 13:34:16 +10:00
Daniel Matichuk
ec51ebde42
addressed issue with meta-quantifiers
...
JIRA VER-458
2015-09-21 17:18:37 +10:00
Daniel Matichuk
87447665c0
added find_goals method and rewrote focus method to just use match.
2015-09-21 17:18:37 +10:00
Daniel Matichuk
e45ee104c9
removed dead code
2015-09-21 17:18:36 +10:00
Daniel Matichuk
31752e8e50
refined find_theorems filter to compare names rather than props
2015-09-21 17:18:36 +10:00
Daniel Matichuk
d88e48ea7a
added optional find_theorems query to filter output of Apply_Trace
2015-09-21 17:18:36 +10:00
Daniel Matichuk
b3422bb155
fixed Apply_Trace (removed broken mentioned_facts feature)
2015-09-21 17:18:36 +10:00
Matthew Fernandez
b54587e19e
lib: Some pair-related lemmas for LemmaBucket.
2015-09-21 17:18:36 +10:00
Daniel Matichuk
143073d55a
addressed issue with meta-quantifiers
...
JIRA VER-458
2015-09-21 10:41:33 +10:00
Daniel Matichuk
f9060af219
added find_goals method and rewrote focus method to just use match.
2015-09-21 10:41:33 +10:00
Daniel Matichuk
effa148920
removed dead code
2015-09-17 14:33:13 +10:00
Daniel Matichuk
8da0aece25
refined find_theorems filter to compare names rather than props
2015-09-17 14:25:58 +10:00
Daniel Matichuk
c0d750559b
added optional find_theorems query to filter output of Apply_Trace
2015-09-17 14:03:47 +10:00
Daniel Matichuk
50dbd02212
fixed Apply_Trace (removed broken mentioned_facts feature)
2015-09-16 17:02:50 +10:00
Ramana Kumar
0fb88ea01c
Merge branch 'master' into aep-merge
...
This commit should at least remove merge conflict markers, and the idea
is that at least refine, crefine, drefine, and infoflow (with sorrys)
build. Subsequent commits may be required to fix build issues that I
have not picked up.
2015-09-10 17:06:45 +10:00
Matthew Fernandez
bcdadb1816
lib: Some pair-related lemmas for LemmaBucket.
2015-09-09 18:44:19 +10:00
Ramana Kumar
d88a931ec7
history squashed patch for aep-binding
2015-09-02 15:43:39 +10:00
Matthew Fernandez
88b01788b3
lib: Fix import in Eisbach.
2015-08-19 17:59:15 +10:00
diekmann
780dc272fb
WordLemmaBucket: mehr lemma ist mehr gut
2015-08-19 15:14:31 +10:00
Matthew Fernandez
8f50ba4893
lib: Some more trivial map-related lemmas.
2015-08-15 12:17:26 +10:00
Matthew Fernandez
e5340b5cca
lib: More trivial helpers from CAmkES.
2015-08-12 13:54:56 +10:00
Matthew Fernandez
5073d065ad
lib: Fix: Rename duplicate lemma.
...
...and now back to our regularly scheduled program.
2015-08-11 17:27:09 +10:00
Matthew Fernandez
10f963db36
lib: Another trivial lemma for supporting CAmkES.
2015-08-11 15:53:28 +10:00
Matthew Fernandez
3f20d24822
lib: Import various helper lemmas from CAmkES.
2015-08-11 12:25:22 +10:00
Matthew Fernandez
f253415a9f
lib: Add a trivial lemma about `dom`.
...
This comes in handy when reasoning about large maps.
2015-08-07 12:16:46 +10:00
Thomas Sewell
e9180d5cb5
Repair refine/crefine for WCET annotations.
2015-07-14 14:23:29 +10:00
Thomas Sewell
ca4391881c
WIP on WCET annotations.
2015-07-14 14:23:29 +10:00
Daniel Matichuk
5c1e998b3a
Fixed theory import for Eisbach_WP
2015-07-09 21:49:47 -06:00
Daniel Matichuk
d9bef8965c
Moved wp-specific eisbach methods higher up import chain
2015-07-10 12:51:15 +10:00
Gerwin Klein
10bb7b39e3
remove NonDetMonad from C-Parser import chain
...
Including NonDetMonad too early introduces too many name clashes.
2015-07-09 14:47:25 +10:00
Daniel Matichuk
5c6a3371c4
Removed unused "Noting"
2015-07-08 17:05:19 +10:00
Daniel Matichuk
12a3fd829b
Point to correct (existing) Rule_By_Method
2015-07-08 16:59:40 +10:00
Daniel Matichuk
f1303ea5a6
Added hotfix for rule instantiation attributes (of/where)
2015-07-08 16:58:14 +10:00
Daniel Matichuk
30db9bb7a5
ArchAcc_AI checks with new subgoal command
2015-07-08 15:44:34 +10:00
Daniel Matichuk
b2d3cd6ebb
Added Rule_By_Method (@ and # attributes)
2015-07-08 15:44:33 +10:00
Daniel Matichuk
88d9281987
Updated to most recent version of subgoal focus (to match official version)
2015-07-08 15:44:33 +10:00
Daniel Matichuk
1f0f989498
updated to newest version of subgoal_focus
2015-07-08 15:44:33 +10:00
Daniel Matichuk
9882205e15
Most recent version of subgoal focus tools
2015-07-08 15:44:33 +10:00
Daniel Matichuk
173a4411b1
importing Eisbach by default, with some boilerplate
2015-07-08 15:44:33 +10:00
Daniel Matichuk
2423f01fdf
Added "subgoal" infrastructure
2015-07-08 15:44:33 +10:00
Daniel Matichuk
876e528a92
removed stale version of eisbach (now included in Isabelle2015).
2015-07-08 15:44:33 +10:00
Matthew Fernandez
ec7c8bd815
lib: Various trivialities related to CAmkES/CapDL proofs.
...
This commit contains a grab bag of lemmas used in CAmkES↔CapDL correspondence
proofs. Some of them are exceedingly brain dead. This is, in most cases,
because they have been extracted from automated proofs in order to avoid
generated proofs repeatedly proving the same trivial facts.
2015-06-30 12:26:08 +10:00
Gerwin Klein
0f943ec13c
clib: 2015 update
2015-05-17 22:24:25 +10:00
Gerwin Klein
a09c92bdce
lib/Focus: 2015 update
2015-05-16 21:47:45 +10:00
Gerwin Klein
f2cfeb2a0c
lib: fewer warnings in crunch and wps
2015-05-16 21:46:45 +10:00
Gerwin Klein
12fa86863a
fewer warnings
2015-05-16 19:52:49 +10:00
Gerwin Klein
7072c8e4a9
lib/sep_algebra: 2015 update
2015-05-14 11:40:55 +02:00
Gerwin Klein
eccc345f67
make unused-wp-warning a config option; false by default
2015-05-11 09:05:17 +02:00
Gerwin Klein
60c0573cf0
remove warnings
2015-05-11 09:04:59 +02:00
Gerwin Klein
be52a7c684
lib: more 2015 update
2015-05-09 13:03:30 +02:00
Gerwin Klein
17826f9b49
more Isabelle2015 update; AInvs up to (excluding) Syscall_AI
...
also includes some global replacements
2015-04-18 21:51:26 +01:00
Gerwin Klein
9c17bd32a4
some more lib updates for Isabelle2015
2015-04-17 22:06:38 +01:00
Gerwin Klein
190e7c38d6
start work on Isabelle 2015 update
2015-04-17 16:19:32 +01:00
Matthew Fernandez
eca7cbe5e7
lib: Instantiate WPC for validNF.
2015-03-11 16:40:21 +11:00
Matthew Fernandez
02c2f749b8
lib: Add a hoare_assume_pre variant for validNF.
2015-02-24 10:11:59 +11:00
Daniel Matichuk
a221a52350
Added new proofcount tool to "tools" and removed old one from "lib".
...
Removed reference to old proof_counting from proof/ROOT and spec/ROOT
2015-02-11 17:46:34 +11:00
Matthew Fernandez
1c2034d3c7
lib: Remove malformed comment.
...
This comment looks like a typo, in that it doesn't add to comprehension of this
theory, and it trips up LaTeX when generating a document.
2014-12-19 13:07:31 +11:00
Matthew Fernandez
bfb121594c
lib: Add some word helpers.
2014-12-17 11:58:15 +11:00
Matthew Fernandez
d6a211c86a
lib: Add a couple of WP lemmas for dealing with conjunts in postconditions.
2014-12-05 14:55:54 +11:00
David Greenaway
536a72bdad
lib: set: Add "filter" function for sets.
...
Can be more efficient than "Symset.dest x |> filter |> Symset.make"
because we know that the ordering is unmodified by filter.
2014-12-03 14:49:12 +11:00
Daniel Matichuk
7340fd048d
Renamed "focus" to "subgoal". Used correct keyword tag (prf_goal) to fix batch processing.
2014-12-02 13:56:43 +11:00
David Greenaway
b22a384931
lib: Add "solves" tactic.
...
Essentially does a "find_theorems solves" and automatically applies the
result.
The author makes no guarantees about the maintainability of proofs using
such a tactic.
2014-12-01 11:08:34 +11:00
Gerwin Klein
e4d8fb5dba
GHC 7.8 update (bitSize -> finiteBitSize)
2014-11-28 08:58:57 +11:00
Matthew Fernandez
6026d54cd7
lib: Misc helper lemmas.
2014-11-21 19:23:33 +11:00
Matthew Fernandez
687df6dc51
lib: misc masking lemma.
2014-11-20 14:58:11 +11:00
Thomas Sewell
e924e0758c
lib: Add 'word_bitwise_signed' tactic.
...
Works like 'word_bitwise' but on signed words.
2014-11-20 14:48:36 +11:00
Matthew Fernandez
9e3d5febf4
lib: More 64-bit jigsaw lemmas.
2014-11-19 16:53:24 +11:00
David Greenaway
474666b710
lib: Remove redundant shift-left/shift-right/div0 word lemmas.
...
Matt is always one step ahead of me.
2014-11-19 13:40:16 +11:00
Matthew Fernandez
fad90782c8
lib: Fix: Remove call to 'smt'.
...
Surprisingly tedious.
2014-11-19 12:26:27 +11:00
David Greenaway
01490fd1f2
lib: Random word lemmas about shift-left / shift-right / divide-by-zero.
...
Existing lemmas are (all?) conditional on the word size. These lemmas
are unconditional, albeit only work in the special case of "x >> 1" and
"x << 1".
2014-11-19 12:26:06 +11:00
Matthew Fernandez
b5e8695737
Merge branch 'master' of ssh://github.inside.nicta.com.au/seL4/l4v
...
Conflicts:
lib/WordLemmaBucket.thy
2014-11-19 07:39:46 +11:00
Matthew Fernandez
b053ce7647
lib: Helper lemmas for simplifying writes via char pointers.
2014-11-18 23:32:52 +11:00
Matthew Fernandez
7850af557b
lib: Rephrase popcount into def with to_bl.
2014-11-15 15:04:11 +11:00
Matthew Fernandez
46f96f5501
lib: more word helper lemmas.
2014-11-15 14:52:28 +11:00
Matthew Fernandez
43645bc0a0
lib: Add a function for talking about word popcounts.
2014-11-15 11:11:03 +11:00
Matthew Fernandez
2141c8cb50
lib: Add collection of misc word helpers.
2014-11-15 11:10:39 +11:00
Matthew Fernandez
7b7538b0a0
lib: Generalise word_div_mult to operate on all words.
2014-11-15 11:04:10 +11:00
Matthew Fernandez
2990ede08c
lib: Prove we can chop a word in half and put it back together.
2014-11-14 17:59:43 +11:00
David Greenaway
14581617f0
nicta-tools: Add "solved" tactic.
...
Ensures that all subgoals have been solved. If not, the tactic will fail
(causing backtracking).
Useful for creating proofs of the form:
apply ((make_lots_of_subgoals, auto, solved)[1])
where you can be sure that the current subgoal will either be entirely
discharged or left untouched.
2014-11-14 17:24:49 +11:00
Matthew Fernandez
64dd0b8f63
lib: Generalise fst_enumerate, snd_enumerate; add some more helpers.
2014-11-12 18:47:11 +11:00
Matthew Fernandez
281cbebe00
lib: Helper for message register offsets.
2014-11-12 17:02:16 +11:00
Matthew Fernandez
93e8a15d53
lib: misc lemmas.
2014-11-12 11:05:00 +11:00
Matthew Fernandez
fb56249d2c
lib: trivial helper for dealing with ∀ and pairs.
...
Comes in handy when juggling validNF_make_schematic_post in combination with a
Hoare triple with multiple bound variables.
2014-11-07 15:17:53 +11:00
Matthew Fernandez
28c30a9cc0
lib: yet more helper lemmas.
2014-11-07 12:53:21 +11:00
Matthew Fernandez
93cba84f09
lib: add some more bit manipulation helper lemmas.
2014-11-07 11:54:17 +11:00
David Greenaway
a58bdf0576
Trace_Attribs: Remove hooks in "Corres_UL" to allow "lib/" to build once more.
2014-11-05 18:16:23 +11:00
David Greenaway
3c01f08242
NICTACompat: Disable "Trace_Attrib".
...
Loading "Trace_Attrib" causes strange, unexplained lock-ups in
Isabelle/jEdit (and possibly Isabelle build). In particular, at random
times shortly after Trace_Attrib is loaded, everything will stop
processing with the CPU at 0%.
The root cause of this is currently unknown. This patch disables it
until the problem can be tracked down further.
2014-11-04 15:30:12 +11:00
Matthew Fernandez
ba83e00e7a
lib: Another bitfield helper lemma.
2014-11-04 11:53:30 +11:00
Matthew Fernandez
63346b52ed
lib: Add various word helper lemmas for bitfield proofs.
2014-11-04 09:11:35 +11:00
Matthew Fernandez
9d90bcf82c
lib: Fix some names from previous commit; couple more helpers.
2014-10-30 15:00:55 +11:00
Matthew Fernandez
36a0be9f26
lib: Add some misc helper lemmas.
2014-10-30 10:32:18 +11:00
David Greenaway
b737c6ba2a
focus: Get "Focus.thy" working on Isabelle 2014.
...
Was investigating if Focus could help solve a particular problem
(involving "apply subst" not being able to work with bound variables).
Didn't solve the particular problem I was facing, but committing the fix
to Focus none-the-less.
2014-10-20 15:04:33 +11:00
David Greenaway
e9dde6477a
autocorres: Move generic "set.ML" to "lib/" directory.
2014-10-15 11:11:20 +11:00
deang
6df2eb6cf9
infoflow: weakened assumptions for c refinement of infoflow adts
...
The fact that the C infoflow adt refines the abstract infoflow adt now only requires that given user operation is nonempty and not sane (nonempty and doesn't return an interrupt).
Also added some more general lemmas about fw_sim and refinement to lib/Simulation.thy.
2014-10-14 17:01:11 +11:00
David Greenaway
6c915fa629
infoflow: Move "EquivValid" out of "infoflow/", into "lib/".
...
More importantly, remove seL4 from the dependencies of "EquivValid", so
others can use it.
Also, we fixup the fallout.
2014-10-13 11:05:31 +11:00
David Greenaway
e0b7e21d56
attribute tracing: Mechanism to work out changes in simpsets across revisions.
...
The idea of this file is to allow users to determine how the simpset,
cong set, intro set, wp sets, etc. have changed from an old version of
the repository to a new version.
The process is as follows:
1. A user runs "save_attributes" on an old, working version of the
theory.
2. This tool will write out a ".foo.attrib_trace" file for each
theory processed.
3. The user modifies imports statements as required, possibly
breaking the proof.
4. The user can now run "diff_attributes" to determine what
commands they should run to restore the simpset / congset /etc
to something closer to the old version.
The tool is not complete, in that it won't always suggest the full set
of "simp add", "simp del", etc commands. Nor does it know that a rule
added to the simpset is causing a problem. It merely lists
a hopefully-sensible set of differences.
2014-10-13 11:05:31 +11:00
Daniel Matichuk
7577306226
Fixed apply trace for Isabelle 2014
2014-10-13 11:05:21 +11:00
David Greenaway
2e305baf24
lib: Add experimental "distinct" command.
...
The "distinct" command takes a list of 'n' terms, and generates O(n^2)
lemmas for you to prove that the 'n' terms are all distinct. These
proofs can typically be carried out by an "apply auto" command, giving
you O(n^2) distinctness theorems.
These new theorems can then be thrown into a simpset to avoid having to
constantly unfold definitions merely to prove distinctness.
This brings quite significant speedups in the "Example_Valid_State"
proof (demonstrated in the next commit), for example, as it means that
raw definitions need not be unfolded, and hence automated tactics don't
get side-tracked with their numerical definitions.
The "distinct" command is not really scalable, due to its O(n^2) proof
terms generated. If we wanted to use this in a larger example, we would
probably want a "ordered" command, which forces you to show that 'n'
terms have some ordering, and then automatically derive the O(n^2)
possible proof terms on-the-fly in a simproc (possibly using Isabelle's
existing "order_tac").
2014-10-07 08:59:17 +11:00
David Greenaway
37bfd30de6
NICTATools: Re-enable NICTATools import from NICTACompat.
...
NICTATools contains the occassionally-useful "unused meta-foralls"
warning, and the very-useful-but-still broken "apply_trace" command.
Add the import back, hoping that someone (Hi Dan!) comes and fixes the
"apply_trace" tool.
2014-10-01 16:03:15 +10:00
David Greenaway
ea63ccd7ed
HOLLemmaBucket: Add some random proofs.
2014-10-01 10:57:58 +10:00
David Greenaway
e3b893e7d6
Merge 'master' into 'isabelle-2014'.
...
Conflicts:
lib/Apply_Trace.thy
2014-09-18 09:23:12 +10:00
David Greenaway
d521a81232
lib: More Isabelle 2014 updates.
2014-09-18 09:21:11 +10:00
David Greenaway
5073f46533
apply_trace: Add lower-level interface for clearing/reading deps.
...
The lower-level interface is useful for ML hackers, trying to debug
their own ML tactics.
2014-09-17 16:38:16 +10:00
David Greenaway
cf0d1abce6
Merge 'master' into 'isabelle-2014'.
...
Conflicts:
proof/crefine/Fastpath_C.thy
proof/drefine/KHeap_DR.thy
proof/infoflow/Noninterference.thy
spec/design/version
sys-init/DuplicateCaps_SI.thy
sys-init/InitTCB_SI.thy
sys-init/Proof_SI.thy
tools/asmrefine/SimplExport.thy
tools/autocorres/tests/examples/SchorrWaite.thy
2014-09-17 14:21:13 +10:00
David Greenaway
0547cb707b
crunch: Reduce tracing messages, use "writeln" instead of "tracing".
...
Excessinve tracing messages cause jEdit to pause, waiting for the user
to click "Show more tracing output. We eliminate the debugging tracing
messages by default, and use "writeln" instead for the remainder.
("writeln" doesn't cause jEdit to pause.)
2014-09-16 11:14:09 +10:00
Andrew Boyton
97166be5a5
sys-init: Update sys-init and separation logic tactics for Isabelle 2014.
2014-09-12 17:48:39 +10:00
David Greenaway
730825abe5
capDL-api: Port to Isabelle 2014.
2014-09-12 11:40:28 +10:00
David Greenaway
03b1952aaa
crefine: Port CRefine to Isabelle 2014.
2014-09-11 16:57:59 +10:00
David Greenaway
4cb3f753a3
clib: ctac-method: Fix whitespace.
...
Remove tabs, delete trailing whitespace.
2014-09-10 17:27:41 +10:00
Andrew Boyton
7167ea42ac
CapDL: Made IRQ Nodes a new object type, not a small CNode.
...
IRQ Nodes are now their own object type in capDL. This makes it much easier
to distinguish between "real" CNodes and IRQ Nodes.
Updated:
* the capDL refinement,
* the access proofs, and
* the system initialiser.
2014-09-09 14:07:50 +10:00
Thomas Sewell
caf0529c7f
Move burden of 'halt' proof, use less modifies.
...
In detail:
- add a general user-specified exception to c_exntype
(for use in tools like Substitute)
- wrap calls to 'halt' in Guard {}, making it clearer that
halt is never called, simplifying asmrefine
- repair halt changes in crefine
- avoid use of some suspicious 'modifies' properties in crefine
which were generated by the parser for functions where inline
ASM blocks have been elided, and which may be inaccurate.
2014-08-29 13:57:28 +10:00
Thomas Sewell
0346fb20b6
SIMPL->Graph proofs largely working.
2014-08-27 15:30:34 +10:00
David Greenaway
5ab730970b
autocorres: Remove unnecessary rule from "whileLoop_results".
...
Thanks Tom for spotting this while proofing my thesis.
2014-08-13 12:18:46 +10:00
Thomas Sewell
fc6e57716a
Proof updates, working as far as AInvs.
2014-08-11 14:50:56 +10:00
Gerwin Klein
e8d1ed6ded
ported lib/* theories to Isabelle2014-RC0
2014-08-09 21:08:47 +10:00
Gerwin Klein
3c0b704ff2
retire unused theories
...
Upto is broken by the removal of the finite_intvl_succ class
2014-08-09 20:02:02 +10:00
Gerwin Klein
8d2cfe7417
CParser and lib tweaks; AutoCorres builds
...
CParser not finished yet, though: getting errors in cparser_test about linear
theory updates at end of thy.
Found more instances where we should be using Local_Theory.exit_global, but
might be besides the point (didn't help). Also might be overshooting the goal.
2014-08-09 19:23:17 +10:00
Gerwin Klein
12b1b0d16f
move isAligned to HaskellLib
...
Isabelle2014 doesn't like defs to be less general than the consts declaration.
2014-08-09 15:59:24 +10:00
Gerwin Klein
1af1d2b67b
some of the global Isabelle2014 renames
...
option_case -> case_option
sum_case -> case_sum
prod_case -> case_prod
Option.set -> set_option
Option.map -> map_option
option_rel -> rel_option
list_all2_def -> list_all2_iff
map.simps -> list.map
tl.simps -> list.sel(2-3)
the.simps -> option.sel
2014-08-09 15:39:20 +10:00
Lars Noschinski
fe36a97b4d
Port AutoCorres to Isabelle 2014-RC0
2014-08-08 17:29:54 +10:00
Corey Lewis
ffb0d165f6
Some more cleanup of drefine.
2014-07-23 15:29:20 +10:00
Gerwin Klein
154da63715
remove old levity and taint-mode comments
2014-07-22 18:10:28 +02:00
Gerwin Klein
50dda7708c
comment cleanup
2014-07-22 18:10:20 +02:00
Corey Lewis
d52d8ad148
Fix previous commit.
2014-07-19 00:04:21 +10:00
Corey Lewis
07b85fe034
Move some more lemmas into lib.
2014-07-18 17:23:07 +10:00
Gerwin Klein
84595f4233
release cleanup
2014-07-17 18:22:50 +02:00
Gerwin Klein
2a03e81df4
Import release snapshot.
2014-07-14 21:32:44 +02:00