Commit Graph

3927 Commits

Author SHA1 Message Date
Gerwin Klein db8768234c riscv refine: initial state relation 2019-11-12 18:28:38 +11:00
Gerwin Klein 244e8fe32f riscv refine: initial design invariants
upd
2019-11-12 18:28:38 +11:00
Gerwin Klein 8be2ab8484 riscv refine: initial skeleton 2019-11-12 18:28:38 +11:00
Gerwin Klein d72e6b5263 riscv haskell: sync RISCVPageTableUnmap with C and spec
now in sync with seL4 change set f612028b180633dc4e404aaceee656da953f877d
2019-11-12 18:28:38 +11:00
Gerwin Klein ab43338feb riscv haskell: bring lookupPTFromLevel up to date with C and spec 2019-11-12 18:28:38 +11:00
Gerwin Klein 6b30142018 riscv haskell: maxUntypedSize depends on addressable memory
(not on word size)
2019-11-12 18:28:38 +11:00
Gerwin Klein 8e39bbbda9 riscv aspec: provide a constant for ppn word width 2019-11-12 18:28:38 +11:00
Gerwin Klein 430a345aeb riscv aspec: avoid type variable warning and freeindex increase 2019-11-12 18:28:38 +11:00
Edward Pierzchalski f067068a88 asmrefine: improve initial debugging experience.
Adds a 'debug' configuration type to the main ProveSimplToGraphGoals
functions. Configuration lets the user control which functions will be
tested, and logs which functions fail testing.

Adds a 'single step' debug tactic for use in TestGraphRefine, and
demonstrates a few useful initial ML tactic for e.g. narrowing down
which subgoals are failing, and how to inspect a successful subgoal.
2019-11-12 14:25:58 +11:00
Victor Phan 67bba7edc3 lib, x64 crefine: remove word lemma unat_ucast_8_64
unat_ucast_8_64 states that upcasting an 8 word to a 64 word does not
changes its value. We have a generic lemma for this which can be
specialised to this lemma: unat_ucast_up_simp[where 'a=8 and 'b=64,
simplified].
2019-10-30 19:09:39 +11:00
Corey Lewis 41b486365c lib: add a warning if crunch fails and top-level constant is being ignored 2019-10-15 15:07:50 +11:00
Corey Lewis b6689ba321 lib: restrict safe in core crunch tactic so that we can avoid passing around the index 2019-10-14 17:23:42 +11:00
Corey Lewis 8c3e7aa103 lib: make wp_cases_tac subgoal aware 2019-10-14 17:23:41 +11:00
Corey Lewis 96588daf92 lib: improve message printing for crunch and wp, and refactor common printing functions 2019-10-14 17:23:41 +11:00
Corey Lewis 9846cd42bb proof: update for crunch changes 2019-10-14 17:23:41 +11:00
Corey Lewis 9a9c6320be lib: various crunch improvements
The main one is that crunch now uses wpsimp when determining whether a goal
can already be solved, instead of just wp. Crunch can also now use wps
when proving a goal and will now always ignore a constant if told to, even
if it is the top-level constant being crunched.
2019-10-14 17:12:29 +11:00
Corey Lewis dd48e0d899 proof: update for wp changes
Updated 'wp_once' to 'wp (once)' and removed several stray uses of 'wp_trace'.
2019-10-14 17:12:18 +11:00
Corey Lewis 36e7fe3e50 lib: update for wp changes 2019-10-12 16:22:24 +11:00
Corey Lewis f757e0ca5b lib: wp cleanup and parser improvements
The main visible change is from wp_trace', 'wp_once' and 'wp_once_trace' to
'wp (trace)', 'wp (once)' and 'wp (once, trace)'. The option for printing a
warning for unused supplied wp rules has also been removed.
2019-10-12 16:22:24 +11:00
Victor Phan a6024fb377 x64 refine/crefine: remove vmsz_aligned' 2019-10-10 11:27:31 +11:00
Victor Phan 9938dd39da drefine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:28 +11:00
Victor Phan c143029f25 capdl: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:27:28 +11:00
Victor Phan 1522b8bdb4 infoflow: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:24 +11:00
Victor Phan 80e211b26f access: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:24 +11:00
Victor Phan de09728b6c x64 crefine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:20 +11:00
Victor Phan dbc4df6c1d arm-hyp crefine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:17 +11:00
Victor Phan bbfd9e2a82 lib: add helper lemmas 2019-10-10 11:27:17 +11:00
Victor Phan d1637c06ce arm crefine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:14 +11:00
Victor Phan 9100315c86 x64 refine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:10 +11:00
Victor Phan c5b4d0fab5 arm-hyp refine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:10 +11:00
Victor Phan 67d37f8025 arm refine: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:10 +11:00
Victor Phan dede199780 haskell-translator: remove PageRemap case conversion 2019-10-10 11:27:07 +11:00
Victor Phan 5d22c1d329 riscv haskell: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:27:04 +11:00
Victor Phan f284a0cb0e x64 haskell: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:27:01 +11:00
Victor Phan 18a12fc4a0 arm/arm-hyp haskell: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:27:01 +11:00
Victor Phan ccb5174b94 lib: add lemma hoare_vcg_disj_lift_R
Lifts a Hoare triple with disjunctions in the pre and post-conditions
into two separate Hoare triples.
2019-10-10 11:27:01 +11:00
Victor Phan 4e14c1ffcb ainvs: add invs_implies lemma, a collection of invs lemmas 2019-10-10 11:27:01 +11:00
Victor Phan fc06d03f84 riscv ainvs: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:01 +11:00
Victor Phan 89510ac172 x64 ainvs: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:27:01 +11:00
Victor Phan 10127117ee arm-hyp ainvs: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:26:53 +11:00
Victor Phan 558b2e8f37 arm ainvs: update for PageMap replacing PageRemap (SELFOUR-161) 2019-10-10 11:26:44 +11:00
Victor Phan 0ae9614d30 riscv aspec: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:26:41 +11:00
Victor Phan 2f04dc3694 x64 aspec: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:26:33 +11:00
Victor Phan 12a7c2d441 arm-hyp aspec: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:26:33 +11:00
Victor Phan c64e054c3f arm aspec: update PageMap to replace PageRemap (SELFOUR-161) 2019-10-10 11:26:33 +11:00
Victor Phan 90c0bd618f aspec doc: update for PageMap replacing Remap (SELFOUR-161) 2019-10-10 11:26:33 +11:00
MiladKetabi acbc08b836 clean-ups done during proof update for the jira issue SELFOUR-1187: seL4 setPriority should attempt a direct schedule 2019-10-06 18:31:19 +11:00
MiladKetabi d934d25269 proof update for SELFOUR-1187: seL4 setPriority should attempt a direct schedule
Prior to this commit the kernel would always trigger a full reschedule
on setPriority. This change allows the kernel to attempt a direct
switch, avoiding invoking the scheduler.
2019-10-06 18:31:19 +11:00
MiladKetabi 1a49aacc31 lib: three lemmas moved from refine theories 2019-10-06 18:31:19 +11:00
Japheth Lim de9c069473 c-parser: update changelog for license change 2019-10-02 22:19:21 +10:00