Commit Graph

89 Commits

Author SHA1 Message Date
Rafal Kolanski b44959a108 CRefine: fix simp loop in Invoke_C
Also make use of prod.collapse & prod_eq_iff, dropping old versions.
2016-02-11 11:15:59 +11:00
Ramana Kumar 66747fe2fc remove some cpat
gets CKernel to build
2016-02-11 11:15:59 +11:00
Thomas Sewell 29648ac243 Reduce verbosity in GraphRefine. 2015-12-08 19:36:28 +11:00
Thomas Sewell 15d09a093a Parallelise GraphRefine in its default run. 2015-12-08 17:39:07 +11:00
Thomas Sewell f54964a05d More fixes, hopefully closer. 2015-12-04 14:01:38 +11:00
Thomas Sewell 175eb2da2d More fixes for pointer array assertions. 2015-12-03 17:30:08 +11:00
Thomas Sewell df40425731 Repair SimplExport/GraphRefine. 2015-12-03 16:34:11 +11:00
Thomas Sewell e2c5e1eb3d Treat guarded_spec_body like Spec in asmrefine.
The parser now emits guarded_spec_body for underspecified functions,
not Spec. SimplExport now treats them the same.
2015-11-24 17:52:53 +11:00
Thomas Sewell cc7cf154a5 Fiddling const global unfold in graph refine. 2015-08-18 17:24:23 +10:00
Thomas Sewell bd928d1793 Try to avoid emitting const-globals via memory.
Sometimes it's simpler to access an unknown field of a const
global by just computing the offset from its symbol in memory
and assuming the relevant words are in the .rodata section. But
for known fields, it's easier to just figure out what the
constant value is. This complicates the proof slightly, since
it has to guess which case it is in.
2015-08-17 23:35:06 +10:00
Thomas Sewell 99e7f82d0d Space out the CFunDump.txt file.
It's much easier to read that way.
2015-08-10 18:31:17 +10:00
Thomas Sewell 5f4a25b078 Improve guard handling in GraphRefine.
Needed for recent changes to how global validity assertions are
generated.
2015-07-28 22:43:03 +10:00
Thomas Sewell e4ab39f0a6 Repair merge. 2015-07-28 18:12:53 +10:00
Thomas Sewell a0b3a569df Really add all necessary PGlobalValid assertions. 2015-07-28 17:40:21 +10:00
Thomas Sewell 0b5182bd84 More adjustments to graph export/refine. 2015-07-16 13:44:25 +10:00
Thomas Sewell 4211cd2b1a Progress on upgrading GraphRefine.
Needed to handle new concepts being exported from Simpl.
2015-07-15 21:41:07 +10:00
Thomas Sewell 53e1c0c7df Update to SimplExport, fixes. 2015-07-15 11:48:39 +10:00
Thomas Sewell 44799b7663 Really add all necessary PGlobalValid assertions. 2015-07-15 11:48:39 +10:00
Thomas Sewell ca4391881c WIP on WCET annotations. 2015-07-14 14:23:29 +10:00
Gerwin Klein a9bebcfed5 asmrefine: 2015 udpate 2015-05-22 10:21:22 +10:00
Gerwin Klein e09f88d2e7 2015 update for CBaseRefine 2015-05-17 10:42:15 +10:00
Gerwin Klein 12fa86863a fewer warnings 2015-05-16 19:52:49 +10: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
Michael Norrish e4a38b4c65 Fix to GlobalsSwap.thy in light of cc996ca9ca 2015-04-09 16:56:03 +10:00
Thomas Sewell d330c7dff5 Slight adjustment. 2015-03-16 17:25:12 +11:00
Thomas Sewell dac89a46c1 Adjustments in GraphLang to support CDSL. 2015-03-13 01:21:10 +11:00
Thomas Sewell a818e13e3e Don't reuse the s_footprint_intvl theorem name. 2014-10-01 11:16:40 +10:00
Thomas Sewell 665a3c15a0 Restore global valid assertions in graph refine.
The global-object pointer validity assertion is now created at
export time, and the graph refine mechanism now proves them. It
seems they were forgotten about once again in adjusting the globals
logic.
2014-09-30 16:09:22 +10:00
Thomas Sewell 923bfec5b7 Update graph-refine for StaticFun change, bugfix. 2014-09-23 14:44:18 +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
Thomas Sewell aacaf3c86e Fix asmrefine stuff for 2014 branch. 2014-09-10 15:40:54 +10:00
David Greenaway 94677feafe cspec: Updates for Isabelle 2014. 2014-09-10 15:20:55 +10:00
Thomas Sewell 4c7ef803d7 SEL4GraphRefine now completed.
These final changes complete the SEL4GraphRefine process. Some
cleanup remains to be done, especially in SEL4GlobalsSwap, but the
process is now mature and working, and the testing code
in SEL4GraphRefine can be discarded.

Success depends on seL4 commit 97d6bc96d54f1f0beafb25033b03b57ba54a5113
which is compatible with crefine and will be included in the repo
manifest immediately.
2014-09-03 17:38:45 +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
Thomas Sewell 0c52978dd8 More asmrefine work, global swapping ready. 2014-08-21 14:13: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
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