History log of /seL4-l4v-master/l4v/lib/NonDetMonadLemmaBucket.thy
Revision Date Author Comments
# a45adef6 31-Oct-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

all: remove theory import path references

In Isabelle2020, when isabelle jedit is started without a session
context, e.g. `isabelle jedit -l ASpec`, theory imports with path
references cause the isabelle process to hang.

Since sessions now declare directories, Isabelle can find those files
without path reference and we therefore remove all such path references
from import statements. With this, `jedit` and `build` should work with
and without explicit session context as before.

Signed-off-by: Gerwin Klein <gerwin.klein@data61.csiro.au>


# 0cc971f4 04-Jun-2020 Rafal Kolanski <rafal.kolanski@data61.csiro.au>

lib: add lemmas from RISCV64 theories

Some improved ccorres lemmas, dealing with throw and catch, and usual
assortment of misc list/set/map lemmas.

Signed-off-by: Rafal Kolanski <rafal.kolanski@data61.csiro.au>


# a424d55e 09-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

licenses: convert license tags to SPDX


# ccb5174b 25-Sep-2019 Victor Phan <Victor.Phan@data61.csiro.au>

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.


# 1a49aacc 02-Oct-2019 MiladKetabi <Milad.Ketab@data61.csiro.au>

lib: three lemmas moved from refine theories


# 6ff1a38f 23-May-2019 Michael McInerney <Michael.McInerney@data61.csiro.au>

lib: update for Isabelle 2019


# c409f85e 19-May-2019 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib: remove obsolete theory import


# f3dca686 10-Oct-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

lib: option (reader) monad syntax and gets_map operator


# 6b9d9d24 09-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

Isabelle2018: new "op x" syntax; now is "(x)"

(result of "isabelle update_op -m <dir>")


# b5cdf470 13-Jun-2018 Gerwin Klein <gerwin.klein@data61.csiro.au>

globally use session-qualified imports; add Lib session

Session-qualified imports will be required for Isabelle2018 and help clarify
the structure of sessions in the build tree.

This commit mainly adds a new set of sessions for lib/, including a Lib
session that includes most theories in lib/ and a few separate sessions for
parts that have dependencies beyond CParser or are separate AFP sessions.
The group "lib" collects all lib/ sessions.

As a consequence, other theories should use lib/ theories by session name,
not by path, which in turns means spec and proof sessions should also refer
to each other by session name, not path, to avoid duplicate theory errors in
theory merges later.


# 587972d4 01-Feb-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

lib/wp: Standard when/unless/whenE/unlessE rules.

The rules for these conditional monadic operators have been a bit
ad-hoc until now, with frequent headaches around the whenE/throwError
pattern.

Adding standard split rules ensures these operators are treated uniformly.


# b0f2217a 14-Mar-2018 Thomas Sewell <Thomas.Sewell@data61.csiro.au>

lib/wp: Remove old wp combinator rules.

These combinator rules do something like what wp_pre does now.

They were helpful in the ancient past, but now that wp_pre exists it is
much better to just use automation.


# 877312f0 24-Nov-2017 Rafal Kolanski <rafal.kolanski@nicta.com.au>

lib: generic/word/monad/hoare lemmas from SELFOUR-242 verification

Notably useful is hoare_vcg_lift_imp' which generates an implication
rather than a disjunction.

Monadic rewrite rules should be modified to preserve bound variable
names, as demonstrated by monadic_rewrite_symb_exec_l'_preserve_names.
Addressing this more comprehensively is left as a TODO item for the
future (see VER-554).


# 796887d9 11-Jul-2017 Alejandro Gomez-Londono <alejandro.gomez@nicta.com.au>

Removes all trailing whitespaces


# 81064fdb 10-Jul-2017 Joel Beeren <joel.beeren@nicta.com.au>

idle-thread-pd: run idle thread with the global PD all the time.

This avoids the multicore scenario of the idle thread running in the
address space that has been deleted by a thread running on another core.


# 67daaea4 13-Mar-2017 Joel Beeren <joel.beeren@nicta.com.au>

x64: AInvs now done except ArchAInvsPre and KernelInit_AI


# 1d43c99a 07-Feb-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: fix Word_Miscellaneous import path

This was previously missed, because Isabelle ignores the import path
when the file is already part of a loaded image.

Reported-by: Daniel Matichuk <Daniel.Matichuk@data61.csiro.au>


# 3dafec7d 25-Jan-2017 Joel Beeren <Joel.Beeren@nicta.com.au>

backport changes to ARM proofs from X64 work in progress

- replace ARM-specific constants and types with aliases which can be
instantiated separately for each architecture.
- expand lib with lemmas used in X64 proofs.
- simplify some proofs.

Also-by: Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>


# f220406f 15-Jan-2017 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x64: fix ARM build after merge


# 47119bf4 13-Jan-2017 Gerwin Klein <gerwin.klein@nicta.com.au>

wp_cleanup: update proofs for new wp behaviour

The things that usually go wrong:
- wp fall through: add +, e.g.
apply (wp select_wp) -> apply (wp select_wp)+

- precondition: you can remove most hoare_pre, but wpc still needs it, and
sometimes the wp instance relies on being able to fit a rule to the
current non-schematic precondition. In that case, use "including no_pre"
to switch off the automatic hoare_pre application.

- very rarely there is a schematic postcondition that interferes with the
new trivial cleanup rules, because the rest of the script assumes some
specific state afterwards (shouldn't happen in a reasonable proof, but
not all proofs are reasonable..). In that case, (wp_once ...)+ should
emulate the old behaviour precisely.


# b5158e31 17-Nov-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: fix proofs involving UNION

SUPREMUM changed from a definition to an abbreviation.

A number of proofs that previously used blast, fastforce or auto to
solve goals involving UNION, now either fail or loop. This commit
includes various ad-hoc workarounds.


# 41d4aa4f 25-Oct-2016 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

Isabelle2016-1: update references to renamed constants and facts


# 7ee079db 24-Nov-2016 Joel Beeren <joel.beeren@nicta.com.au>

lib: move generic lemmas from AInvs to lib


# 879ac302 09-Nov-2016 Alejandro Gomez-Londono <alejandro.gomez@nicta.com.au>

Lib: Addition of auxiliary lemmas in basic theories to better support CRefine

* Generalized version of bind_inv_inv_comm for easier swapping inside
the nondet monad

* New ccorres_symb_exec_r_known_rv

* New zip_take lemmas for handling `take n (zip x y)` situations

tags: [VER-623][SELFOUR-413]


# 2553371a 06-Nov-2016 Joel Beeren <joel.beeren@nicta.com.au>

SELFOUR-64: Remove general Recycle operation

This removes the RecycleCap CNodeInvocation, whilst
retaining recycle behaviour for Endpoints -- now renamed
CNodeCancelBadgedSends.


# 92139db6 25-May-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

autolevity: refine tracing apply everywhere to work via Proof module hooks

This avoids doing redundant tactic operations at the top-level and lets
us trace "by" statements easily.


# 38130359 13-May-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: NonDetMonadLemmaBucket needs no words


# 54581f1c 13-May-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib/WordSetup: use the full Word_Lib entry


# f0faa90f 17-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib/spec/proof/tools: fix word change fallout


# 84b923a6 17-Apr-2016 Gerwin Klein <gerwin.klein@nicta.com.au>

lib: start disentangling spaghetti word dependencies


# d37a3447 11-Jan-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

cleanup for prod and when keyword


# b7563eb7 11-Jan-2016 Daniel Matichuk <daniel.matichuk@nicta.com.au>

fix lib for isabelle 2016


# 12fa8686 16-May-2015 Gerwin Klein <gerwin.klein@nicta.com.au>

fewer warnings


# 02c2f749 22-Feb-2015 Matthew Fernandez <matthew.fernandez@nicta.com.au>

lib: Add a hoare_assume_pre variant for validNF.


# 1af1d2b6 08-Aug-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

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


# fe36a97b 08-Aug-2014 Lars Noschinski <lars@public.noschinski.de>

Port AutoCorres to Isabelle 2014-RC0


# d52d8ad1 18-Jul-2014 Corey Lewis <corey.lewis@nicta.com.au>

Fix previous commit.


# 07b85fe0 18-Jul-2014 Corey Lewis <corey.lewis@nicta.com.au>

Move some more lemmas into lib.


# 84595f42 17-Jul-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

release cleanup


# 2a03e81d 14-Jul-2014 Gerwin Klein <gerwin.klein@nicta.com.au>

Import release snapshot.