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
Gerwin Klein
c43472f1ce
c-parser: correct license for shorten_names.ML
2019-10-02 09:16:23 +10:00
Japheth Lim
f053fb0181
CamkesAdlSpec: allow ad-hoc additions to integrity policy
...
Each CAmkES assembly gets an extra field `policy_extra` to specify
extra policy edges. These are added to the default policy graph from
`policy_of`.
This feature is intended to support endpoint merging in the
`global-endpoint` CAmkES template, which could add communication
edges that were not present in the ADL.
2019-09-05 17:03:41 +10:00
Japheth Lim
a4019be323
camkes: allow specifying integrity groups
...
The new field `group_labels` specifies a mapping from ADL component
names to integrity policy labels. This will be used to support the
`group` keyword in CAmkES that allows components to share an address
space. See Jira VER-1109.
2019-09-05 17:03:41 +10:00
Japheth Lim
26f450f2f4
lib: change @{file} antiquote to @{path}
...
When extracting files for C parser and AutoCorres standalone releases,
we don't want Isabelle to fail a build when files referred to in
`@{file}` antiquotations no longer exist. Using `@{path}` avoids this
problem.
2019-09-05 14:19:14 +10:00
Japheth Lim
4f0b0558c3
autocorres: update tools for Isabelle2019 release
2019-09-05 14:18:18 +10:00
Japheth Lim
d00426a669
CamkesCdlRefine: helper lemmas for faster `policy_wellformed` proof
2019-08-27 17:08:35 +10:00
Japheth Lim
8fe0010140
CamkesAdlSpec: support `maybe uses` and `maybe consumes` interfaces
...
The CAmkES toolchain allows some interfaces to be declared optional.
We add such a flag to the ADL datatype and remove the requirement for
such interfaces to be connected.
2019-08-27 17:08:35 +10:00
Japheth Lim
6b54ecea33
camkes: further generalised connector semantics
...
This allows connectors to also grant access rights between the
from-ends themselves (and similarly the to-ends).
It was previously thought that production CAmkES systems would not
need these rights. However, some connectors (e.g. VirtQueue) don't
follow the standard ADL semantics and we need these rights to
express their behaviour. Limitations of the Access model also cause
`policy_wellformed` systems to have more rights than necessary; see
Jira VER-1108.
2019-08-27 17:08:35 +10:00
Edward Pierzchalski
ba5983d22e
lib: extend schematic instantiation tracer
...
Adds a combinator, `trace_schematic_insts_tac`, which wraps a rule-using
tactic and reports any schematic instantiations.
2019-08-27 16:12:06 +10:00
Edward Pierzchalski
8ffebe8f94
lib: add utilities for using options.
2019-08-27 16:12:06 +10:00
Edward Pierzchalski
b0cf5638fd
lib: trivial: use cartouches for ML comments.
...
Useful for antiquotations.
2019-08-27 16:12:06 +10:00
Japheth Lim
50b0f66a58
X64 CRefine: minor fixes for MCS kernel merge
...
The previous commit only updated ARM and ARM_HYP; this updates X64.
2019-08-23 15:43:25 +10:00
Japheth Lim
da2081631b
CRefine: minor fixes for MCS kernel merge
...
We need to make small adjustments because the kernel will see minor
changes to variable initialisation, even in the non-MCS build.
2019-08-22 11:22:29 +10:00
Japheth Lim
e5e4f23ca2
CamkesAdlSpec: tag Wellformed_CAMKES conditions
...
Checking an ill-formed spec can now yield a list of annotated
failures, rather than leaving a mess (or worse, just `1. False`).
2019-08-21 14:23:28 +10:00
Japheth Lim
2c3b4c24fc
CamkesCdlRefine, Lib: add debug tag for integrity policy
...
This tags each generated policy goal with the object and cap that
led to that goal.
We create a new constant `generic_tag` in Lib for this purpose.
2019-08-21 14:23:22 +10:00