Commit Graph

46 Commits

Author SHA1 Message Date
Matthew Brecknell 84d2889d45 Isabelle2016: merge master into 2016 2016-02-19 16:17:26 +11:00
Gao Xin c45f88745c l4v-sabre: minor fix on dmo_ackInterrupt and foldME 2016-02-17 11:18:02 +11:00
Gao Xin bee4ba0052 l4v-sabre: fix refine 2016-02-17 11:18:02 +11:00
Matthew Brecknell 5ede1923a1 port Access proofs to Isabelle2016-RC2 2016-01-28 14:20:20 +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 b5a4c185d5 NonDetMonad 2016-01-09 18:57:59 +11:00
Thomas Sewell 91ff60c978 Adjust Strengthen, split out ProvePart. 2015-11-30 10:58:11 +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
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 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
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 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 87447665c0 added find_goals method and rewrote focus method to just use match. 2015-09-21 17:18:37 +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
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
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
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 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 eccc345f67 make unused-wp-warning a config option; false by default 2015-05-11 09:05:17 +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
Matthew Fernandez eca7cbe5e7 lib: Instantiate WPC for validNF. 2015-03-11 16:40:21 +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 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 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
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 50dda7708c comment cleanup 2014-07-22 18:10:20 +02: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